MathWorks Polyspace Embedded Software Verification Tools

MathWorks has updated their Polyspace embedded code verification tools. Polyspace code verifiers detect and prove the absence of overflow, divide-by-zero, out-of-bounds array access, and other run-time errors in source code. Polyspace features improved metrics web dashboard, automated scheduling of verification jobs, e-mail notification and increased code metric support. The MathWorks tools help engineers to select and track embedded software quality metrics and thresholds. Polyspace is ideal for automotive, aerospace, defense, industrial automation, and machinery applications.

MathWorks Polyspace Embedded Software Verification Tools

Polyspace Embedded Code Verification Highlights

  • Detect difficult to find run-time errors in C/C++ and Ada
  • Enforce MISRA C, MISRA-C++ or JSF++ (Joint Strike Fighter Air Vehicle C++) coding standards
  • Track software quality metrics and ensure that your software quality objectives have been met
  • Formally prove the absence of specific run-time errors (by abstract interpretation)
  • Create artifacts for certification to DO-178B, IEC 61508, and ISO 26262
  • Verify handwritten or generated code from MathWorks Real-Time Workshop Embedded Coder (Simulink), dSPACE TargetLink, or IBM Rational Rhapsody

Polyspace uses static analysis that is formal methods based (with abstract interpretation) to verify C/C++ or Ada. Engineers can use it to perform static code analysis and code verification of embedded software that is handwritten or generated. Polyspace can also be used to check compliance to coding standards and to measure software quality.

The Polyspace metrics web dashboard helps software developers define relevant metrics and thresholds, such as code metrics, MISRA-C and run-time error metrics. It also provides the ability to track progress of these metrics through the verification process and to compare differences in quality in each code revision. Polyspace also offers integration with nightly processes and email systems, helping to automate the process of continuous verification. Engineers can reduce the iterative work of manual verification tasks, allowing them to focus on higher-level verification tasks such as addressing new issues arising between two versions of the same code.

More information: MathWorks