Static Analysis Warning Grouping by EOI Similarity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Static analysis of software applications generates a large number of false positives, requiring manual review, which is time-consuming and costly, and existing techniques fail to effectively reduce the manual review efforts by grouping warnings based on severity or priority.
Innovation Solution
A method and system for grouping warnings generated during static analysis by identifying structurally and semantically similar expressions of interest (EOIs) in warnings, forming groups where a representative warning's safety judgment represents other warnings in the group, reducing the need for individual review.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If static analysis is performed on software applications to ensure safety, then reliability is improved, but a large number of false positives are generated requiring manual review
Solution Approach 1:
The patent merges multiple warnings into groups based on structural and semantic similarity of their expressions of interest. Warnings with similar EOIs are combined into single groups, allowing reviewers to evaluate one representative warning per group instead of individually reviewing each warning, thereby reducing manual review time while maintaining reliability
Solution Approach 2:
The patent changes the parameter of warning representation from individual warnings to grouped warnings. By transforming the granularity level from fine-grained (individual warnings) to coarse-grained (groups of similar warnings), the system reduces the volume of warnings requiring manual review while preserving the essential safety information
2Productivity
If static analysis uses abstractions and intra-procedural analysis to improve analysis speed, then productivity is improved, but the number of false positives increases
Solution Approach 1:
The patent converts the harmful effect of having many false positive warnings into a benefit by using their structural and semantic similarities for grouping. The large number of warnings, which initially seem problematic, are now leveraged to create efficient groups where one review can validate multiple warnings, transforming the quantity issue into a productivity advantage
3Ease of operation
If existing techniques group warnings by severity or priority, then ease of operation is improved, but manual review efforts are not significantly reduced
Solution Approach 1:
The patent segments the warning review process into two distinct phases: (1) automatic grouping of warnings with structurally and semantically similar expressions of interest, and (2) manual review of only the representative warnings from each group. This segmentation eliminates the need to review every individual warning, significantly reducing review efforts while maintaining ease of operation through systematic organization
Data Source
AI summary
The present disclosure generally relates to warnings generated based on static analysis and, more particularly, to grouping warnings generated based on static analysis. In one embodiment, a method for grouping a plurality of warnings generated based on a static analysis of an application program is provided. The method may include analyzing, by one or more processors using programmed instructions stored in a memory, the application program to generate the plurality of warnings; identifying, by the one or more processors, one or more similar warnings based on the plurality of warnings, the similar warnings having structurally and semantically similar expressions of interest (EOI); and generating, by the one or more processors, one or more groups of warnings based on the plurality of warnings, the one or more groups of warning including one or more of corresponding identified similar warnings.


