Semantic Differences: A Tool for Summarizing the Effects of Modifications
Authors: Daniel Jackson and David A. Ladd
Proceedings of the International Conference on Software Maintenance,
1994.
Sorry, no postscript yet.
Abstract
This paper describes a tool that takes two versions of a procedure and
generates a report summarizing the semantic differences between them.
Unlike existing tools based on comparison of program dependence graphs, our
tool expresses its results in terms of the observable input-output
behaviour of the procedure, rather than its syntactic structure. And
because the analysis is truly semantic, it requires no prior matching of
syntactic components, and generates fewer spurious differences, so that
meaning-preserving transformations (such as renaming local variables) are
correctly determined to have no visible effect. A preliminary experiment on
modifications applied to the code of a large real-time system suggests that
the approach is practical.