Polyspace®

Quality. Safety. Security.

Polyspace – a product developed by MathWorks – is a static code analysis tool used to detect vulnerabilities and critical run-time errors for C, C++, and Ada programming languages, and to proof-check whether your source code follows appropriate code standards.

Polyspace key features

  • Polyspace Bug Finder™ identifies software bugs, concurrency issues, run-time errors, and other C and C++ source code defects. It analyzes data flow, interprocedural behavior, and software control by performing static program analysis. The tool checks code compliance with coding rule standards, safety standards, and code metrics, and document compliance with MISRA, IEC 61508, ISO 26262, DO-178, and FDA regulations. 
  • Polyspace results can be traced back to Simulink® models, Speedgoat, and dSPACE® TargetLink® blocks for automatically generated code.
  • Polyspace Code Prover™ examines C and C++ source code correctness for the presence of run-time errors such as overflow, buffer overrun, division-by-zero, out-of-bounds array access, and others. The tool checks every code instruction and provides a formal diagnostic for each operation under normal and abnormal usage conditions. 
  • Polyspace Client™ for Ada and Polyspace Server™ for Ada formally verify the absence of run-time errors in Ada source code by using static code analysis. The tools track software quality metrics and ensure the delivery of software quality objectives.

Industries

Automotive

Shape tomorrow's mobility

MATLAB, Simulink, COMSOL Multiphysics, and Speedgoat can help engineers streamline their development processes and deliver products that minimize environmental impact while improving operational safety, increasing performance, and delivering new comfort levels.

Automotive engineers use MATLAB, Simulink, Comsol Multiphysics, and Speedgoat

Electronics

Design, simulate, test, and evaluate electronics systems

Engineers use MATLAB, Simulink, COMSOL Multiphysics, and Speedgoat to develop more efficient methods of producing, storing, and utilizing electrical resources.

Electronics industry - SciEngineer

Biotech and Pharmaceutical

Take your pharmaceutical research and development to the next level.

MATLAB, Simulink, and COMSOL Multiphysics allow biotech and pharmaceutical companies to advance the design and optimization of pharmaceutical production, develop algorithms, process multidisciplinary data, easily manage their entire workflows, and perform modeling and simulation for drug discovery and development.

Biotech and Pharmaceutical - SciEngineer

Communications

Design, simulate, and prototype communications systems.

MATLAB, Simulink, COMSOL Multiphysics, and Speedgoat make it possible for engineering and R&D teams to swiftly and accurately design, simulate, and verify communications systems

Application

Products

Polyspace Access
Polyspace Access
Identifies coding defects, monitors software quality metrics, and reviews static analysis results.
Learn more
Polyspace Code Prover
Polyspace Code Prover
Formally prove the correctness of your code without executing it.
Learn more
Polyspace Bug Finder
Polyspace Bug Finder
Identify run-time errors, data flow problems, and other defects in C and C++ embedded software.
Learn more
Polyspace Client for Ada
Polyspace Client for Ada
Verifies the absence of overflow, divide-by-zero, and other run-time errors in your source code.
Learn more
Polyspace Code Prover Server
Polyspace Code Prover Server
Confirms the absence of run-time errors.
Learn more
Polyspace Server for Ada
Polyspace Server for Ada
Verifies code on computer clusters and publishes metrics.
Learn more
Polyspace Bug Finder Server
Polyspace Bug Finder Server
Identifies software defects via static analyses.
Learn more

Licenses

Frequently Asked Questions


  • What Polyspace Access does?

    Polyspace Access is a platform that lets you check your code quality throughout the software development life cycle. It’s a central place to identify coding defects, review static analysis, and monitor software quality metrics.

  • Can I install Polyspace separately from MATLAB or Simulink?
    Starting from R2019a, Polyspace Bug Finder and Polyspace Code Prover are standalone products that can be installed independently of MATLAB and Simulink. However, integration with MATLAB/Simulink requires additional steps.
    To install Polyspace R2019a or later, follow these steps:
    1. Download the MathWorks Installer
    2. Launch the installer and log in to your MathWorks account when prompted.
    3. In the installer, select your “Polyspace Desktop,” “Polyspace Server,” or “Polyspace Test” license. Contact your local MATLAB license administrator if no Polyspace license is available.
    4. Follow the remaining instructions to install the Polyspace products.
  • How does Polyspace help find bugs in code?

    Polyspace Bug Finder uses static analysis including semantic analysis to look at software control, data flow and interprocedural behavior. By finding defects early you can triage and fix bugs at the beginning of the development process.

  • What is Polyspace Code Prover?

    Polyspace Code Prover uses static analysis and abstract interpretation based on formal methods. It can be applied to handwritten code, generated code or a combination of the two. Each operation is color coded to show if it’s free of run-time errors, proven to fail, unreachable or unproven.

  • What is Polyspace Test?
    Polyspace Test provides tools to develop, manage and execute unit and integration tests for C and C++ code in embedded systems. You can create tests using the Polyspace xUnit API or a graphical editor, with stubs or mocks to isolate and verify code. Tests can run on host computers or embedded targets and be linked to requirements for traceability.
    It includes code coverage analysis (e.g., decision, condition, MC/DC) and automatic test generation for full coverage and boundary testing. The Polyspace Test comes with a common user interface which allows you to configure, run and review static analysis results to ensure test robustness. Industry standard support is available through IEC Certification Kit (ISO 26262, IEC 61508) and DO Qualification Kit (DO-178).
  • How do I use Polyspace with Simulink?
    We can integrate Polyspace with MATLAB and Simulink to analyze Generated Code.
    To connect your MATLAB and Polyspace installations, follow these steps:
    1. Launch MATLAB with administrator privileges.
    2. (For versions prior to R2021a) Navigate to the directory polyspaceroot\toolbox\polyspace\pscore\pscore\, where polyspaceroot is the folder where Polyspace is installed, e.g., C:\Program Files\Polyspace\R2019a.
    3. In the MATLAB command prompt, enter: polyspacesetup(‘install’)
    4. A prompt will appear informing you that the workspace will be cleared and all open models closed. Click “Yes” to proceed. The process may take a few minutes.
    5. Restart MATLAB.
  • Can Polyspace be integrated into CI/CD?
    Yes, Polyspace can be integrated with CI/CD workflows, including Jenkins and Bamboo, to automate static code analysis or dynamic testing. So you can find and fix code defects early.
    Polyspace in your CI/CD pipeline means continuous compliance to quality and safety standards, reducing the risk of runtime errors and making your software more reliable.

Blogs and user stories

Learn about MATLAB, Simulink, COMSOL Multiphysics, and Speedgoat from enthusiastic developers and engineering experts devoted to redifining the limits of science.


MATLAB and Simulink for Automotive

MATLAB and Simulink for Automotive

Discover how MATLAB and Simulink drive automotive innovation. Learn how these tools expedite vehicle development and help OEMs meet evolving market demands.