Title :
Effective Software Merging in the Presence of Object-Oriented Refactorings
Author :
Dig, Danny ; Manzoor, Kashif ; Johnson, Ralph ; Nguyen, Tien N.
Author_Institution :
Stata Center, MIT CSAIL, Cambridge, MA
Abstract :
Current text based Software Configuration Management (SCM) systems have trouble with refactorings. Refactorings result in global changes which lead to merge conflicts. A refactoring-aware SCM system reduces merge conflicts. This paper describes MolhadoRef, a refactoring-aware SCM system and the merge algorithm at its core. MolhadoRef records change operations (refactorings and edits) used to produce one version, and replays them when merging versions. Since refactorings are change operations with well defined semantics, MolhadoRef treats them intelligently. A case study and a controlled experiment show that MolhadoRef automatically solves more merge conflicts than CVS while resulting in fewer merge errors.
Keywords :
object-oriented programming; software engineering; MolhadoRef records; object-oriented refactorings; refactoring-aware SCM system; software configuration management; software merging; Configuration Management; Restructuring; Version control; and reengineering; reverse engineering;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2008.29