ABSTRACT
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.
- I. Balaban, F. Tip, and R. Fuhrer. Refactoring support for class library migration. In OOPSLA '05 Proceedings, pages 265--279, 2005. Google ScholarDigital Library
- D. Dig and R. Johnson. The role of refactorings in API evolution. In Proceedings of the ICSM 2005, 2005. Google ScholarDigital Library
- R. Duke, G. Rose, and G. Smith. Object-Z: a specification language advocated for the description of standards. Technical Report 94-45, Software Verification Research Centre, The University of Queensland, 1994.Google Scholar
- Eclipse. http://www.eclipse.org/.Google Scholar
- T. Ekman and U. Asklund. Refactoring-aware versioning in Eclipse. Electronic Notes of Theorical Computer Science, 107, 2004. Google ScholarDigital Library
- M. Fowler. Public versus published interfaces. IEEE Software, March/April 2002. Google ScholarDigital Library
- M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999. Google ScholarDigital Library
- T. Freese. Inline method considered helpful: An approach to interface evolution. In Proceedings of XP 2003, volume 2675 of LNCS, pages 271--278, 2003. Google ScholarDigital Library
- T. Freese. Towards software configuration management for test-driven development. In Software Configuration Management ICSE Workshops SCM 2001 and SCM 2003, volume 2649 of LNCS, 2003. Google ScholarDigital Library
- J. Henkel and A. Diwan. CatchUp!: Capturing and replaying refactorings to support API evolution. In Proceedings of ICSE '05, 2005. Google ScholarDigital Library
- IntelliJ IDEA. http://www.jetbrains.com/idea/.Google Scholar
- E. Lippe. CAMERA -- Support for distributed cooperative work. PhD thesis, Utrecht University, 1992.Google Scholar
- E. Lippe and N. van Oosterom. Operation-based merging. Software Engineering Notes, 17(5):78--87, 1992. Google ScholarDigital Library
- J. H. Perkins. Automatically generating refactorings to support API evolution. In ACM SIGPLAN/SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2005), 2005. Google ScholarDigital Library
- J. M. Spivey. The Z Notation: A Reference Manual. Prentice Hall, second edition, 1992. Google ScholarDigital Library
- Subversion. http://subversion.tigris.org/.Google Scholar
Index Terms
- Refactoring-aware version control
Recommendations
Cross language refactoring for Eclipse plug-ins
WRT '08: Proceedings of the 2nd Workshop on Refactoring ToolsThis article presents our research on how a cross-language refactoring could be implemented in an Eclipse Plugin.
A non-Java language running on the Java virtual machine JVM interacts with Java code. Refactorings in either language might break the code ...
Refactoring-aware versioning in Eclipse
To fully support refactorings in a team development environment we have implemented a refactoring-aware repository provider as an extension plug-in to the Java Development Tools in Eclipse. The versioning system treats refactorings as first-class ...
Eclipse API usage: the good and the bad
Today, when constructing software systems, many developers build their systems on top of frameworks. Eclipse is such a framework that has been in existence for over a decade. Like many other evolving software systems, the Eclipse platform has both ...
Comments