Determining detailed structural correspondence for generalization tasks

Rylan Cottrell, Joseph J. C. Chang, Robert J. Walker and Jörg Denzinger

appeared in:
Proc. 14th ACM SIGSOFT symposium on Foundations of software engineering (FSE-07), Dubrovnik, 2007, pp. 165-174


Abstract

Generalization tasks are important for continual improvement to the design of an evolving code base, eliminating redundancy where it has accumulated. An important step in generalization is identifying the detailed structural correspondence between two pieces of code being considered for generalization. Unfortunately, tool support for this step is insufficient, leaving the developer to resort to tedious and error-prone manual determination of correspondence. This paper presents an approach for automatically determining correspondences as an early step in a generalization task. The approach is implemented in a proof-of-concept plug-in to the Eclipse integrated development environment. Two small empirical evaluations of the tool have been conducted: a comparison between human attempts to determine detailed correspondences and those of the tool; and, a comparison of the use of the tool to the use of diff/CCFinder in performing generalization tasks.



Download paper (publisher's page)

Generated: 12/12/2007