Determining the significance of static analysis violations and whether resources should be allocated to fixing them can slow down the software development lifecycle. The machine learning feature is an interface for teaching DTP how to recognize code analysis violations that should be fixed. This accelerates the violation remediation process by enabling DTP to predict which violations should be fixed and by whom as new code analysis data is reported.

The Predict Violations to Fix feature analyzes violations that have been classified as Fix and Suppress in the Actions field of the Prioritization tab (see Assigning Actions to Violations) and builds a predictive model based on patterns it detects. After the model has been built, DTP will predict which violations in the build should be assigned the Fix action. A balanced set of at least 20 violations must be classified as Fix and Suppress to build the predictive model. The model gradually improves as you continue to review violations and assign them actions.

The Recommend Assignees feature analyzes fixed and suppressed violations from previous builds and builds a predictive model. After the model has been built, DTP will predict who should work on the violations in the build based on who has worked on violations in the past.

Predictions are Stateful

You will need to execute the prediction action for new violations sent to the build. Additionally, you will need to review and train DTP on the violations if you switch the filter.

Enabling Machine Learning

A license is required to use the machine learning functionality. Contact your Parasoft representative for additional information.

The machine learning interface is available for administrator users or team leaders. Refer to Team Membership for information about team and leader permissions.

Advanced Metadata

The machine learning feature analyzes code analysis reports using a set of criteria to determine which actions should be taken, but you can enable the code analysis tools to include additional metadata to enable advanced analysis. The additional metadata broadens the set features used to predict actions, resulting in more accurate predictions.

Advanced metadata is enabled in the test configuration. If you manage test configurations in DTP, you can enable the option in the test configurations editor (also see Configuring Test Configurations):

  1. Choose Test Configurations from the DTP settings (gear icon) menu.
  2. Choose a test configuration from the sidebar menu and click on the Static Analysis Settings tab.
  3. Enable Send advanced metadata to DTP for machine learning and click Save.

You can also use the test configuration editor shipped with the tool to enable the advanced metadata option for local code analysis. Refer to your tool's documentation for details.

  • No labels