R2021a introduced several command-line enhancements that are essential for automation:
include:
Polyspace is a family of static code analysis products that operates at the intersection of verification and validation. Unlike traditional linting tools that perform shallow syntactic checks, Polyspace uses advanced formal methods—specifically abstract interpretation—to prove the absence of certain runtime errors in C and C++ source code. This mathematical approach allows Polyspace to explore all possible executions of a program, even those that would be impossible to trigger through conventional testing. As a result, development teams can identify issues such as buffer overflows, divisions by zero, and uninitialized memory accesses long before the software ever runs on target hardware. The R2021a release refined this already-powerful engine, adding performance improvements, deeper integration with industry standards like AUTOSAR, and new capabilities for managing code complexity.
polyspace-analysis: stage: test script: - polyspace-bug-finder -sources src/ -lang c++14 -checkers-selection "all" - polyspace-report-generator -results polyspace_results.psx -format junit -o report.xml artifacts: reports: junit: report.xml
: Users can now change the macro limit for MISRA C:2012 Rule 1.1 using the -code-behavior-specifications
Polyspace is split into two primary products, both of which received massive updates in R2021a:
Polyspace R2021a introduces , a feature that brings static analysis results directly into popular IDEs: Visual Studio, Visual Studio Code, and Eclipse. The polyspace‑bug‑finder‑access system command enables running Polyspace as You Code analyses from the command line on Windows, Linux, and macOS.
Integration with MATLAB and Simulink is more seamless, reducing the steps needed to set up analysis for generated code.
| Feature | R2020b (Previous) | R2021a (Current) | | :--- | :--- | :--- | | | Static, pre-defined filter sets | Create and share custom "families" of filters tailored to specific projects or organizations | | Review Layout | Single, fixed layout | Dual layouts: "Code Review" (prioritizes source code) or "Results Review" (prioritizes results list and details) | | Trend Analysis | Compare runs, but fixed findings required opening a separate tab | Filter for findings fixed in the current run and view source code directly within the comparison view | | Jira Integration | Limited Jira support | Full support for Jira projects configured with single select custom fields | | License Usage | Each results upload triggered a license checkout | Results upload no longer consumes a license, reducing costs for automated CI/CD scripts | | LDAP Pagination | Limited LDAP support | Pagination support for retrieving large user sets from LDAP servers | | Admin Logging | Manual page refresh required to view new log events | Logs automatically refresh in the Admin interface |
: Prospective users can access free trials to evaluate Polyspace R2021a's capabilities firsthand.
Before dissecting the R2021a update, it is crucial to understand the two core products within the Polyspace family:
R2021a expanded its IDE ecosystem support: