ACM Home Page
Please provide us with feedback. Feedback
Determining detailed structural correspondence for generalization tasks
Full text PdfPdf (277 KB)
Source
Foundations of Software Engineering archive
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering table of contents
Dubrovnik, Croatia
SESSION: Refactoring automation table of contents
Pages: 165 - 174  
Year of Publication: 2007
ISBN:978-1-59593-811-4
Authors
Rylan Cottrell  University of Calgary, Calgary, Alberta, Canada
Joseph J. C. Chang  University of Calgary, Calgary, Alberta, Canada
Robert J. Walker  University of Calgary, Calgary, Alberta, Canada
Jörg Denzinger  University of Calgary, Calgary, Alberta, Canada
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1287624.1287649
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
 
4
 
5
6
 
7
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 2000.
 
8
9
 
10
J. Huny and M. D. McIlroy. An algorithm for differential file comparison. Technical Report CSTR #41, Bell Telephone Laboratories, 1976.
 
11
12
 
13
 
14
 
15
G. D. Plotkin. A note on inductive generalization. Machine Intelligence, 5:153--163, 1970.
 
16
L. Pottier. Généralisation de termes en théorie equationnelle, cas associatif-commutatif. Technical Report 1056, INRIA, 1989.
17
 
18
U. Schmid, U. Sinha, and F. Wysotzki. Program reuse and abstraction by anti-unification. In G. Stumme et al., editors, Professionelles Wissensmanagement-Erfahrungen und Visionen (German Workshop of Case-Based Reasoning), pages 183--185. Shaker, 2001.
19
 
20
 
21


Collaborative Colleagues:
Rylan Cottrell: colleagues
Joseph J. C. Chang: colleagues
Robert J. Walker: colleagues
Jörg Denzinger: colleagues