Static Analysis Alarm Repositioning for Reducing False Positives

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveerror detection capabilityVSAvoidtime for traversing code to identify causes
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvecomprehensive error detectionVSAvoidmanual classification time
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #5Merging (Combining)

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

Engineering Contradiction:
Improvealarm reporting efficiencyVSAvoidloss of alarm causality relationships
Core Design Contradiction:
ProductivityVSLoss of information

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

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3588272B1Method and system for repositioning of a plurality of static analysis alarms
Publication Date: 2021.03.10 TATA CONSULTANCY SERVICES LTD
  • EP3588272B1 patent drawingFigure 1
  • EP3588272B1 patent drawingFigure 2
  • EP3588272B1 patent drawingFigure 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.