Differences in Configuration Options Between Polyspace Projects and Polyspace Platform Projects
Polyspace Platform is an integrated environment that supports static analysis and dynamic testing of C/C++ code with Polyspace® products. Since R2023b, Polyspace Platform provides a common infrastructure and user interface for setting up and running all Polyspace products. The standard Polyspace user interface supports only the static analysis products, Polyspace Code Prover™ and Polyspace Bug Finder™.
If you switch from the standard Polyspace user interface to the Polyspace Platform user interface, you might notice some minor differences in options from what you were used to in the older user interface. This topic lists the differences in configuration options between a project created in the Polyspace Platform user interface and one created in the standard Polyspace user interface.
Differences in Configuration Layout
A project configuration in the standard Polyspace user interface looks like the following image. The analysis options in the configuration are distributed across several nodes such as Target & Compiler, Inputs & Stubbing, and so on.
A project configuration in the Polyspace Platform user interface looks like the following image.
The analysis options are grouped into these tabs:
Project — This tab contains analysis options that apply to the entire project. For example, you can specify the source encoding for the source files in you project in this tab.
Build — This tab contains options that are not specific to a Polyspace product. For instance, the options on the Target & Compiler node allow you to specify a C++ standard version. The standard version is used when compiling your code and tests with Polyspace Test™ or when performing static analysis with Polyspace Bug Finder or Polyspace Code Prover.
Static Analysis — This tab contains options that apply to the static analysis products, Polyspace Bug Finder and Polyspace Code Prover. On this tab:
The Defects and Coding Standards node and the nodes below contain options that apply to Bug Finder only.
The Run Time Errors node and the nodes below contain options that apply to Code Prover only.
The remaining options apply to both Bug Finder and Code Prover.
Testing & Profiling — This tab contains options that apply only to Polyspace Test.
Differences in Options
The following sections list options in the standard Polyspace user interface that appear differently in a Polyspace Platform project. The options are grouped below based on configuration nodes in the standard Polyspace user interface.
Target & Compiler
This node appears on the Build tab in a Polyspace Platform project configuration. All options are unchanged exception the following.
Option in Polyspace Project (.psprj file) | Option in Polyspace Platform Project (.psprjx file) | Details |
---|---|---|
Compiler | Compilation toolchain (Static analysis) | Option renamed. For these compilers, the compiler is paired with multiple targets in separate entries:
Pick the entry appropriate for your target. For all other compilers, you can specify the target using the option Processor. |
Target Processor Type | Processor | Option renamed. This option applies to compilers other than the ones mentioned in the previous row. For compilers mentioned in the previous row, pick a target by selecting a compiler-target pair from the list for Compilation toolchain (Static analysis). |
Division round down | Round down results of negative integer division | Option renamed. |
Signed right shift | Shift right on signed integers as arithmetic shift | Option renamed. Also, converted from dropdown to a check box. The dropdown values are remapped as follows:
|
Management of size_t | Type of size_t | Option renamed. This option is available only when you edit processor details using the option Processor. |
Management of wchar_t | Type of wchar_t | Option renamed. This option is available only when you edit processor details using the option Processor. |
Block char16/32_t types | Removed | The option was useful for versions of GCC older than 4.7 and are not required anymore. The option can still be used as an advanced option ( |
Enum type definition | Underlying type of enum | Option renamed. This option is available only when you edit processor details using the option Processor. |
Ignore pragma pack directives | Removed | The option is typically required only by Technical Support for troubleshooting. The option can still be used as an advanced option ( |
Sfr type support | Not available | You can enter the option as an advanced option ( |
Macros
This node no longer exists in a Polyspace Platform project configuration. The options on this node have been migrated as follows.
Option in Polyspace Project (.psprj file) | Option in Polyspace Platform Project (.psprjx file) | Details |
---|---|---|
Preprocessor definitions | Preprocessor definitions | Option moved to Target & Compiler node (Build tab) |
Disabled preprocessor definitions | Disabled preprocessor definitions | Option moved to Target & Compiler node (Build tab) |
Environment Settings
This node appears on the Static Analysis tab in a Polyspace Platform project configuration. All options are unchanged exception the following.
Option in Polyspace Project (.psprj file) | Option in Polyspace Platform Project (.psprjx file) | Details |
---|---|---|
Include | Forced includes | Option renamed and moved to Target & Compiler node (Build tab). |
Inputs & Stubbing
This node appears on the Static Analysis tab in a Polyspace Platform project configuration. All options are unchanged exception the following.
Option in Polyspace Project (.psprj file) | Option in Polyspace Platform Project (.psprjx file) | Details |
---|---|---|
Generate results for sources and | Generate results for sources and | Option moved to Defects and Coding Standards node (Static Analysis tab) |
Do not generate results for | Do not generate results for | Option moved to Defects and Coding Standards node (Static Analysis tab) |
Multitasking
This node appears on the Static Analysis tab in a Polyspace Platform project configuration. All options are unchanged exception the following.
Option in Polyspace Project (.psprj file) | Option in Polyspace Platform Project (.psprjx file) | Details |
---|---|---|
External multitasking configuration |
| Option split into two separate options. |
Coding Standards & Code Metrics
This node no longer exists. The options on this node have been absorbed into the Defects and Coding Standards node (Static Analysis tab) as follows.
Option in Polyspace Project (.psprj file) | Option in Polyspace Platform Project (.psprjx file) | Details |
---|---|---|
| Removed | The coding standards have to be activated using these options:
When creating a custom checkers file, you can pick a standard as well as specific rules or rule subsets from the standard. |
Set checkers by file |
| Option split into two separate options. Unlike Set checkers by file, which came into effect only if you selected |
Use generated code requirements | Use generated code requirements | The previous option was shown only if you selected Check MISRA:C 2012. The current option is shown if you select Use custom checkers file. |
Allowed pragmas | Allowed pragmas | Option moved to Checkers Behavior node (Static Analysis tab) |
Effective boolean types | Effective boolean types | Option moved to Checkers Behavior node (Static Analysis tab) |
Bug Finder Analysis
This node no longer exists. The options on this node have been absorbed into the Defects and Coding Standards node (Static Analysis tab) as follows.
Option in Polyspace Project (.psprj file) | Option in Polyspace Platform Project (.psprjx file) | Details |
---|---|---|
Find defects |
| Option split into two separate options. If you set defect checkers using the option Find defects, the checkers are saved as part of the project configuration. With the new options, the checkers are saved in a separate file that you point from the project configuration. |
Run stricter checks considering all values of system inputs | Run stricter checks considering all values of system inputs | Option moved to Checkers Behavior node (Static Analysis tab) |
Code Prover Verification
This node no longer exists. The options on this node now appear in the Run Time Errors node (Static Analysis tab). All options are unchanged.
Verification Assumptions
This node appears on the Static Analysis tab in a Polyspace Platform project configuration. All options are unchanged.
Check Behavior
This node appears on the Static Analysis tab in a Polyspace Platform project configuration. All options are unchanged.
Precision
This node appears on the Static Analysis tab in a Polyspace Platform project configuration. All options are unchanged except the following.
Option in Polyspace Project (.psprj file) | Option in Polyspace Platform Project (.psprjx file) | Details |
---|---|---|
Verification time limit | Verification time limit | Option moved to Computing Settings node (Static Analysis tab) |
Scaling
This node appears on the Static Analysis tab in a Polyspace Platform project configuration. All options are unchanged except the following.
Option in Polyspace Project (.psprj file) | Option in Polyspace Platform Project (.psprjx file) | Details |
---|---|---|
Depth of verification inside structures |
| Option split into two separate options. |
Reporting
This node appears on the Static Analysis tab in a Polyspace Platform project configuration. All options are unchanged.
Run Settings
This node no longer exists in a Polyspace Platform project configuration. The options on this node have been migrated as follows.
Option in Polyspace Project (.psprj file) | Option in Polyspace Platform Project (.psprjx file) | Details |
---|---|---|
| Not yet available | Running analysis on a remote cluster is not yet supported in Polyspace Platform. |
Use fast analysis mode for Bug Finder | Not yet available | Fast analysis mode is not yet supported in Polyspace Platform. |
Advanced Settings
This node appears on the Static Analysis tab in a Polyspace Platform project configuration. All options are unchanged.