In this section:
Introduction
The Machine Learning flow provides a set of widgets that display static analysis violation prediction to fix made by the DTP machine learning feature.
Requirements
- This artifact can be installed on DTP 2021.1
- Static analysis reports from C/C++test, dotTEST, and Jtest 2020.1 are supported.
Installation
The Machine Learning flow is installed as part of the Process Intelligence Pack. See the Process Intelligence Pack Installation instructions for details. After installing the pack, deploy the widgets and report to your DTP environment.
- If you have not already done so, install the Process Intelligence Pack.
- Open Extension Designer and click the Services tab.
- Expand the Process Intelligence Engine service category. You can deploy assets under any service category you wish, but we recommend using the Process Intelligence Engine category to match how Parasoft categorizes the assets. You can also click Add Category to create your own service category (see Working with Services for additional information).
- You can deploy the artifact to an existing service or add a new service. The number of artifacts deployed to a service affects the overall performance. See Extension Designer Best Practices for additional information. Choose an existing service and continue to step 6 or click Add Service.
- Specify a name for the service and click Confirm.
- The tabbed interface helps you keep artifacts organized within the service. Organizing your artifacts across one or more tabs does not affect the performance of the system. Click on a tab (or click the + button to add a new tab) and click the vertical ellipses menu.
- Choose Import> Local> Flows> Workflows> Process Intelligence> Machine Learning and click anywhere in the open area to add the artifact to the service.
- Click Deploy to finish deploying the artifact to your DTP environment.
- Return to DTP and refresh your dashboard. You will now be able to add the related widgets.
Adding and Configuring the Widgets
After deploying the artifact, the following widgets will be available in DTP under the Machine Learning category:
- Violations - Fix Action Prediction - Bar Chart (Large)
- Violations - Fix Action Prediction - Bar Chart (Medium)
- Violations - Fix Action Prediction - Bar Chart (Small)
- Violations - Fix Action Prediction - Pie
- Violations to Fix - Percentage
See Adding Widgets for instructions on adding widgets to the dashboard.
Violations - Fix Action Prediction - Bar Chart (Large)
This widget shows groups of violations with the same confidence factor as calculated by the machine learning feature.
Each bar represents a group of violations that have been assigned the Fix action. The Y-axis shows the number of violations in the target build at either a liner or algorithmic scale (see Configuration). The X-axis shows the prediction confidence from least confident to most confident. Bars along the X-axis closest to the left side of the chart represent a lower confidence factor. The confidence factor increases for bars plotted further toward the right side of the chart.
Actions
You can hover your pointer over a bar to see the predicted action, confidence value, and number of violations that the prediction applies to. The widget does not link to any other DTP interface.
Configuration
You can configure the following settings:
Title | Enter a new title to replace the default title that appears on the dashboard. |
---|---|
Filter | Choose Dashboard Settings to use the dashboard filter or choose a filter from the drop-down menu (see Creating and Managing Filters for more information about filters in DTP). |
Target Build | Choose the build containing the data you want to see. Default is Latest Build. |
Y-Axis Scale | Choose Linear to set the Y-axis scale to show the actual number of violations in the build along the Y-axis. Choose Log to set the Y-axis scale to show the number of violations as a logarithmic scale along the Y-axis. This option allows smaller values to be more easily visible along side larger values and improves readability when the build contains a large number of violations. |
Violations - Fix Action Prediction - Bar Chart (Medium)
This widget includes the same information and configurations as the Violations - Fix Action Prediction - Bar Chart (Large) widget but in a more compact chart (3X1).
See About the Dashboard Grid for additional information about widget sizes.
Violations - Fix Action Prediction - Bar Chart (Small)
This widget includes the same information and configurations as the Violations - Fix Action Prediction - Bar Chart (Large) widget but in a more compact chart (2X1).
See About the Dashboard Grid for additional information about widget sizes.
Violations - Fix Action Prediction - Pie
This widget shows the number of violations that the machine learning feature has assigned the Fix action and the number of violations that should be reviewed. The information is rendered as a pie chart, as well as plain text values. Violations are predicted as To Fix or To Review based on the probably threshold. See Probability Threshold for additional information.
Actions
You can hover your pointer over a segment of the pie chart to see a count of the predicted action, confidence value, and number of violations that the prediction applies to. The widget does not link to any other DTP interface.
Configuration
Title | Enter a new title to replace the default title that appears on the dashboard. |
---|---|
Filter | Choose Dashboard Settings to use the dashboard filter or choose a filter from the drop-down menu (see Creating and Managing Filters for more information about filters in DTP). |
Target Build | Choose the build containing the data you want to see. Default is Latest Build. |
Probability Threshold | Specify a single float value between 0 and 1.0 to determine the threshold for categorizing violations as To Fix. See Probability Threshold for additional information |
Violations to Fix - Percentage
This widget shows the percentage of violations that the machine learning feature has assigned the Fix action. Violations are predicted as To Fix or To Review based on the probably threshold. See Probability Threshold for additional information.
Actions
The widget does not link to any other DTP interface.
Configuration
Title | Enter a new title to replace the default title that appears on the dashboard. |
---|---|
Filter | Choose Dashboard Settings to use the dashboard filter or choose a filter from the drop-down menu (see Creating and Managing Filters for more information about filters in DTP). |
Target Build | Choose the build containing the data you want to see. Default is Latest Build. |
Probability Threshold | Specify a single float value between 0 and 1.0 to determine the threshold for categorizing violations as To Fix. See Probability Threshold for additional information |
Probability Threshold
The machine learning feature assigns different values to violations as it builds its predictive model used to calculate predictions. One of the values assigned is a probability metric, which is a numerical value between 0 and 1. Violations with a probably value closer to 1 are more likely to be assigned the correct action (Fix or Suppress). Conversely, violations with probably closer to 0 are less likely to be assigned the correct action. There are no interfaces for reviewing internal metrics for calculating predictive actions.
The Violations - Fix Action Prediction - Pie and Violations to Fix - Percentage widgets allow you to set a threshold for rendering the violations in the widget. This enables you to apply more or less stringent qualifications for determining which violations require fixing. For example, the prediction may return the following value for a violation:
violationActionPredication: { "label":"Fix", "probability":0.6512625803274749 }
If the Probably Threshold is set to .5
, then the widget will include the violation in the To Fix group. If the Probably Threshold is set to .7
, however, then the violation will be included in the To Review group.