Static Analysis Alarm Repositioning for Reducing False Positives
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional static analysis tools generate a large number of false positive alarms, making manual classification tedious and costly, and often fail to group related alarms effectively, leading to redundancy in reporting and difficulty in identifying error causes due to the complexity of industrial application code.
Innovation Solution
A system and method for repositioning static analysis alarms within the application code to reduce the number of reported alarms, grouping them closer to their causes, while maintaining traceability links to ensure that errors are not affected, involving intermediate and final repositioning techniques using anticipable and available alarm conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If static analysis tools generate alarms at locations where run-time errors are likely to occur, then the alarms can detect potential errors, but the user has to traverse the application code backward to identify the causes, which is tedious and costly
Solution Approach 1:
The patent pre-computes and stores cause-to-alarm mapping information during the static analysis phase. This preliminary action creates a forward-indexed data structure that allows users to directly access alarm causes without backward traversal, thus resolving the contradiction between reliable error detection and time consumption
2Reliability
If a large number of static analysis alarms are generated, then comprehensive error detection is achieved, but the manual classification becomes very tedious and costly
Solution Approach 1:
The patent merges multiple alarms that share the same underlying cause into a single consolidated alarm representation. By grouping alarms with identical cause identifiers, the system reduces the total number of alarms requiring manual classification while preserving comprehensive error detection coverage, thus resolving the contradiction between thorough detection and classification effort
3Productivity
If existing methods group similar static analysis alarms together, then the number of reported alarms is reduced, but alarms related by the same variables or causes may fail to be grouped, resulting in redundancy
Solution Approach 1:
The patent introduces a cause identifier as an intermediary element that explicitly links alarms to their underlying causes. This intermediary enables accurate grouping of alarms by their causal relationships rather than superficial similarity, resolving the contradiction between reducing alarm redundancy and preserving causality information
Data Source
Figure 1
Figure 2
Figure 3
AI summary
This disclosure relates generally to a system and a method for repositioning of a plurality of static analysis alarms is provided. The proposed repositioned techniques, reposition each of the static analysis alarms from the set of static analysis alarms up or down the application code from the program points of their original reporting, for reducing the number of static analysis alarms reported or for reporting them closer to their causes or for both the objectives. Further the proposed repositioning techniques also ensure that the repositioning of the static analysis alarms is without affecting the errors uncovered by them. Further the disclosure also proposes to maintain traceability links between a repositioned static analysis alarm and its corresponding static analysis alarm(s). Further the disclosure proposes to display the repositioned static analysis alarms to the user instead of the set of static analysis alarms, for reducing redundancy from reporting and manual inspections of the set of static analysis alarms. Furthermore the disclosure proposes to display the traceability links only if a user requests for the same.