• Corpus ID: 237532603

Efficient Path-Sensitive Data-Dependence Analysis

  title={Efficient Path-Sensitive Data-Dependence Analysis},
  author={Peisen Yao and Jinguo Zhou and Xiao Xiao and Qingkai Shi and Rongxin Wu and Charles Zhang},
This paper presents a scalable pathand context-sensitive data-dependence analysis. The key is to address the aliasingpath-explosion problem via a sparse, demand-driven, and fused approach that piggybacks the computation of pointer information with the resolution of data dependence. Specifically, our approach decomposes the computational efforts of disjunctive reasoning into 1) a contextand semi-pathsensitive analysis that concisely summarizes data dependence as the symbolic and storeless value… 

Figures and Tables from this paper


Semi-sparse flow-sensitive pointer analysis
This paper presents a new interprocedural, flow-sensitive pointer analysis algorithm that combines two ideas-semi-sparse analysis and a novel use of BDDs-that arise from a careful understanding of the unique challenges that face flow- sensitive pointer analysis.
On-demand dynamic summary-based points-to analysis
This work presents an approach, called DynSum, to perform context-sensitive demand-driven points-to analysis fully on-demand by means of computing CFL-reachability summaries without any precision loss.
SPAS: Scalable Path-Sensitive Pointer Analysis on Full-Sparse SSA
A new SPAS (Scalable PAth-Sensitive) framework for resolving points-to sets in C programs that exploits recent advances in pointer analysis and guarantees that all points- to sets are obtained with non-decreasing precision.
Demand-driven pointer analysis
This paper describes a demand-driven flow-insensitive, subset-based, con text-inssensitive points-to analysis, and proves that the algorithm is correct and optimal in the sense that it does not do more work than necessary.
Precise and scalable context-sensitive pointer analysis via value flow graph
This paper develops an efficient algorithm and implements a context-, flow-, and field-sensitive pointer analysis with heap cloning support in LLVM, and proves that the approach can achieve context-sensitivity without loss of precision.
Bootstrapping: a technique for scalable flow and context-sensitive pointer alias analysis
We propose a framework for improving both the scalability as well as the accuracy of pointer alias analysis, irrespective of its flow or context-sensitivities, by leveraging a three-pronged strategy
Parallel sparse flow-sensitive points-to analysis
PSEGPT is a scalable interprocedural flow-sensitive context-insensitive points-to analysis that is amenable to efficient task-parallel implementa- tions, even though points- to analysis is usually viewed as a challenge problem for parallelization.
Demand-driven alias analysis for C
This paper formulate the computation of alias queries as a CFL-reachability problem, and uses this formulation to derive a demand-driven analysis algorithm that uses a worklist algorithm that gradually explores the program structure and stops as soon as enough evidence is gathered to answer the query.
Evaluating the benefits of context-sensitive points-to analysis using a BDD-based implementation
Paddle, a framework of BDD-based context-sensitive points-to and call graph analyses for Java, finds that object-sensitive analyses are more precise than comparable variations of the other approaches, and that specializing the heap abstraction improves precision more than extending the length of context strings.
Boosting the performance of flow-sensitive points-to analysis using value flow
An algorithm to build the value flow graph efficiently by examining the pointed-to-by set of a memory object, i.e., the set of pointers that point to an object, which is very useful for applications such as escape analysis, and information flow analysis.