Selective Path Sensitive Interval Analysis for Software Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional static code analysis tools face challenges in scalability and precision when analyzing large software systems, particularly due to arbitrary partitioning or merging of paths in K-limited path-sensitive interval analysis, which can lead to imprecise intervals and invalidity of program properties.

Innovation Solution

The method involves identifying Variables of Interest (VoIs) and selectively merging paths based on these VoIs at join points, using criteria such as identical or continuous intervals, to maintain precise intervals and verify program properties effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If K-limited path sensitive interval analysis is used to maintain path-wise information, then precision is improved, but device complexity increases

Engineering Contradiction:
ImproveprecisionVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the set of all paths into K subsets at join points, where K is a configurable limit. This segmentation allows the analysis to maintain path-wise information for a manageable number of paths while still capturing essential precision, resolving the contradiction between precision and complexity by dividing the problem into smaller, tractable parts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial path sensitivity by maintaining information for only K subsets of paths rather than all possible paths. This partial action approach provides sufficient precision for verification while avoiding the exponential complexity of tracking all paths, effectively balancing precision requirements with computational feasibility.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If arbitrary partitioning of paths is performed when number of paths exceeds K, then scalability is improved, but measurement precision deteriorates

Engineering Contradiction:
ImprovescalabilityVSAvoidprecision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent changes the parameter of path merging from arbitrary to selective based on interval criteria. By using interval-based merging criteria (checking if intervals are identical or overlapping), the system maintains precision while achieving scalability, as the merging decision is driven by data-driven parameters rather than arbitrary choices.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces feedback mechanisms where interval information from different paths is continuously monitored and used to guide merging decisions. When intervals indicate that paths can be merged without losing precision, the system merges them; otherwise, paths are kept separate. This feedback loop ensures precision is maintained while enabling scalability through intelligent merging.

Inventive Principle:
Principle #23Feedback

3Productivity

If more paths are merged to maintain scalability, then productivity is improved, but reliability deteriorates due to imprecise intervals

Engineering Contradiction:
ImproveproductivityVSAvoidreliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary analysis to compute intervals for each path before making merging decisions. By pre-computing interval information and using it to guide merging, the system ensures that only paths with compatible intervals are merged, maintaining reliability while achieving the productivity benefits of path merging for scalability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11650907B2Systems and methods for selective path sensitive interval analysis
Publication Date: 2023.05.16 TATA CONSULTANCY SERVICES LTD
  • US11650907B2 patent drawing
  • US11650907B2 patent drawing

AI summary

Abstract interpretation based static analysis tools use relational/non-relational abstract domains to verify program properties. Precision and scalability of analysis vary basis usage of abstract domains. K-limited path-sensitive interval domain is an abstract domain that was conventionally proposed for analysis on industry strength programs. The domain maintains variables' intervals along a configurable K subsets of paths at each program point, which implicitly provides co-relation among variables. When the number of paths at the join point exceeds K, set of paths are partitioned into K subsets, arbitrarily, which results in loss of precision required to verify program properties. To address the above problem, embodiments of the present disclosure provide selective merging of paths in such a way that the intervals computed help verifying more properties. The selective path-sensitive method of the present disclosure is based on the knowledge of variables whose values influence the verification outcome of program properties.