Selective Path Sensitive Interval Analysis for Software Verification
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If arbitrary partitioning of paths is performed when number of paths exceeds K, then scalability is improved, but measurement precision deteriorates
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.
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.
3Productivity
If more paths are merged to maintain scalability, then productivity is improved, but reliability deteriorates due to imprecise intervals
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.
Data Source
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.

