Volume 1694 of the series Lecture Notes in Computer Science pp 232247
Detecting Equalities of Variables: Combining Efficiency with Precision
 Oliver RüthingAffiliated withDepartment of Computer Science, University of Dortmund
 , Jens KnoopAffiliated withDepartment of Computer Science, University of Dortmund
 , Bernhard SteffenAffiliated withDepartment of Computer Science, University of Dortmund
Abstract
Detecting whether different variables have the same value at a program point is generally undecidable. Though the subclass of equalities, whose validity holds independently from the interpretation of operators (Herbrandequivalences), is decidable, the technique which is most widely implemented in compilers, value numbering, is restricted to basic blocks. Basically, there are two groups of algorithms aiming at globalizations of value numbering: first, a group of algorithms based on the algorithm of Kildall, which uses data flow analysis to gather information on value equalities. These algorithms are complete in detecting Herbrandequivalences, however, expensive in terms of computational complexity. Second, a group of algorithms influenced by the algorithm of Alpern, Wegman and Zadeck. They do not fully interpret the control flow, which allows them to be particularly efficient, however, at the price of being significantly less precise than their Kildalllike counterparts. In this article we discuss how to combine the best features of both groups by aiming at a fair balance between computational complexity and precision. We propose an algorithm, which extends the one of Alpern, Wegman and Zadeck. The new algorithm is polynomial and, in practice, expected to be almost as efficient as the original one. Moreover, for acyclic control flow it is as precise as Kildall’s one, i. e. it detects all Herbrandequivalences.
 Title
 Detecting Equalities of Variables: Combining Efficiency with Precision
 Book Title
 Static Analysis
 Book Subtitle
 6th International Symposium, SAS’99 Venice, Italy, September 22–24, 1999 Proceedings
 Pages
 pp 232247
 Copyright
 1999
 DOI
 10.1007/3540482946_15
 Print ISBN
 9783540664598
 Online ISBN
 9783540482949
 Series Title
 Lecture Notes in Computer Science
 Series Volume
 1694
 Series ISSN
 03029743
 Publisher
 Springer Berlin Heidelberg
 Copyright Holder
 SpringerVerlag Berlin Heidelberg
 Additional Links
 Topics
 Industry Sectors
 eBook Packages
 Editors

 Agostino Cortesi ^{(4)}
 Gilberto Filé ^{(5)}
 Editor Affiliations

 4. Dipartimento di Informatica, Università Ca’Foscari di Venezia
 5. Dipartimento di Matematica Pura ed Applicata, Università di Padova
 Authors

 Oliver Rüthing ^{(6)}
 Jens Knoop ^{(6)}
 Bernhard Steffen ^{(6)}
 Author Affiliations

 6. Department of Computer Science, University of Dortmund, Germany
Continue reading...
To view the rest of this content please follow the download PDF link above.