ComeBack!: a refactoring-based tool for binary-compatible framework upgrade

Maintenance of a software framework often requires restructuring its API (refactoring). Upon framework upgrade structural API changes may invalidate existing plugins - modules that used one of its previous versions. To preserve plugins, we use refactoring trace to automatically create an adaptation layer that translates between plugins and the framework. For each encountered refactoring we formally define a comeback - a refactoring to construct adapters. Given an ordered set of refactorings occured between two framework versions our tool ComeBack! executes the corresponding comebacks and yields the adaptation layer.

[1]  Ira R. Forman,et al.  Release-to-release binary compatibility in SOM , 1995, OOPSLA.

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

[3]  Stas Negara,et al.  ReBA , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[4]  Michael Rudolf,et al.  Refactoring-based support for binary compatibility in evolving frameworks , 2007, GPCE '07.

[5]  Brian Foote,et al.  Designing Reusable Classes , 2001 .