Abstract
Computing Herbrand equivalences of terms in data flow frameworks is well studied in program analysis. While algorithms use iterative fix-point computation on some abstract lattice of expressions relevant to the flow graph, the definition of Herbrand equivalences is based on an equivalence over all program paths formulation, on the (infinite) set of all expressions. The aim of this paper is to develop a lattice theoretic fix-point formulation of Herbrand equivalence on a concrete lattice defined over the set of all terms constructible from variables, constants and operators of a program. This new formulation makes explicit the underlying lattice framework as well as the monotone function involved in computing Herbrand equivalences. We introduce the notion of Herbrand congruence and define an (infinite) concrete lattice of Herbrand congruences. Herbrand equivalence is defined as the maximum fix-point of a composite transfer function defined over an appropriate product lattice of the above concrete lattice. We then re-formulate the traditional meet over all paths definition in our lattice theoretic framework. and prove that the maximum fix-point (MFP) and the meet-over-all-paths (MOP) formulations coincide as expected.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis, vol. 1. Springer, Heidelberg (1999). https://doi.org/10.1007/978-3-662-03811-6
Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, vol. 2. Addison-Wesley Reading, Boston (2006)
Kam, J.B., Ullman, J.D.: Monotone data flow analysis frameworks. Acta Informatica 7(3), 305–317 (1977)
Rüthing, O., Knoop, J., Steffen, B.: Detecting equalities of variables: combining efficiency with precision. In: Cortesi, A., Filé, G. (eds.) SAS 1999. LNCS, vol. 1694, pp. 232–247. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48294-6_15
Steffen, B., Knoop, J., Rüthing, O.: The value flow graph: a program representation for optimal program transformations. In: Jones, N. (ed.) ESOP 1990. LNCS, vol. 432, pp. 389–405. Springer, Heidelberg (1990). https://doi.org/10.1007/3-540-52592-0_76
Müller-Olm, M., Rüthing, O., Seidl, H.: Checking herbrand equalities and beyond. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 79–96. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-30579-8_6
Gulwani, S., Necula, G.C.: A polynomial-time algorithm for global value numbering. Sci. Comput. Program. 64(1), 97–114 (2007)
Pai, R.R.: Detection of redundant expressions: a precise, efficient, and pragmatic algorithm in SSA. Comput. Lang. Syst. Struct. 46, 167–181 (2016)
Kildall, G.A.: A unified approach to global program optimization. In: Proceedings of the 1st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL 1973, pp. 194–206. ACM (1973)
Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL 1977, pp. 238–252. ACM (1977)
Kam, J.B., Ullman, J.D.: Global data flow analysis and iterative algorithms. J. ACM 23(1), 158–171 (1976)
Alpern, B., Wegman, M.N., Zadeck, F.K.: Detecting equality of variables in programs. In: Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1988, pp. 1–11. ACM (1988)
Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Global value numbers and redundant computations. In: Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1988, pp. 12–27. ACM (1988)
Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pacific J. Math. 5(2), 285–309 (1955)
Cousot, P.: Asynchronous iterative methods for solving a fixed point system of monotone equations in a complete lattice. In: Research Report R.R. 88, Laboratoire IMAG, Université scientifique et médicale de Grenoble, Grenoble, France, 15 p., September 1977
Geser, A., Knoop, J., Lüttgen, G., Rüthing, O., Steffen, B.: Non-monotone fixpoint iterations to resolve second order effects. In: Gyimóthy, T. (ed.) CC 1996. LNCS, vol. 1060, pp. 106–118. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-61053-7_56
Babu, J., Krishnan, K.M., Paleri, V.: A fix-point characterization of herbrand equivalence of expressions in data flow frameworks. arXiv:1708.04976 (2017)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer-Verlag GmbH Germany, part of Springer Nature
About this paper
Cite this paper
Babu, J., Murali Krishnan, K., Paleri, V. (2019). A Fix-Point Characterization of Herbrand Equivalence of Expressions in Data Flow Frameworks. In: Khan, M., Manuel, A. (eds) Logic and Its Applications. ICLA 2019. Lecture Notes in Computer Science(), vol 11600. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-58771-3_15
Download citation
DOI: https://doi.org/10.1007/978-3-662-58771-3_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-58770-6
Online ISBN: 978-3-662-58771-3
eBook Packages: Computer ScienceComputer Science (R0)