JDiff: A differencing technique and tool for object-oriented programs |
| |
Authors: | Taweesup Apiwattanapong Alessandro Orso Mary Jean Harrold |
| |
Affiliation: | (1) Georgia Institute of Technology, Atlanta, Georgia, USA |
| |
Abstract: | During software evolution, information about changes between different versions of a program is useful for a number of software
engineering tasks. For example, configuration-management systems can use change information to assess possible conflicts among
updates from different users. For another example, in regression testing, knowledge about which parts of a program are unchanged
can help in identifying test cases that need not be rerun. 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. Finally, we present the results of four empirical studies, performed
on many versions of two medium-sized subjects, that show the efficiency and effectiveness of the technique when used on real
programs.
|
| |
Keywords: | Program differencing Software evolution |
本文献已被 SpringerLink 等数据库收录! |
|