Title :
Understanding and Aiding Code Evolution by Inferring Change Patterns
Author_Institution :
Comput. Sci. & Eng., Univ. of Washington, Seattle, WA
Abstract :
Evolution continues to play an ever-increasing role in software engineering. Although changing a program is the core of software evolution, program change patterns have not been considered as a first class entity in most classic studies of software evolution. Past empirical studies of software evolution primarily relied on quantitative and statistical analyses of a program over time, but did not focus on semantic and qualitative change patterns of a program. We hypothesize that by treating change patterns as first class entities we can better understand software evolution and also aid programmers in changing software. Our goal is to infer clone evolution patterns from a set of program versions stored in a source code repository. We defined a set of common clone evolution patterns based on our insights from the copy and paste study.
Keywords :
configuration management; software prototyping; clone evolution pattern; program change pattern; program version; software engineering; software evolution; source code repository; Cloning; Computer languages; Computer science; Control systems; Pattern analysis; Programming profession; Software engineering; Software quality; Software tools; Statistical analysis;
Conference_Titel :
Software Engineering - Companion, 2007. ICSE 2007 Companion. 29th International Conference on
Conference_Location :
Minneapolis, MN
Print_ISBN :
0-7695-2892-9
DOI :
10.1109/ICSECOMPANION.2007.81