Refactoring-aware version control

Today, refactorings are supported in some integrated development environments (IDEs). The refactoring operations can only work correctly if all source code that needs to be changed is available to the IDE. However, this precondition neither holds for application programming interface (API) evolution, nor in team development. The research presented in this paper aims to support refactoring in API evolution and team development by extending IDE and version control to allow refactoring-aware merging and migration.

[1]  Frank Tip,et al.  Refactoring support for class library migration , 2005, OOPSLA '05.

[2]  Roger Duke,et al.  Object-Z: a specification language advocated for the description of standards , 1995 .

[3]  Torbjörn Ekman,et al.  Refactoring-aware versioning in Eclipse , 2004, Electron. Notes Theor. Comput. Sci..

[4]  Tammo Freese Inline Method Considered Helpful: An Approach to Interface Evolution , 2003, XP.

[5]  Jeff H. Perkins,et al.  Automatically generating refactorings to support API evolution , 2005, PASTE '05.

[6]  J. Henkel,et al.  CatchUp! Capturing and replaying refactorings to support API evolution , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[7]  Tammo Freese Towards Software Configuration Management for Test-Driven Development , 2003, SCM.

[8]  Ralph E. Johnson,et al.  The role of refactorings in API evolution , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[9]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[10]  Martin Fowler Public versus Published Interfaces , 2002, IEEE Softw..

[11]  Ernst Lippe,et al.  Operation-based merging , 1992, SDE 5.