Static Analysis Alarm Repositioning via Non-Impacting Control Dependencies

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

VSEngineering 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

Engineering Contradiction:
Improvedefect detection accuracyVSAvoidnumber of false positive alarms
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvealarm classification accuracyVSAvoidmanual classification time and cost
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvenumber of alarms reducedVSAvoidrepositioning applicability across different conditional statements
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10877749B1Method and system for non-impacting control dependencies based repositioning of static analysis alarms
Publication Date: 2020.12.29 TATA CONSULTANCY SERVICES LTD
  • US10877749B1 patent drawing
  • US10877749B1 patent drawing
  • US10877749B1 patent drawing

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.