DocumentCode :
1245768
Title :
Using origin analysis to detect merging and splitting of source code entities
Author :
Godfrey, Michael W. ; Zou, Lijie
Author_Institution :
Sch. of Comput. Sci., Waterloo Univ., Ont., Canada
Volume :
31
Issue :
2
fYear :
2005
Firstpage :
166
Lastpage :
181
Abstract :
Merging and splitting source code entities is a common activity during the lifespan of a software system; as developers rethink the essential structure of a system or plan for a new evolutionary direction, so must they be able to reorganize the design artifacts at various abstraction levels as seems appropriate. However, while the raw effects of such changes may be plainly evident in the new artifacts, the original context of the design changes is often lost. That is, it may be obvious which characters of which files have changed, but it may not be obvious where or why moving, renaming, merging, and/or splitting of design elements has occurred. In this paper, we discuss how we have extended origin analysis (Q. Tu et al., 2002), (M.W. Godfrey et al., 2002) to aid in the detection of merging and splitting of files and functions in procedural code; in particular, we show how reasoning about how call relationships have changed can aid a developer in locating where merges and splits have occurred, thereby helping to recover some information about the context of the design change. We also describe a case study of these techniques (as implemented in the Beagle tool) using the PostgreSQL database system as the subject.
Keywords :
SQL; merging; reasoning about programs; reverse engineering; software development management; software maintenance; systems re-engineering; PostgreSQL database system; merging; origin analysis; software system; source code entity; Database systems; Documentation; Environmental management; History; Information analysis; Merging; Reverse engineering; Software maintenance; Software systems; Software tools; Index Terms- Software evolution; and reengineering.; origin analysis; restructuring; reverse engineering;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/TSE.2005.28
Filename :
1401931
Link To Document :
بازگشت