Main Content

Benefits and Limitations of Switching to Polyspace Platform User Interface

Starting in R2024b, you can run all Polyspace® products from a single platform called Polyspace Platform. The Polyspace Platform user interface supports both static analysis and dynamic testing.

If you are running the static analysis products Polyspace Bug Finder™ and Polyspace Code Prover™ in the older desktop user interface, you can import previously created projects (.psprj) into the Polyspace Platform user interface and continue your current workflow. In addition, you can write, build, and run tests.

The Polyspace Platform user interface is the default user interface for Polyspace Test™. You cannot run Polyspace Test in the older user interface.

Benefits of Migration

When you migrate to the Polyspace Platform user interface:

  • You can perform a single one-time setup for static analysis and dynamic testing.

  • You can view results of static analysis and dynamic testing on a common dashboard.

  • The static analysis products provide information that makes the dynamic testing workflow easier.

For more information, see Polyspace Platform: A Unified Platform for Static Analysis and Dynamic Testing.

Open the Polyspace Platform User Interface

You can open the Polyspace Platform user interface by running the executable polyspace-desktop-ui.exe.

The older Polyspace user interface offers an option to switch to the Polyspace Platform user interface. To open the Polyspace Platform user interface, from the older user interface:

  1. Select the option Try the New Desktop from the toolstrip.

  2. (Optional) In the dialog box that opens, select the checkbox to set Polyspace Platform as your default user interface. If you select this checkbox, the next time you open Polyspace, the Polyspace Platform user interface opens by default. You can reverse this decision later.

  3. Select Launch the New Desktop.

The Polyspace Platform user interface launches in a new window. Your original instance of Polyspace and the dialog box do not close unless you close them manually.

If you decide you want to make the Polyspace Platform user interface your default user interface going forward, open Preferences from the toolstrip and select the option Set Polyspace Platform as default. You can switch back to the older user interface at any time by clearing this checkbox. The older user interface will open the next time you start Polyspace.

Import Projects into Polyspace Platform User Interface

The Polyspace Platform user interface uses the .psprjx file format. Import a .psprj project file into the Polyspace Platform user interface to create a .psprjx file.

  1. With the Polyspace Platform user interface open, click Open in the toolstrip.

  2. Select your .psprj file in the explorer window and click Open.

  3. A dialog box opens alerting you that the .psprj file will be imported as a .psprjx file. Click Yes to continue with the import.

Polyspace copies your .psprj project information into a .psprjx file. The original .psprj file does not change. When the process is complete, the .psprjx file opens in the Polyspace Platform user interface. Check your project to confirm that no information has changed during the import process. Any changes you make to your new .psprjx file are not reflected in the original .psprj file. You are not able to convert from .psprjx to .psprj.

When you import a .psprj project, Polyspace imports the target defined in the .psprj project as a custom processor and sets the Processor configuration option in the .psprjx project. This can cause slight differences in your results when running your analysis. You can edit the Processor setting in the Configuration settings of your project in the Polyspace Platform user interface. For more information on setting a custom target, see Processor Details (Polyspace Test).

Files you list under Project Include Folders in your .psprj project appear in the Project tab of the project configuration in the Polyspace Platform user interface. View these files under Project > Include paths. For more information on include paths, see Include paths (-I) (Polyspace Test).

Workflow Changes When Using Polyspace Platform User Interface

Some workflows in Polyspace Platform user interface differ from the corresponding workflows in the older user interface.

Running Polyspace Analysis on Generated Code After Integrating with Simulink

In this workflow, you integrate Polyspace with Simulink® and then use the Polyspace Code Verifier app to verify C/C++ code generated from a Simulink model directly from the Simulink toolstrip.

Starting in R2024b, after the analysis of generated code completes, the results open in the Polyspace Platform user interface. You can interpret results, add justifications, and navigate from an issue back to model using the Polyspace Platform user Interface. See:

The workflow for specifying Polyspace configuration parameters and specifying a Polyspace project configuration remains unchanged. See Configure Polyspace Options in Simulink.

Running Polyspace Code Prover on AUTOSAR Code

In this workflow, you create a Polyspace project corresponding to each software component of the AUTOSAR model and run Code Prover on the projects. The projects are contained in a Polyspace workspace. Each project in the workspace contains the source files implementing one software component. You can analyze each software component separately with their own configurations. For details about workspaces, see Manage Related Projects in Polyspace Platform User Interface Using Workspaces.

You can analyze the AUTOSAR code using the Polyspace Platform user interface by creating projects from the AUTOSAR specifications. In the Project toolstrip, select New > Project from AUTOSAR to start creating projects from AUTOSAR specification. For details, see Run Analysis in Polyspace Platform User Interface (Polyspace Code Prover).

You can also create a workspace from AUTOSAR specification at the command line. Use the command polyspace-autosar with the option -output-platform-project. For example, say you have AUTOSAR source code in the folder codeFolder and ARXML specifications in the folder ProjectFolder. At the command line, enter:

polyspace-autosar -create-project ProjectFolder -arxml-dir arxmlFolder\
 -sources-dir codeFolder -generate-autosar-headers -output-platform-project
The resulting projects and workspace is saved in the folder ProjectFolder. By storing individual software components from AUTOSAR code into separate projects, Polyspace now allows you to configure each component individually. You can keep track of each component of your AUTOSAR code by monitoring the workspace. For details, see polyspace-autosar (Polyspace Code Prover).

Creating Projects with Multiple Modules

The Polyspace Platform user interface does not support multiple modules. Instead, create projects corresponding to each component of your code and use a workspace to monitor related projects. By separating code into independent projects, you can configure analysis for each project independently. For details about workspaces, see Manage Related Projects in Polyspace Platform User Interface Using Workspaces.

If you import a Polyspace project with multiple modules into the Polyspace Platform user interface, each module is converted into a separate project (with project names ending with _Module_1, _Module_2, and so on).

Additionally, in the older user interface you could run analysis on all modules at the same time. In the Polyspace Platform user interface, you run each project separately.

Features Available Only in Polyspace Platform User Interface

If you use the Polyspace Platform user interface, you have access to certain features that are not available in the older user interface. These features include:

  • View compile flags that are specific to each file. If you create a project from your build command, each file is associated with a set of compilation options such as include paths and defines. You can see these file-specific options in the Polyspace Platform user interface. From the Configuration pane, select the Build tab and then select File Specific Options. See Add Sources from Build Command.

  • Add resources such as source files, external test files, include paths, and xUnit test files using relative paths. See Share Polyspace Platform Projects, Workspaces, and Configurations.

  • Review and justify identical findings. If you check your code for multiple coding standards, you can review analysis results more efficiently by addressing violations of one coding standard. Polyspace identifies all identical rule violations from other standards at the same location in your code. You can copy the review information from the currently selected finding and apply it to the other identical findings or copy the review information and apply it to all the other identical findings. See Apply Existing Review Information to Identical Findings.

  • Author and run C/C++ tests in the Polyspace Platform user interface (requires a Polyspace Test license).

  • Perform Polyspace Bug Finder, Polyspace Code Prover, and Polyspace Test workflows at the same time from within the Polyspace Platform user interface. Review all results within the Polyspace Platform user interface or upload results to Polyspace Access.

  • Check for violations of a user-defined coding standard. User-defined coding standards allow you to collect coding rules that are relevant specifically to your project into a single standard when an existing coding standard does not exactly meet your needs. A user-defined coding standard is defined in a .pschk file. See Check for Violations of User-Defined Coding Standard Using Polyspace Bug Finder.

  • Manage related projects by using workspaces. Workspaces can contain multiple projects with their own configuration and files. See Manage Related Projects in Polyspace Platform User Interface Using Workspaces.

  • View project overview and review dashboards previously only available in Polyspace Access. See Dashboard in Polyspace Platform User Interface.

  • Compare project, workspace, or configuration files before submitting to source control. Merge your project or configuration with the last checked in version in the repository and resolve conflicts that occur during the merge. See Compare and Merge Polyspace Platform Projects and Configurations Before Submission to Source Control (Polyspace Test).

Capabilities Not Yet Supported in Polyspace Platform User Interface

In R2024b, the Polyspace Platform user interface does not support certain capabilities available in the older user interface. If you are using one of these capabilities, you can postpone migration until a later release or use a workaround.

You can open the older user interface to perform these tasks. Use the -pve option when launching the polyspace.exe executable to enable this user interface.

Run an Analysis on Ada Code

The Polyspace Platform user interface does not currently support Polyspace for Ada. To perform an analysis on Ada code, use the older user interface.

Analysis on Remote Clusters

The Polyspace Platform user interface does not provide a way to submit analysis jobs to another cluster. To send Code Prover or Bug Finder analysis jobs to a remote cluster, use the older user interface.

Alternatively, you can generate an options file from the older projects and submit jobs using the options file.

Open Editor from Source Code Pane

The Polyspace Platform user interface does not provide a way to open a code editor from the Source Code pane. You can right-click in the Source Code pane and select Copy File Path To Clipboard from the context menu. Use the path on your clipboard to open the file in your code editor.

Related Topics