Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Finite constants: characterizations of a new decidable set of constants
MFCS '89 Selected papers of the symposium on Mathematical foundations of computer science
The Omega test: a fast and practical integer programming algorithm for dependence analysis
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
Undecidability of static analysis
ACM Letters on Programming Languages and Systems (LOPLAS)
Combining analyses, combining optimizations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Precise interprocedural dataflow analysis with applications to constant propagation
TAPSOFT '95 Selected papers from the 6th international joint conference on Theory and practice of software development
Advanced compiler design and implementation
Advanced compiler design and implementation
Constraint-based array dependence analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the complexity of flow-sensitive dataflow analyses
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Symbolic evaluation and the global value graph
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Flow Analysis of Computer P-OP
Flow Analysis of Computer P-OP
Program Flow Analysis: Theory and Application
Program Flow Analysis: Theory and Application
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
Polynomial Constants Are Decidable
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Analysing All Polynomial Equations in ${\mathbb Z_{2^w}}$
SAS '08 Proceedings of the 15th international symposium on Static Analysis
Checking herbrand equalities and beyond
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Complexity of Data Dependence Problems for Program Schemas with Concurrency
ACM Transactions on Computational Logic (TOCL)
Path optimization in programs and its application to debugging
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Hi-index | 0.00 |
Constant propagation (CP) is one of the most widely used optimizations in practice (cf. [9]). Intuitively, it addresses the problem of statically detecting whether an expression always evaluates to a unique constant at run-time. Unfortunately, as proved by different authors [4, 16], CP is in general undecidable even if the interpretation of branches is completely ignored. On the other hand, it is certainly decidable in more restricted settings, like on loop-free programs (cf. [7]). In this paper, we explore the complexity of CP for a three-dimensional taxonomy. We present an almost complete complexity classification, leaving only two upper bounds open.