All network connections between the ALM server and its clients are now TLS-encrypted.
Upgrading your client to this release requires upgrading your ALM as well. Old client versions will continue to work with the new ALM using the non-encrypted legacy protocol.
alauncher now supports scanning for installed products in arbitrary directories
specified via the option --dir <path>
<strip-path/>
and <replacements/>
.
They are no longer needed and can be removed from DAX files.use-relative-paths
.Improved precision for:
unroll-loops-in-functions
and separate-function
now match entire function signatures instead of a prefix of function signatures.__ASTREE_modify
, __ASTREE_volatile_input
,
__ASTREE_known_range
, __ASTREE_global_assert
).x = in >> 15; out = (in << 1) - (x << 16); // 'out' is now known to be positive for positive 'in'
((a - b - c) / d) < 8;
__ASTREE_check_separate_targets
for the case that more than two arguments are given.__ASTREE_octagon_pack
with variables of pointer type
and the Boolean domain enabled.generate-undeclared-absolute-addresses
was enabled.combine="merge"
attribute.
This allows pecifying additional includes and defines for the generated preprocessor configuration
via an additional DAX file, as configured in the toolbox preferences.invalid_directive
now also warns about
__ASTREE_partition_calls
directives that have no function call
in scope.endasm
instead of end_asm
.pragma-usage
(A.5.2,
AUTOSAR.16.0.1A, AUTOSAR.16.7.1A,
M.3.4, M2008.16.6.1,
M202x-DRAFT.000213) by restricting it
to code sections included by the preprocessor.#include
.max-number-of-recursive-paths
.
It now reports which functions are involved in the recursion.unary-assign-separation
(AUTOSAR.5.2.10M,
M.12.13, M2008.5.2.10)
no longer warns about subscript operator uses in operands of increment/decrement
operations. For C++, the check treats overloaded operator calls like
built-in operators, in accordance with the latest interpretation of the
associated rules, to remove undesired alarms.unused-suppress-directive
.
now additionally reports the end location of the affected code area.unused-suppressed-directive
(B.1.2)
can now be configured to exclude source directives that are never reached by the preprocessor.cast-integer-implicit
(M.10.1)
with initializers for bit-fields and at function returncast-float-implicit
(M.10.2, X.F.27)
with initializers for bit-fields and at function returnstatic-object-zero-initialization
(AUTOSAR.3.3.2A).
It no longer warns about out-of-class definitions of static data
members without initializer if their in-class declaration features
an initializer.global-object-scope
(CERT.DCL.15, CERT.DCL.19,
M.8.10, M2012.8.7, X.B.5.5, X.F.31).
Tentative definitions (without initializer) are now considered a use of the variable as well.implicit-designation
(M2012.9.2).
In addition to the excluded values {0}
and {0U}
,
arbitrary integer constants of zero value are now excluded as well
({0UL}
, {0x0}
, etc.).global-object-scope
(CERT.DCL.15, CERT.DCL.19,
M.8.10, M2012.8.7,
X.B.5.5, X.F.31),
which did not report tentative definitions (without initializer) without further use.--concurrent-analyses-limit <int>
--set-concurrent-analyses-limit <int>
--report-only
can now also be used
for generating reports from AAF files.__ASTREE_attributes(())
can now also be used
in files that do not require preprocessing, such as the 'Wrapper and Stubs File'.annotation-insertion-failed
).var@fun@"file.c"
) is no longer restricted
to Astrée directives only. The syntax can now be used
everywhere in that file.std::vector
and std::string
to the C++ STL stubs for Astrée.
The abstract version of std::vector
does not allow the use of low-level pointer arithmetic on the underlying representation,
e.g. using the pointer returned by data()
.
The abstract version of std::string
supports efficient analysis
of strings up to a total capacity of 100 bytes. API calls
that exceed this limit raise an alarm and their effects are ignored.enum_preferred_sign
from signed to unsigned. This change also corrects the following target ABIs
with respect to the preferred sign for enums:
32-bit Intel x86
64-bit x86
32-bit ARM v6 and higher, ARM Compiler, little endian
32-bit ARM v4 or v5, ARM Compiler, little endian
16-bit C166, Tasking c166/ST10 Compiler