Release 2022a of Polyspace® products adds improvements that enable you to run faster, more accurate analyses and review results more efficiently. You can now:
- Run a faster bug finder analysis by recompiling only files that you edited since the last analysis
- Track files to analyze and view information about your analysis more easily in your code editor
- View aggregated information of many subprojects faster by selecting their parent folder in the Polyspace Access™ web dashboard
- Check your code for violations of additional rules from the AUTOSAR C++14, CERT C++, and CWE coding standard
- Manage Polyspace Access projects at the command line or as part of an automation script
Learn more about these and other features below.
Run Incremental Mode During the Compilation Phase of a Bug Finder Analysis
Polyspace Bug Finder™ and Polyspace Bug Finder Server™ provide a new -incremental
option that speeds up the compilation phase of analysis by recompiling only what is necessary instead of the full project. When you use this option, Polyspace will recompile:
- Only source files that have changed since the previous analysis
- If a header file has changed since the previous analysis, any source file that includes this header
- All files if you change one or more analysis option
If you analyze large projects in the incremental mode, the compilation phase runs faster by reusing information from the previous compilation.
Use Dedicated Views to Monitor Code Quality and Track Analysis Status in VSCode
The Polyspace extension for Visual Studio Code features new views in the sidebar that let you open relevant settings or documentation in a single click. In these views, you can:
- Track files to analyze and view analysis status
- View additional information about a finding that you select in the editor or output panel, including the traceback when available
- View the current baseline settings and, if you use a baseline, the status of the baseline download
- View the current Analysis Options settings and the status of the generated build options file, if applicable
When you review Polyspace findings in Visual Studio Code, you can mass-justify findings of the same defect or coding rule violation with a single click. If the analysis finds a known or acceptable defect or coding rule, you can justify all instances of that finding in your file.
Polyspace Access Dashboard Redesign and Improved Performance
In R2022a, the redesigned Polyspace Access dashboard has a modern look and offers consistency across the various dashboard features, enabling more efficient reviews.
Compared to previous versions, Polyspace Access dashboards load faster when reviewing data of a folder with many subprojects. The dashboards are up to an order of magnitude faster when loading data from a folder containing hundreds of subprojects.
Increased Support for Various Coding Standards and New Checkers
In R2022a, Polyspace Bug Finder supports additional rules for supported coding standards.
- AUTOSAR C++14: Polyspace supports 18 new rules and checks for 363 AUTOSAR C++14 rules
- CERT C++: Polyspace checks 5 new rules that flag violations associated with error handling, invalid references to the elements of a container, or issues with the use of predicates
- CWE: Polyspace checks for violations of 8 new CWE rules about class access, exceptions, and other issues
Also, Polyspace introduces new checkers that check your code for inefficient string methods, critical data leaks, improper exception handling, and other issues.
For a complete list of new checkers and coding standard rules, see Polyspace Bug Finder Release Notes.
Manage Polyspace Access Projects Programmatically
The polyspace-access
command supports additional functionalities that let you manage Polyspace Access projects at the command line or as part of an automation script. With the new capabilities, you can:
- Apply or view currently used Software Quality Objective definitions and levels for a project
- Move, rename, or delete a project
- Add or remove project labels, which let you track project runs of interest more easily, or to associate a run with a particular branch or continuous integration build job
- See a list of runs that you uploaded to a project
Other Features
R2022a offers other improvements such as:
- Native support for Clang compilers version 6.x to 11.x
- Simplified workflow to update code generated with Simulink® when you update a model
- New code behaviors that you can flag in your code when you specify the behavior with the option
-code-behavior-specifications
- Improved support for non-finite numbers when analyzing code generated by MATLAB Coder™
- Flagging of previously justified results to run a worst-case scenario analysis
- New analysis mode that offers more accurate Code Prover™ analysis results when prior code instructions involve pointers, using the option
-increase-pointer-analysis-precision
For more information, see these release notes: