Static Analysis Warning Priority Prediction with Machine Learning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing static analysis tools generate a mix of true and false positive warnings, requiring manual user judgment to prioritize corrections, which decreases accuracy when applied across different product projects and increases development costs.
Innovation Solution
A machine learning-based prediction model that uses source code, warning information, and non-dependent information to predict the priority of warnings, allowing for accurate classification of true and false positives across various projects without specialized models for each product.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual user judgment is used to prioritize warnings, then accuracy in distinguishing true and false positives is improved, but development costs and time consumption increase
Solution Approach 1:
The system enables automated self-judgment of warnings through machine learning models that automatically classify warnings as true positives or false positives without requiring manual user intervention, thereby reducing time consumption while maintaining accuracy
Solution Approach 2:
A machine learning model is introduced as an intermediary between the static analysis tool and the user, automatically processing and prioritizing warnings based on learned patterns from training data, which reduces the burden of manual judgment while preserving accuracy
2Measurement precision
If specialized models are created for each product project, then prediction accuracy for that specific project is improved, but device complexity and development costs increase
Solution Approach 1:
The machine learning model is designed with universal applicability, trained on diverse training data from multiple product projects to learn generalizable patterns that work across different codebases, eliminating the need for project-specific specialized models while maintaining high prediction accuracy
Solution Approach 2:
Training data from multiple product projects is merged into a single comprehensive dataset, allowing the model to learn common patterns across different projects simultaneously, thereby creating a single unified model that replaces multiple specialized models
3Reliability
If static analysis tools analyze source code, then detection of potential violations is improved, but the generation of false positive warnings increases
Solution Approach 1:
The machine learning model applies different evaluation criteria to different warnings based on their specific characteristics and contexts, allowing for nuanced judgment that reduces false positives while maintaining detection of true violations
Solution Approach 2:
The system uses feedback from training data containing user judgments to continuously improve the model's ability to distinguish true positives from false positives, thereby reducing the generation of harmful false positive warnings while preserving reliable violation detection
Data Source
AI summary
An information processing device that predicts a priority of a warning indicated by an analysis result of a source code by a static analysis tool is provided. The information processing device is configured to generate a prediction model, the prediction model being trained using machine learning with learning input data including the source code, warning information, product-specific information, and non-dependent information, and using a warning label associated with each warning as training data, with the analysis result of the static analysis tool for the source code as input and the priority of the warning as output, receive the analysis result, and predict the priority of the warning indicated by the analysis result.


