Title :
Semantic Diff: a tool for summarizing the effects of modifications
Author :
Jackson, Daniel ; Ladd, David A.
Author_Institution :
Sch. of Comput. Sci., Carnegie Mellon Univ., Pittsburgh, PA, USA
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 :
configuration management; input-output programs; program diagnostics; real-time systems; software tools; Semantic Diff; local variable renaming; meaning-preserving transformations; observable input-output behaviour; procedure versions; program dependence graphs; real-time system; report generation; semantic differences; software modification effects summarization; spurious differences; syntactic components; Real-time systems; Software fault diagnosis; Software tools;
Conference_Titel :
Software Maintenance, 1994. Proceedings., International Conference on
Conference_Location :
Victoria, BC
Print_ISBN :
0-8186-6330-8
DOI :
10.1109/ICSM.1994.336770