Static Analysis Tool Reducing Violation Report Volume

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Static analysis of computer programs often generates overwhelming reports with thousands of findings, many of which are spurious, due to undecidability and missing specifications, leading to poor usability and missed actual issues.

Innovation Solution

The method involves encoding the program to add sufficient correctness conditions that, if satisfied, render the program correct, thereby reducing reported violations by identifying and addressing the root cause of issues, and presenting these conditions to the user for verification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static analysis reports all potential violations to ensure completeness, then the coverage of security findings is improved, but the report size becomes prohibitively large and usability deteriorates

Engineering Contradiction:
Improvecompleteness of security findingsVSAvoidusability of security report
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the security report into two distinct parts: (1) a concise summary of assumptions and root causes, and (2) detailed violation information. This segmentation allows users to first review the high-level summary to understand the core issues, then drill down into detailed violations only when necessary, thereby reducing the initial cognitive load while maintaining complete information availability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of presenting all violations first and asking users to filter them, the patent inverts the approach by presenting assumptions and root causes first, then showing violations only where needed. This inversion shifts the focus from listing all problems to explaining the fundamental issues, making the report more actionable and easier to understand.

Inventive Principle:
Principle #13The other way round (Inversion)

2Ease of operation

If static analysis uses conservative merging criteria to reduce report size, then the report becomes more manageable, but valuable information is lost due to aggressive merging

Engineering Contradiction:
Improvemanageability of security reportVSAvoidloss of valuable security information
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent applies different levels of detail to different parts of the report. The assumption summary provides high-level overview information, while individual violation entries provide detailed local information. This local quality approach ensures that aggressive merging is avoided for detailed information while still providing summary-level consolidation to improve manageability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent adds a hierarchical dimension to the report structure with two levels: (1) assumption level summary, and (2) violation level details. This dimensional change allows users to navigate the report at different levels of granularity, preventing information loss while maintaining manageability through the hierarchical organization.

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

3Measurement precision

If static analysis provides detailed violation information for each finding, then the precision of security analysis is improved, but the overall report size becomes prohibitively large

Engineering Contradiction:
Improveprecision of security analysisVSAvoidvolume of security report
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the report into a compact assumption summary section and a detailed violation section. The assumption summary captures the essential precision information about root causes and correctness conditions in a condensed format, while detailed violation information is provided only when users need to investigate specific issues, thereby reducing overall report volume while maintaining analysis precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the most critical precision information (assumptions and root causes) from the detailed violation data and presents it separately in the summary section. This extraction allows users to access high-precision analysis results without being overwhelmed by redundant detailed information, effectively reducing report volume while preserving measurement precision.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8935674B2Determining correctness conditions for use in static analysis
Publication Date: 2015.01.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8935674B2 patent drawing
  • US8935674B2 patent drawing
  • US8935674B2 patent drawing

AI summary

An embodiment comprising a method is associated with static analysis of a program, which detects violations of conditions of the program correctness specification. The method includes selectively encoding the program and adding one or more correctness conditions to the encoded program, wherein the added conditions comprise a set of assumptions that render the program correct with respect to one or more properties pertaining to detected violations. The set of assumptions are reported to a program user, together with a request to the user to verify the validity of each assumption of the set.