Static Analysis Alarm Repositioning via Non-Impacting Control Dependencies
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional static analysis tools generate a large number of false positive alarms due to approximations, making manual classification tedious and costly, and existing repositioning techniques fail to effectively group alarms across different conditional statements, leading to redundancy in alarm reporting.
Innovation Solution
A processor-implemented method and system that compute transitive control dependencies of static analysis alarms as impacting or non-impacting, allowing for repositioning of alarms based on these dependencies to reduce the number of alarms, while maintaining traceability links to the original alarms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If static analysis tools are used to analyze program code, then defects can be detected without executing the code, but a large number of false positive alarms are generated due to approximations
Solution Approach 1:
The patent merges multiple similar or related static analysis alarms into a single repositioned alarm by identifying common control dependencies. Alarms that share the same non-impacting control dependencies are grouped together and repositioned to a common location, reducing the total number of alarms while preserving defect detection capability.
Solution Approach 2:
The patent segments the set of all alarms into groups based on their control dependency characteristics. By computing transitive control dependencies for each alarm and identifying non-impacting ones, the system creates segments of alarms that can be safely repositioned together, separating them from alarms that require individual attention.
2Measurement precision
If manual classification of static analysis alarms is performed, then false positives can be identified, but the process becomes very tedious and costly
Solution Approach 1:
The system performs automatic alarm repositioning and grouping based on computed control dependencies, eliminating the need for manual classification. The algorithm independently identifies non-impacting control dependencies and repositions alarms without human intervention, making the system self-sufficient in reducing false positives.
Solution Approach 2:
The patent changes the parameter of alarm representation by computing and utilizing transitive control dependencies. By analyzing the control flow graph and identifying dependencies, the system transforms the alarm data structure to enable automatic grouping and repositioning, replacing manual classification processes.
3Quantity of substance
If existing repositioning techniques group alarms by the same conditional statement, then some alarms can be merged, but alarms under different conditional statements cannot be repositioned
Solution Approach 1:
The patent extends the repositioning capability from a single dimension (same conditional statement) to multiple dimensions by considering transitive control dependencies across different conditional statements. The system analyzes the control flow graph to identify alarms that share non-impacting control dependencies even if they originate from different conditional statements, enabling repositioning across multiple dimensions of the code structure.
Solution Approach 2:
The repositioning technique becomes universal by applying the same control dependency analysis to alarms regardless of their location in different conditional statements. The method identifies non-impacting control dependencies that can be shared across multiple conditional contexts, making the repositioning approach applicable to a broader range of alarm scenarios beyond just those within the same conditional statement.
Data Source
AI summary
This disclosure relates generally to static analysis of the program code, and more specifically to method and system for non-impacting control dependencies (NCDs)-based repositioning of static analysis alarms in a program code. By determining each of the transitive control dependencies (controlling conditions) of each of the original alarms either as NCD or an impacting control dependency (ICD) of the corresponding alarm, the system is able to reposition and group similar alarms even if the alarms are associated with or are under different conditional statements by considering the effect of the NCDs and ICDs of the alarms, and the repositioning further reduces number of the alarms.


