In the Project Overview dashboard, use the Quality Objectives card to get a quick overview of your progress in achieving a quality objective threshold. The card shows:
The percentage of findings already addressed to achieve the selected threshold.
Pass: All findings for this threshold have been addressed.
In progress: Some findings for this
threshold are still open. A finding is open if it has a review
Incomplete: Some checkers required for this threshold were not activated in the analysis. For instance, if a threshold requires that you address all Bug Finder defects, but the analysis includes only Numerical defects, the level is incomplete, even if you address all findings. To see a list of checkers you must activate, click Incomplete.
Not computed: No quality objective results were computed.
The name of the quality objectives definition currently assigned to the project. In the previous card, the Polyspace Software Quality Objectives definition is assigned to the project.
The assigned Threshold. To select a different threshold or quality objectives definition, click the gear icon. You must be an Administrator or project Owner to assign quality objective definitions or thresholds to a project. You can also assign quality objectives by right-clicking a project in the Project Explorer.
The Remaining number of findings that you need to address to reach the threshold. Click this number to open the REVIEW perspective and see these findings in the Results List.
For a more comprehensive view, open the Quality Objectives dashboard. In the Summary section, click the gear icon on the Quality Level line to pick a threshold and see the remaining open issues, including a breakdown for each category, such as code metrics or coding rules.
In this Quality Objectives dashboard, 39% of the findings
required to achieve threshold
SQO4 have been addressed. There
are 187 open issues, which are all Defects.
This table shows the current progress of code quality for all quality objective thresholds. To view the Results List for a set of open issues, click the corresponding value in the table.
To customize the thresholds that you use as pass/fail criteria to track the quality of your code, create or edit quality objective definitions and apply these definitions to specific projects. For instance, you might have a project where you want to check the quality of your code against only the MISRA C®:2012 coding standard.
On the Quality Objectives dashboard, click Quality Objectives Settings. You must have the role of Administrator or Owner to customize the quality objective settings. Users who have the role of Contributor have a read-only view of the quality objective settings. You cannot edit the Polyspace Software Quality Objectives definition.
To create a quality objectives definition, click New, and enter a name for the new definition. After you assign this definition to a project, the name of the definition is displayed on the Quality Objectives card and the summary section of the Quality Objectives dashboard for the project. You can optionally provide a description for the quality objectives definition and for the different SQO levels of that definition. Go to the Information tab to view or make additional edits to the descriptions.
To edit the thresholds selection, on the Configuration tab, click a findings family, for instance MISRA C:2004, and then select a node or expand the node to select individual results. For each family of results, you can view the nodes by group or by category when available.
When you select nodes in the leftmost part of the table:
indicates that all entries under the node are enabled.
indicates that some entries under the node are not enabled.
For the quality objective thresholds under the SQO columns:
indicates that all the entries that are enabled under the node on that row apply to this threshold.
indicates that some of the entries that are enabled under the node on that row do not apply to this threshold.
For example, in the previous figure, the Language extensions node is expanded. The check box next to the node is partially filled because rule 2.1 is not enabled. For the thresholds, all the rules that are enabled under the node apply to thresholds SQO5 and SQO6. Rule 2.2 does not apply to SQO4, which is why the check box for SQO4 is partially filled.
For Run-time Checks, customize the percentage of findings that you must address or justify for each threshold. Enter a value between 0 and 100. To disable the selection, leave the entry blank.
For Code Metrics, customize the value of the different metrics for each threshold. To disable the selection, leave the entry blank.
When you make a selection for a threshold, all higher thresholds inherit that selection. For instance, if you select a coding rule for SQO3, the rule is also selected for SQO4, SQO5, and SQO6. By default, when you first enable a node or result, it applies only to SQO6.
To save your changes, click Save or Save as to save your edits in a new quality objectives definition.
The quality objectives statistics for a project are recalculated when:
You upload a new run for the project.
You select a finding and make a change to any of the fields in the Result Details pane.
When the Quality Objectives settings and the calculated statistics for a project are out of sync, the Quality Objectives dashboard displays a warning .
To assign a quality objectives definition or level to a project, right-click a project in the Project Explorer or click the gear icon on the Quality Objectives card or dashboard. Before making changes to the quality objectives level or definition for a project, make sure that you inform all Polyspace Access contributors to that project.
By default, the first time you upload results to a new project, Polyspace® Access assigns the Polyspace Software Quality Objectives to that project. To view which projects a quality objectives definition is assigned to, go to the Project Assignment tab in the Quality Objectives Settings. If you delete a quality objectives definition, Polyspace Access assigns the Polyspace Software Quality Objectives to all the projects to which the deleted definition was assigned.