2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011) (2004)
Sept. 20, 2004 to Sept. 24, 2004
Alessandro Orso , Georgia Institute of Technology, Atlanta
Mary Jean Harrold , Georgia Institute of Technology, Atlanta
Taweesup Apiwattanapong , Georgia Institute of Technology, Atlanta
During software evolution, information about changes between different versions of a program is useful for a number of software engineering tasks. For many of these tasks, a purely syntactic differencing may not provide enough information for the task to be performed effectively. This problem is especially relevant in the case of object-oriented software, for which a syntactic change can have subtle and unforeseen effects. In this paper, we present a technique for comparing object-oriented programs that identifies both differences and correspondences between two versions of a program. The technique is based on a representation that handles object-oriented features and, thus, can capture the behavior of object-oriented programs. We also present JDIFF, a tool that implements the technique for Java programs, and empirical results that show the efficiency and effectiveness of the technique on a real program.
Alessandro Orso, Mary Jean Harrold, Taweesup Apiwattanapong, "A Differencing Algorithm for Object-Oriented Programs", 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), vol. 00, no. , pp. 2-13, 2004, doi:10.1109/ASE.2004.10015