Make your code safe. Every step of the way.

Astrée — static runtime error analysis

Check your C or C++ code for runtime errors with Astrée.

Discover any divisions by zero, out-of-bounds array accesses, erroneous pointer manipu­lations, and arith­metic overflows. Find data races, in­consistent locking, and other types of errors. Easily set up the analyses to run automatically as part of your build process.

RuleChecker — automatic checks for adherence to coding standards

Verify coding guidelines with RuleChecker.

Check your C or C++ code against MISRA, CWE, SEI CERT, ISO/IEC, and AUTOSAR guide­lines, or your in-house coding rules. Easily toggle and customize any rule as needed. Monitor code metrics such as com­ment den­sity or cyclomatic complexity, and generate reports for documentation and certification purposes.

CompCert — verified compilation

Compile your code with CompCert.

Meet the highest levels of software assurance by compiling your appli­cation with the only C compiler that’s been formally verified to be free of miscompilation issues. All safety properties that you verify on your source code, e.g. with Astrée, are guaranteed to also hold for the generated executable.

StackAnalyzer — static stack-usage analysis

Check your stack usage with StackAnalyzer.

Determine the worst-case stack usage of the tasks in your ap­pli­ca­tion. Find any stack overflows, or formally prove the absence thereof. Quickly identify critical sections and execution paths to optimize your code’s performance.

Analyze the execution time with aiT, TimeWeaver or TimingProfiler.

aiT — static timing analysis

aiT WCET Analyzers

Compute tight upper bounds for the worst-​case execution time of tasks in your binary ex­e­cut­able. No testing or measuring required — the static analysis guarantees that the computed bounds hold for every possible execution scenario, any combination of inputs, all cache and pipeline states.

TimeWeaver — hybrid WCET analysis based on execution traces

TimeWeaver

Benefit from the efficiency and safety offered by static analyses even when working with processors that are too complex to model — by combining static path analysis with timing measurements obtained from real-time instruction-level tracing.

TimingProfiler — exploring timing effects at early design stages

TimingProfiler

Constantly moni­tor timing behavior during software devel­opment, even at the earliest stages. Identify bottlenecks when you haven’t even settled for a particular processor derivate, and measurements on physi­cal hardware are plain impossible.

Qualification support

Qualify for ISO 26262, DO-178B/C, IEC-61508,
EN-50128, IEC-60880, DO-333,
IEC-60188, ISO 25119, FDA

Simplify and automate your qualification process by using our Qualification Support Kits and Qualification Software Life Cycle Data Reports.