Renaming Detection

Dr. James J. Hunt, Guido Malpohl, Walter F. Tichy


1 Apr 2003
ASE vol 10 issue 2 , Apr 2003 - Automated Software Engineering Volume 10 Issue 2, April 2003



Finding changed identifiers is important for understanding the difference between two versions of a program and for detecting and resolving conflicts while merging variants of a program together. Standard practice for differencing and merging relies on line based techniques that do not recognize renamed identifiers. The design and implementation of a tool to automatically detect renamed identifiers between two versions of a program is presented. The system uses an abstract representation of language constructs to enable language awareness without introducing language dependence. Modules for Java and Scheme have been written. The detector works with multiple file pairs, taking into account renamings that span several files. A case study is presented that demonstrates proof of concept. The detector is part of a suite of intelligent differencing and merging programs that exploit the static semantics of programming languages.

Download: PDF at SpringerLink