Selective Object Sensitive Points-to Analysis for Heap Allocation Sites

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing program analysis techniques, such as points-to analysis, face challenges in scalability and accuracy due to the fixed context sensitivity, which does not adapt to varying heap allocation sites, leading to inefficiencies in identifying object relationships and potential vulnerabilities.

Innovation Solution

A dynamic object sensitive points-to analysis method that varies context depth based on heap allocation sites, allowing for selective context sensitivity for different objects, thereby improving scalability and accuracy by focusing analysis on relevant object contexts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fixed context sensitivity is used in points-to analysis, then the analysis can be performed uniformly across all objects, but the accuracy deteriorates because it does not adapt to varying heap allocation sites

Engineering Contradiction:
Improveadaptability to heap allocation sitesVSAvoidaccuracy of object relationship identification
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent applies local quality by assigning different context sensitivity levels to different objects based on their heap allocation sites. Instead of using a uniform fixed context sensitivity for all objects, the analysis dynamically determines appropriate context depths for specific objects, allowing the analysis to adapt locally to the characteristics of each heap allocation site while maintaining overall system consistency.

Inventive Principle:
Principle #3Local quality

2Productivity

If fixed context sensitivity is used for all objects, then the analysis process remains simple and uniform, but scalability deteriorates due to inefficiencies in identifying object relationships

Engineering Contradiction:
Improvescalability of program analysisVSAvoidcomplexity of context sensitivity assignment
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamics by making context sensitivity adjustable and adaptive rather than fixed. The system dynamically determines context depths for different objects based on their heap allocation sites and relationships, allowing the analysis to scale efficiently with program size while automatically adapting to the complexity of object relationships without requiring manual configuration.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If uniform context depth is assigned to all candidate objects, then the analysis can be performed efficiently with a single parameter, but the accuracy deteriorates because different objects require different levels of context sensitivity

Engineering Contradiction:
Improveaccuracy of points-to analysisVSAvoidcomplexity of selective analysis configuration
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by varying the context depth parameter for different objects based on their heap allocation sites. Instead of using a single uniform context depth for all objects, the system adjusts this parameter dynamically for each object, allowing high-precision analysis where needed while maintaining efficiency elsewhere, thus improving overall accuracy without requiring complex manual configuration.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10318257B2Selective object sensitive points-to analysis
Publication Date: 2019.06.11 ORACLE INT CORP
  • US10318257B2 patent drawing
  • US10318257B2 patent drawing
  • US10318257B2 patent drawing

AI summary

A method for points-to program analysis includes extracting a kernel from a program, performing a fixed object sensitive points to analysis of the kernel to obtain fixed analysis results, and assigning, for a first candidate object in the kernel, a first context depth to the first candidate object. The candidate objects are identified using the fixed analysis results. The method further includes assigning, for a second candidate object, a second context depth to the second candidate object. The second context depth is different than the first context depth. The method further includes performing, to obtain selective analysis results, a selective object sensitive points to analysis using the first context depth for the first candidate object and the second context depth for the second candidate object, and performing an action based on the selective analysis results.