SUMMARIZING GRAPHS BY REGULAR EXPRESSIONS.
Mark N. Wegman
POPL 1983
This paper presents an algorithm for detecting when two computations produce equivalent values. The equivalence of programs, and hence the equivalence of values, is in general undecidable. Thus, the best one can hope to do is to give an efficient algorithm that detects a large subclass of all the possible equivalences in a program. Two variables are said to be equivalent at a point p if those variables contain the same values whenever control reaches p during any possible execution of the program. We will not examine all possible executions of the program. Instead, we will develop a static property called congruence. Congruence implies, but is not implied by, equivalence. Our approach is conservative in that any variables detected to be e will in fact be equivalent, but not all equivalences are detected.
Mark N. Wegman
POPL 1983
Ron Cytron, Jeanne Ferrante, et al.
POPL 1989
Bowen Alpern, Larry Carter
VIS 1991
Mark N. Wegman, F. Kenneth Zadeck
POPL 1985