Run Polyspace static analysis from within the VectorCAST dynamic test environment

Description

Make Embedded Software Testing More Reliable

Reduce the time, effort, and cost to validate your software for safety-critical industries such as avionics, medical devices, automotive, industrial controls, and railway. Rigorous testing is more than just good software development practice; it is a critical part of the software certification process. Traditionally, embedded software testing is a tedious and labor-intensive process. VectorCAST automates the tasks associated with unit, integration, and system testing of C, C++, and Ada applications, resulting in measurable reductions in cost and measurable improvements in quality.

Capture Source Code Coverage During Software-in-the-Loop Testing

Software-in-the-loop (SIL) simulation captures the behavior of the generated C code in the simulator environment of the target controller. The simulated results and the model-in-the-loop (MIL) simulation results should be identical. If they are not, the results can be used to evaluate the cause of deviation.

When developing software for a safety-critical standard, one of the artifacts required is structural code coverage. The VectorCAST/Cover integration with Simulink allows users to measure code coverage from the source code that has been executed when conducting SIL testing.

VectorCAST/C++ will work with code generated by Embedded Coder from Simulink models. VectorCAST can analyze the Simulink model to automatically build a unit-test framework for the generated code. It can then analyze the execution data from MIL testing to create unit-test cases for validating the generated code inside a unit-test environment. The resulting VectorCAST environments can then be expanded for testing additional scenarios that were impractical in MIL testing.

Finally, the unit-test environments can easily be used for SIL or processor-in-the-loop (PIL) testing seamlessly. Any updates to the Simulink model or the associated data to validate the model can automatically be converted into VectorCAST test cases.

VectorCAST collects a complete profile of the test environment, including source file location and compiler options, and leverages that information to launch Polyspace. After launch, Polyspace performs an exhaustive static analysis–based verification for the presence—or absence —of run-time errors in the code. Potential errors found by Polyspace products can be used by VectorCAST to automatically build the test harnesses and test cases necessary to isolate and validate the code. Polyspace products also provide function and variable range data that VectorCAST can use to ensure code coverage. The VectorCAST integration works with Polyspace Bug Finder, Polyspace Code Prover, Polyspace Client for Ada, and Polyspace Server for Ada.