Semantic Diff: a tool for summarizing the effects of modifications
- 1 January 1994
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 243-252
- https://doi.org/10.1109/icsm.1994.336770
Abstract
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.Keywords
This publication has 7 references indexed in Scilit:
- Using semantic differencing to reduce the cost of regression testingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Abstract analysis with aspectPublished by Association for Computing Machinery (ACM) ,1993
- Automated assistance for program restructuringACM Transactions on Software Engineering and Methodology, 1993
- Incremental program testing using program dependence graphsPublished by Association for Computing Machinery (ACM) ,1993
- Seesoft-a tool for visualizing line oriented software statisticsIEEE Transactions on Software Engineering, 1992
- Dependence analysis for pointer variablesPublished by Association for Computing Machinery (ACM) ,1989
- The program dependence graph and its use in optimizationACM Transactions on Programming Languages and Systems, 1987