Astrée Release 12.04 -------------------- New features ------------ * Analysis queue Analysis requests can now be queued. Requests in the queue run automatically as soon as they reach the first position, i.e., when all previous requests are finished, and the server has free resources. * Extended XML report Astrée can now generate an extended XML report that contains all relevant information of an analysis run in a form that is convenient for machine processing. The report can be generated in batch mode as well. The extended XML export is also covered by the Qualification Support Kit. * QSLCD Released QSLCD (Qualification Support Life Cycle Data) report documenting compliance of tool development to safety standards. * Automatic extraction of directives Astrée now supports the automatic extraction of directives that have been inserted into the source code and their conversion into external AAL directives. General improvements -------------------- * Alarm type B has been removed. Such alarms are now classified as type A alarms. * The semantics of the traffic lights has been adapted to better reflect the alarm severity. The new semantics is: - red: at least one error - yellow: no errors, but at least one alarm of Type A - yellow and green: no errors and no Type A alarms, but at least one alarm of Type C - green: no errors and no alarms An alarm is a potential runtime error with either: - an unpredictable result (Type A), or - a predictable result (Type C) An error is either: - a Type A alarm that definitely occurs in some context, or - a fatal error in the analysis (e.g., a parse error due to incorrect input) * The message category "WARNING" has been replaced by the new category "NOTE" in order to avoid confusion between user notifications and messages about potential runtime errors ("ALARM"). * Improved error handling for AAL annotations. * Parser filters are no longer applied to the wrapper and stubs file. Options ------- * The option "warn-sideeffects" is now deactivated by default. * New batch mode option "--xml-report-file <filename>" for generating the extended XML export. * In batch mode, the parameters "--id" and "--import" can now be used simultaneously for overwriting an existing analysis project with an analysis imported from an AAF file. Directives ---------- * The "__ASTREE_partition_control" directive now also works for assignments. This is useful for assignments of the form "bool_var=condition" that are equivalent to "if (condition) bool_var=1; else bool_var=0". * The "__ASTREE_initialize" directive now removes NaN when used on floating point variables. * The "__ASTREE_exit" directive now also reports the context in which the directive is reached. Analyzer -------- * The automatic zero initialization of large global variables has become much faster. * Improved the detection of some digital filters. * Added support for pointer type conversions in ternary expressions. * Improved support for struct initializers. * Astrée now also raises alarms when NaN floats are used in comparisons (==, !=, <, >, <=, >=). * Function calls with argument mismatch are now analyzed instead of just reporting an alarm. This improves the coverage of the analysis. The analyzer still reports alarms for such cases. GUI --- * Newly imported AAL annotations can now also be appended to an existing list of annotations. * Pointer values are now displayed in hexadecimal format if they may point to at least one absolute address. This applies to the display of pointers in tooltips and in the watch window. * The results of filters (accessible via Ctrl+F in some views) can now be inverted to display only items that do not match the filter criteria. * The Parser view has been reorganized to allow more convenient filtering. * Filtered regular expressions are now marked in the editor. Server ------ Added support for the administration of multiple Astrée servers on the same machine using the server controller interface. QSK --- * Added tests for validating that value ranges computed by Astrée are correct. * The new extended XML report is now also validated. Bug fixes --------- * Fixed intermediate representation to handle multiple for loops with declarations in the same function. * Fixed cases of missing source line information in error messages. * Fixed corner cases in the parser filter. * Fixed cases where the original source line information was lost. * Fixed analyzer crashes in cases of missing function declarations. * Fixed constant propagation and the handling of bit-fields. * Fixed handling of special characters in regular expressions of parser filters. * Fixed report file generation in batch mode. * Deprecated option keys have been removed from the output of the analyzer. ============================================================================== Last modified on 10 April 2012 by alex@absint.com. Copyright 2012 AbsInt. http://www.absint.com/ ============================================================================== An HTML version of these release notes is available at http://www.absint.com/releasenotes/astree/12.04/