Static Analysis Rule Anomaly Classification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Static analysis systems face challenges in identifying and prioritizing anomalous rules due to the sheer volume and heterogeneity of projects and rules, leading to false positives and overly voluminous alerts, making manual inspection infeasible.
Innovation Solution
A density-based classification method using an alert proportion metric to automatically identify and prioritize anomalous static analysis rules, which computes the proportion of alerts generated by each rule across projects and classifies rules as anomalous, thereby filtering out unhelpful alerts and guiding corrective actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a static analysis system uses a collection of static analysis rules to analyze multiple heterogeneous projects, then the system can identify potential problems and coding defects, but the sheer volume and heterogeneity of projects and rules make manual inspection infeasible and lead to false positives
Solution Approach 1:
The system performs self-diagnosis by automatically classifying its own rules as anomalous or non-anomalous based on alert generation patterns. The static analysis system uses its existing infrastructure to compute alert proportions and classify rules without external intervention, enabling self-service improvement of rule quality
Solution Approach 2:
The system implements feedback loops where alert generation data from multiple projects is collected and used to compute alert proportion metric values. These metrics feed back into the rule classification process, allowing the system to continuously improve rule identification accuracy based on observed performance patterns across the project portfolio
2Reliability
If the system generates alerts for all rules satisfied by source code elements, then comprehensive problem detection is achieved, but the alert volume becomes overly voluminous and difficult to prioritize
Solution Approach 1:
The system changes the parameter of alert prioritization by introducing alert proportion metric values as a new dimension for evaluating rule importance. Instead of treating all alerts equally, the system transforms alert data into prioritized information by computing and comparing metric values across rules, enabling developers to focus on the most significant issues
Solution Approach 2:
The system extracts the anomalous rules from the overall rule set based on their alert generation patterns. By identifying and separating rules with high alert proportions from the bulk of non-anomalous rules, the system extracts the critical subset that requires immediate attention, reducing the effective alert volume that developers must process
3Measurement precision
If manual inspection of rules is performed to identify anomalous rules, then accurate classification is possible, but the process becomes infeasible when the number of projects and rules increases
Solution Approach 1:
The system replaces the mechanical process of manual rule inspection with an automated computational system. Instead of human reviewers examining each rule, the system uses algorithmic processing to compute alert proportion metric values and classify rules automatically, substituting mechanical human labor with automated computational mechanisms
Solution Approach 2:
The system transforms the classification task from a qualitative manual assessment into a quantitative automated process by introducing alert proportion metric values. This parameter transformation enables precise, scalable classification that maintains detection precision while dramatically increasing processing throughput through automated computation
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for automatically classifying static analysis rules as being anomalous or not. One of the methods includes receiving alerts generated by a particular static analysis rule for a plurality of different software projects analyzed by a static analysis system. For each project, a respective alert proportion metric value is computed. Each of the plurality of different software projects is classified according to the alert proportion metric values as being one non-outlier projects or outlier projects. If more than a threshold number of projects were classified as being outlier projects for the particular static analysis rule, the particular static analysis rule is classified as an anomalous static analysis rule.


