RuleChecker is a static analyzer that automatically checks your C or C++ code
for compliance with MISRA rules, CERT recommendations, and other coding guidelines.
RuleChecker primarily targets safety-critical embedded applications,
but can also be used to analyze any structured programs, handwritten
or generated, with complex memory usages, dynamic memory allocation, and recursion.
- MISRA 2004
- MISRA 2012
- MISRA 2012 Amendment 1
- MISRA 2012 Amendment 2
- MISRA AC AGC
- MISRA C++:2008
- MISRA C++:202x-DRAFT
- SEI CERT Secure C
- SEI CERT C++
- MITRE CWE (Common Weakness Enumeration)
- ISO/IEC TS 17961:2013 (C Secure Coding Rules)
- ISO/IEC 9899:1999 diagnostics
- Adaptive AUTOSAR C++14
- Joint Strike Fighter Air Vehicle C++ Coding Standards
- HIS metrics
- Customizable style rules for all C identifiers
- Your very own in-house coding guidelines (on request)
- Easy configuration, allowing you to toggle individual rules and even specific aspects of certain rules.
- Exceptionally fast analyses for complex real-world programs with hundreds of thousands lines of code.
- Various statistics and code metrics, such as comment density or cyclomatic complexity.
Optional checks for metric thresholds.
- Interactive graphs, charts, and tables for efficient exploration of the analysis results.
- Customizable reports for documentation and certification purposes.
Batch mode for use in continuous integration frameworks.
Plugins for TargetLink,
ARM Keil µVision.
- Seamless integration with the runtime error analyzer Astrée
to guarantee zero false negatives and minimize false positives on semantical rules.
Your usage of RuleChecker can be qualified according to DO-178B/C,
ISO 26262, IEC-61508, EN-50128, IEC-60880, DO-333, IEC-60188, ISO 25119,
the FDA Principles of Software Validation, and other safety standards.
We offer a special Qualification Support Kit
that simplifies and automates the qualification process.
Who uses RuleChecker?
The global automotive supplier Helbako in Germany
is using RuleChecker to demonstrate MISRA compliance
of their electronic control software.
MTU Friedrichshafen is using RuleChecker
to demonstrate the correctness of control software for emergency power generators
in power plants.
Bosch Automotive Steering replaced their legacy tools with Astrée and RuleChecker,
resulting in significant savings thanks to faster analyses, higher accuracy, and optimized licensing and support costs.
Distalmotion uses RuleChecker on a daily basis for medical device development.
It helps the software team to assess and improve the quality and compliance of the code driving Distalmotion’s
safety-critical robotic surgery platform.
On the lookout for an SCA tool for their AUTOSAR Adaptive applications
for a German OEM, Luxoft found RuleChecker to be the only static analyzer on the market that’s
easy to set up on a complex toolchain with a build process partly executed within virtual
machines. At Luxoft, RuleChecker validates code compliance with the C++ AUTOSAR Adaptive platform
guidelines and HIS metrics, thus elegantly fulfilling their quality targets.
It successfully integrates with a Jenkins CI server where it
generates automatic reports for every single change in the code,
as well as with multiple AUTOSAR Adaptive toolchains from different vendors.
Moving toward releasing the first MISRA-compliant
embedded database system, McObject incorporated RuleChecker into its software production
and realized immediate benefits with respect to the stability and traceability of the code.
- We offer RuleChecker bundled with Astrée,
our tool for static runtime error analysis of C and C++ code.
RuleChecker as a standalone tool is available from our partner
QA Systems, re-branded as QA-MISRA for that purpose.
- Also available is a bundle of QA-MISRA with
a tool for automated dynamic unit and integration testing
for C and C++.
You can try out both RuleChecker and Astrée on your own code for a period of 30 days.
Start your free trial today, complete with online training
and tech support.
A free trial of QA-MISRA can be requested at qa-systems.com/start-trial.