ValueAnalyzer is a static program analyzer for value analysis. It is particularly useful for verifying the absence of illegal accesses to an embedded software system from within third-party modules provided as object code.
When developing complex safety-critical software systems, it is not unusual for the developer to integrate third-party object code in it. However, it is usually difficult to verify whether such code only does what it is supposed to do and nothing else.
Possible problems with third-party code are:
- it might read variables it may not read
- it might write variables it may not write
- it might call functions it may not call
Common reasons for such illegal accesses to your system by third-party code are:
- programming errors (e.g., an iterator exceeds an array limit)
- non-compliance with specifications
- compiler or linker errors
Illegal accesses may cause problems in the field. Additionally, license or liability issues can arise.
ValueAnalyzer provides the solution to this problem. It statically analyzes third-party object code and reports any violation of your spec.
- The analysis is fully automatic and valid for all inputs. No input patterns need to be provided.
- The analysis performed by ValueAnalyzer is conservative, i.e. the results are safe. All illegal accesses that are present will also be reported.
- Supplied third-party software can be analyzed right away. It does not have to be integrated on the ECU.
- ValueAnalyzer can also be combined with other analysis tools from AbsInt (for example, StackAnalyzer for stack usage analysis) in a single intuitive user interface called a³.