Astrée and RuleChecker release 24.10

Improved precision

Options

Directives

Taint analysis

Toolbox for TargetLink

Added support for TargetLink on Linux.

Other improvements

RuleChecker

Rule sets and checks for C

Rule sets and checks for C++

Added support for the MISRA C++:2023 rules M2023-CPP.10.2.3, M2023-CPP.15.1.4, and M2023-CPP.18.3.1.

Rule sets and checks specific to Astrée

Enhancements, clarifications, refinements, and fixes

Both C and C++

C code

C++ code

Server and server controller

Client GUI, batch mode, and report files

Custom reports

Comments

Frontends and preprocessor

Stub libraries, ABIs, OS and compiler configurations

Qualification Support Kits

The default report file location is now based on the QSK installation path, and no longer on the current working directory.

New test cases in the Astrée QSK

  • qk_alarm_cxx_pure_virtual_call
  • qk_alarm_cxx_exception
  • qk_alarm_cxx_invalid_this_pointer
  • qk_alarm_cxx_invalid_usage_of_iterator

Astrée QSK test cases extended to C++

  • qk_alarm_dangling_pointer_use
  • qk_alarm_deadlock
  • qk_alarm_infinite_loop
  • qk_alarm_invalid_dynamic_memory_allocation
  • qk_alarm_invalid_interval
  • qk_alarm_invalid_memory_operation
  • qk_alarm_invalid_pointer_arithmetics
  • qk_alarm_invalid_usage_of_concurrency_intrinsic
  • qk_alarm_invalid_usage_of_os_service
  • qk_alarm_user_defined
  • qk_alarm_read_write_data_race
  • qk_alarm_taint_sink
  • qk_alarm_uninitialized_variable_use
  • qk_alarm_write_write_data_race
  • qk_alarm_wrong_argument_count
  • qk_directive_absolute_address
  • qk_option_precise_priorities
  • qk_option_state_machine_on_local_booleans
  • qk_option_switch_based_state_machine
  • qk_option_warn_on_data_race
  • qk_option_warn_on_deadlocks

New test cases in the RuleChecker QSK

  • qk_check_exception_propagation_outside_catch_all
  • qk_rule_m2023_cpp_18_3_1