Title :
An implementation of and experiment with semantic differencing
Author :
Binkley, David ; Capellini, Rob ; Raszewski, L. Ross ; Smith, Christopher
Author_Institution :
Dept. of Comput. Sci., Loyola Coll., Baltimore, MD, USA
Abstract :
Software maintainers face a wide range of difficult tasks including impact analysis and regression testing. Understanding semantic relationships, such as the semantic cohesiveness in a program or the semantic differences between two programs, can help a maintainer address these problems. However, semantic analysis is a difficult problem. For example, few semantic differencing algorithms and even fewer implementations exist. The first semantic differencing implementation for the C language is presented and studied. A large collection of semantic differences of 10 programs are computed. The average size reduction was 37.70%. The study presented illustrates the practicality of semantics differencing. Finally, the application of semantic differencing in the area of program testing and impact analysis is considered
Keywords :
C language; program slicing; programming language semantics; programming theory; software maintenance; C language; average size reduction; impact analysis; program testing; regression testing; semantic analysis; semantic cohesiveness; semantic differences; semantic differencing; semantic differencing implementation; semantic relationships; software maintainers; Application software; Computer languages; Computer science; Educational institutions; Electronic switching systems; Performance analysis; Runtime; Software debugging; Software maintenance; Software testing;
Conference_Titel :
Software Maintenance, 2001. Proceedings. IEEE International Conference on
Conference_Location :
Florence
Print_ISBN :
0-7695-1189-9
DOI :
10.1109/ICSM.2001.972714