Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Interprocedural optimization: eliminating unnecessary recompilation
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
The theory of strictness analysis for higher order functions
on Programs as data objects
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Finding fixed points in finite lattices
Proc. of a conference on Functional programming languages and computer architecture
Abstract interpretation of declarative languages
Abstract interpretation of declarative languages
Numerical recipes: example book (C)
Numerical recipes: example book (C)
Control flow analysis in scheme
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
An Incremental Version of Iterative Data Flow Analysis
IEEE Transactions on Software Engineering
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
An efficient hybrid algorithm for incremental data flow analysis
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dependence flow graphs: an algebraic approach to program dependencies
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic generation and management of interprocedural program analyses
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Incremental data flow analysis in a structured program editor
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Efficient computation of flow insensitive interprocedural summary information
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Data flow analysis of applicative programs using minimal function graphs
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Incremental data flow analysis
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Dependence graphs and compiler optimizations
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Program's Eye View of Miprac
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
Proceedings of a symposium on Compiler optimization
Efficient computation of fixpoints that arise in abstract interpretation
Efficient computation of fixpoints that arise in abstract interpretation
Online Cycle Detection and Difference Propagation: Applications to Pointer Analysis
Software Quality Control
Efficient field-sensitive pointer analysis of C
ACM Transactions on Programming Languages and Systems (TOPLAS)
Access analysis-based tight localization of abstract memories
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Hi-index | 0.00 |
A chief source of inefficiency in program analysis using abstract interpretation comes from the fact that a large context (i.e., problem state) is propagated from node to node during the course of an analysis. This problem can be addressed and largely alleviated by a technique we call context projection, which projects an input context for a node to the portion that is actually relevant and determines whether the node should be reevaluated based on the projected context. This technique reduces the cost of an evaluation and eliminates unnecessary evaluations. Therefore, the efficiency of computing fixpoints over general lattices is greatly improved. A specific method, reachability, is presented as an example to accomplish context projection. Experimental results using reachability show very convincing speedups (more than eight for larger programs) that demonstrate the practical significance of context projection.