Static Analysis Alert Weighting for Defect Prioritization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Manual inspection and addressing of static analysis alerts in software projects is time-consuming and resource-intensive, as developers face an overwhelming number of alerts that exceed available resources.
Innovation Solution
A static analysis system computes weights for alerts based on multiple features, such as prevalence, actionability, commonality, currentness, and expert ratings, to prioritize and allocate resources effectively, leveraging developer experiences and expert knowledge.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If static analysis rules are applied to identify coding defects, then software quality detection capability is improved, but the number of alerts generated increases overwhelming developer resources
Solution Approach 1:
The patent changes the parameter of alert importance by computing weights based on multiple features (prevalence, actionability, commonality, currentness, expert ratings). This transforms the uniform treatment of all alerts into a differentiated system where alerts are ranked by their computed weights, allowing developers to prioritize critical issues without reducing the total detection capability.
2Reliability
If developers manually inspect and address all alerts, then software quality improvement is achieved, but time and resource consumption increases significantly
Solution Approach 1:
The system performs preliminary action by computing weights for all alerts before developers begin addressing them. This pre-computation of priority rankings allows developers to immediately focus on high-weight alerts without manual assessment, reducing the time spent on low-priority issues while maintaining comprehensive quality improvement.
Solution Approach 2:
The patent applies local quality by treating different alerts differently based on their computed weights. Instead of uniform processing, each alert receives treatment proportional to its importance, with high-weight alerts receiving immediate attention and low-weight alerts being addressed later or by automated systems.
3Measurement precision
If comprehensive static analysis rules are used to cover all potential problems, then detection coverage is improved, but alert prioritization becomes difficult
Solution Approach 1:
The patent implements universality by creating a single weighted alert system that handles multiple types of coding defects (correctness, maintainability, readability, framework usage) through a unified prioritization mechanism. The same weight computation process applies to all alert types, simplifying the complexity despite comprehensive coverage.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for computing weights for source code alerts. One of the methods includes generating a respective sample of alerts for each feature of a plurality of features. One or more feature values are computed for alerts having a same respective attribute value for each feature of a plurality of features. An importance distribution that maps each feature value to a respective measure of importance for an alert having the feature value is used to compute a respective feature score for the feature using one or more feature values computed the alert. A respective weight is computed for each alert by combining the plurality of feature scores computed for the alert.


