Static Analysis

Static Analysis with

Static Analysis

Static Analysis with

Unsurpassed Accuracy: Source code analysis with QA-MISRA

Static analysis continuously detect and report on software defects, language implementation errors, inconsistencies, dangerous usage, coding standard violations, and security vulnerabilities.

Prevent costly mistakes – detect defects early

QA-MISRA identifies software defects in the source code at the first stage in the development cycle. By catching bugs as they occur, the cost and effort needed to resolve them is significantly reduced.

C/C++ source code is analyzed and more than 900 potential problems are reported on. Static analysis with QA-MISRA automatically identifies dangerous structures, problems with reliability, maintainability and portability.

Produce clean code with predictable behaviour

Even ISO-standard-compliant software can behave differently than expected because not everything that can cause problems later in the development process is classified as incorrect by safety standards. This is why static analysis with QA-MISRA also shows problems with your code that are often overlooked by developers and compilers. Testing in QA-MISRA is fully automated saving valuable developer resource.

Monitor your codebase – comprehensive configurable reporting

Comprehensive reporting helps you to find problems, showing where to take a closer look and identifying areas where the most work is needed. 

Compliance Report
Identifies areas that need more work to attain a higher compliance level

Classification Report
The rule violations detected by QA-MISRA are classified by the users and listed in the classification report

Metric Report
Provides metrics data as Text, HTML and CSV files

Constraint Violations

QA-MISRA can help you find errors in your code where the syntax is correct but semantically it is incorrect, unspecified or undefined. In some cases this can cause compilers to produce errors and stop, however QA-MISRA can also detect errors that do not prevent a compiler from working.

Analysis across several modules

QA-MISRA identifies non-compliant behaviour that a linker cannot resolve. Recursions as well as contradicting declarations of external objects and functions in the entire project are easily detected.

Guarantee portability – consistency across platforms

QA-MISRA keeps code consistent across compilers and platforms, while recognising the limitations of the ISO-standard, language extensions and behaviour defined by the implementation.

Conversions

QA-MISRA determines implicit conversions between file types (default arguments, integral promotion, function returns).

Redundancies

QA-MISRA detects unused variables, functions and parameters as well as conditions under which the result is unchangeable (always true or always false).

Statements and Operations

QA-MISRA detects suspicious comparison operations including the use of incorrect types and can find constructions that while allowed, are likely to be misleading or difficult to understand and maintain.

Naming Conventions

QA-MISRA encourages the use of uniform terms that are specified by regular expressions. All identifier features can be checked.