1.4.51. Migration to 7.2.2

1.4.51.1. Stylecheck

If you are still running stylechecks with the old stylecheck.py tool instead of axivion_analysis, then external function summaries used in iranalysis-based checks have been accidentally read from new-style configuration rules (Externals-xxx) instead of from the the configuration files listed in iranalysis.config. This has now been fixed to use these configuration files instead. The new boolean option CONFIG.IRAnalysis_Uses_Externals_Rules can be set to True to explicitly use the new-style configuration rules (Externals-xxx) without switching to axivion_analysis, and this mode has been enhanced to also deal with formerly implicit (now active-by-default) rules. Due to these fixes and improvements you may see changes in iranalysis-based results when updating.

Rule MisraC2012Directive-4.9 has been improved to properly support the setting report_at = ‘macro_invocation’. If you’ve explicitly set this, it will now report at function macro invocations instead of function macro definitions. Reporting at function macro definitions can be restored by setting this option to report_at = ‘macro_definition’ or to report_at = ‘automatic’.

1.4.51.2. Issue Representation on Analysis Side

The issue representation for cycles, dead code and clone findings now includes a field error_number as for the other issue kinds. This means, for example, that you now can suppress such issues by rule name as well. Additionally, this field can now also appear in the various outputs of axivion_analysis.

In case you’ve got custom scripts producing instances of Clone_Pair, Cycle_Finding or Dead_Entity types from bauhaus.analysis_results, these scripts now must supply a value for the new field error_number.