Directives can now be separated from the source code. The new AAL annotation language allows to identify source code locations based on the program structure.
64-bit integer types are now fully supported by Astrée.
The restrictions on gotos have been removed. Astrée can now also analyze code that contains backward gotos.
Astrée finds and reports read accesses to uninitialized
variables. The corresponding alarms can be enabled and
disabled by the option warn-on-uninitialized=[yes|no]
.
The analyzer can now produce warnings whenever a variable
changes its value to full range. This feature is controlled
by the new option warn-on-fullrange=[yes|no]
.
Astrée now takes into account TargetLink’s /* CTO */
comments in order to improve the detection of compute-through-overflow
computations and to reduce the number of false alarms
in TargetLink-generated code. This feature is controlled
by the new option honor-cto-comments=[yes|no]
.
__ASTREE_partition_control
directive now also works for switch statements.__ASTREE_known_fact
directive has been generalized for pointers.true
, false
, and undecided
using the new __ASTREE_comment
directive.__ASTREE_loop_unroll
directive now also works for for-loops
with variable declarations.__ASTREE_import_types
allows to import types
from project source files into the Global directives view. This significantly
simplifies specifying global directives.warn-volatile-ignore=[yes|no]
controls whether
Astrée issues a warning whenever the C volatile keyword is ignored.
The new option is disabled by default to avoid too many warnings.quick-widening=[yes|no]
controls whether the
analyzer may enter the quick widening mode.strcpy
implementation in the example C stub library.