Discover any divisions by zero, out-of-bounds array accesses, erroneous pointer manipulations, and arithmetic overflows. Find data races, inconsistent locking, and other types of errors. Easily set up the analyses to run automatically as part of your build process.
Check your code against MISRA, CWE, SEI CERT C, and ISO/IEC guidelines, or your in-house coding rules. Easily toggle and customize any rule as required. Monitor code metrics such as comment density or cyclomatic complexity, and generate reports for documentation and certification purposes.
Meet the highest levels of software assurance by compiling your application with the only C compiler that’s been formally verified to be free of miscompilation issues. All safety properties verified on the source code, e.g. with Astrée, are guaranteed to hold for the generated executable as well.
Determine the worst-case stack usage of the tasks in your application. Find any stack overflows, or formally prove the absence thereof. Quickly identify critical sections and execution paths to optimize your code’s performance.
Compute tight upper bounds for the worst-case execution time of tasks in your binary executable. No testing or measuring required — the bounds are guaranteed to hold for every possible execution scenario, any combination of inputs, all cache and pipeline states.
Constantly monitor timing behavior during software development, even at the earliest stages. Identify bottlenecks when you haven’t even settled for a particular processor derivate yet, and measurements on physical hardware are plain impossible.
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.
Simplify and automate your qualification process by using our Qualification Support Kits and Qualification Software Life Cycle Data Reports.
For information about custom-built, upcoming or discontinued products, contact firstname.lastname@example.org.