Analysis of pointers and structures
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Automatic construction of sparse data flow evaluation graphs
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
A safe approximate algorithm for interprocedural aliasing
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Efficiently computing Φ-nodes on-the-fly
ACM Transactions on Programming Languages and Systems (TOPLAS)
Points-to analysis in almost linear time
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Partitioning dataflow analyses using types
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Putting pointer analysis to work
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Using static single assignment form to improve flow-insensitive pointer analysis
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Interprocedural pointer alias analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Unification-based pointer analysis with directional assignments
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Pointer and escape analysis for multithreaded programs
PPoPP '01 Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming
Symbolic evaluation and the global value graph
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Assessing the Effects of Flow-Sensitivity on Pointer Alias Analyses
SAS '98 Proceedings of the 5th International Symposium on Static Analysis
Simple Generation of Static Single-Assignment Form
CC '00 Proceedings of the 9th International Conference on Compiler Construction
Effective Representation of Aliases and Indirect Memory Operations in SSA Form
CC '96 Proceedings of the 6th International Conference on Compiler Construction
Algorithms for computing the static single assignment form
Journal of the ACM (JACM)
Proceedings of the 2002 IEEE/ACM international conference on Computer-aided design
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Compiler support for speculative multithreading architecture with probabilistic points-to analysis
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
Precise Call Graphs for C Programs with Function Pointers
Automated Software Engineering
Cloning-based context-sensitive pointer alias analysis using binary decision diagrams
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Towards scalable flow and context sensitive pointer analysis
Proceedings of the 42nd annual Design Automation Conference
Error checking with client-driven pointer analysis
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Effective typestate verification in the presence of aliasing
Proceedings of the 2006 international symposium on Software testing and analysis
The ant and the grasshopper: fast and accurate pointer analysis for millions of lines of code
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Bootstrapping: a technique for scalable flow and context-sensitive pointer alias analysis
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Efficient and extensible security enforcement using dynamic data flow analysis
Proceedings of the 15th ACM conference on Computer and communications security
Semi-sparse flow-sensitive pointer analysis
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient flow-sensitive interprocedural data-flow analysis in the presence of pointers
CC'06 Proceedings of the 15th international conference on Compiler Construction
Exploiting pointer and location equivalence to optimize pointer analysis
SAS'07 Proceedings of the 14th international conference on Static Analysis
DOJ: dynamically parallelizing object-oriented programs
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
Access-Based localization with bypassing
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
SPAS: scalable path-sensitive pointer analysis on full-sparse SSA
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Design and implementation of sparse global analyses for C-like languages
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
On-demand dynamic summary-based points-to analysis
Proceedings of the Tenth International Symposium on Code Generation and Optimization
Static memory leak detection using full-sparse value-flow analysis
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Scalable flow-sensitive pointer analysis for java with strong updates
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Practical Integrated Analysis of Pointers, Dataflow and Control Flow
ACM Transactions on Programming Languages and Systems (TOPLAS)
An incremental points-to analysis with CFL-Reachability
CC'13 Proceedings of the 22nd international conference on Compiler Construction
AUTOCRYPT: enabling homomorphic computation on servers to protect sensitive web content
Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security
Parallel flow-sensitive pointer analysis by graph-rewriting
PACT '13 Proceedings of the 22nd international conference on Parallel architectures and compilation techniques
Accelerating Dynamic Detection of Uses of Undefined Values with Static Value-Flow Analysis
Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization
Time- and space-efficient flow-sensitive points-to analysis
ACM Transactions on Architecture and Code Optimization (TACO)
Hi-index | 0.00 |
Many program analyses benefit, both in precision and performance, from precise pointer analysis. An important dimension of pointer analysis precision is flow-sensitivity, which has been shown to be useful for applications such as program verification and static analysis of binary code, among many others. However, flow-sensitive pointer analysis has historically been unable to scale to programs with millions of lines of code. We present a new flow-sensitive pointer analysis algorithm that is an order of magnitude faster than the existing state of the art, enabling for the first time flow-sensitive pointer analysis for programs with millions of lines of code. Our flow-sensitive algorithm is based on a sparse representation of program code created by a staged, flow-insensitive pointer analysis. We explain how this new algorithm is a member of a new family of pointer analysis algorithms that deserves further study.