Static Analysis Intermediate Representation Clarification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Static analysis tools face challenges in accurately analyzing complex or missing intermediate representations of software programs, leading to false defect detection or non-detection of real issues, especially when dealing with external components like .Net or STL data structures, due to over-approximation and complexity.
Innovation Solution
An analysis-time resolution component is introduced to provide supplemental intermediate representations, clarifying ambiguous portions of the program code, allowing for more precise analysis by querying and generating specific instantiations of generic functions and external function calls, thereby reducing noise and improving defect detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If path sensitive dataflow analysis is performed exhaustively on intermediate representation, then measurement precision of defect detection is improved, but device complexity of analysis system increases
Solution Approach 1:
The patent segments the analysis system into distinct components: an analysis component that performs path sensitive dataflow analysis, and a separate analysis-time resolution component that handles intermediate representation generation and clarification. This segmentation allows the analysis component to focus on precise defect detection while the resolution component manages the complexity of intermediate representation handling.
Solution Approach 2:
The patent introduces an analysis-time resolution component as an intermediary between the intermediate representation generation and the analysis component. This intermediary resolves ambiguities and provides clarified intermediate representations, enabling the analysis component to achieve high measurement precision without being burdened by the complexity of intermediate representation processing.
2Adaptability or versatility
If intermediate representation is made generic and parameterized, then adaptability of analysis tool is improved, but manufacturing precision of analysis results deteriorates
Solution Approach 1:
The patent implements dynamic resolution of generic intermediate representations at analysis time. The analysis-time resolution component receives generic parameterized intermediate representations and dynamically instantiates them with appropriate type information based on the specific analysis context. This allows the system to maintain adaptability through generic representations while achieving precision through context-specific instantiation.
Solution Approach 2:
The patent changes parameters of generic intermediate representations at analysis time based on the specific program being analyzed. The analysis-time resolution component modifies type parameters and other generic parameters to match the concrete instantiation required for accurate analysis, thereby transforming adaptable generic representations into precise analysis-specific representations.
3Device complexity
If external components are approximated away in analysis, then device complexity is reduced, but object-generated harmful factors increase due to false defects
Solution Approach 1:
The patent performs preliminary action by having the analysis-time resolution component generate and clarify intermediate representations for external components before the analysis component processes them. This preliminary clarification ensures that external components like .Net or STL data structures are represented with sufficient detail to avoid false defect detection, while still managing complexity through systematic preprocessing.
Data Source
AI summary
The analysis of an intermediate representation of source or program code. An initial version of an initial representation of the source or program code is accessed and statically analyzed. For one or more portions of this initial version, the analysis component queries an analysis-time resolution component that provides supplemental intermediate representations corresponding to the portion. This supplemental intermediate representation provides further clarity regarding the portion, and is analyzed. If defects are found, they may be reported.


