Swing to SWT and Back: Patterns for API Migration by Wrapping

Published in Proceedings of ICSM 2010

Thiago Tonelli Bartolomei and Krzysztof Czarnecki and Ralf Lämmel

Evolving requirements may necessitate \emph{API migration}---re-engineering an application to replace its dependence on one API with the dependence on another API for the same domain. One approach to API migration is to replace the original API by a wrapper-based re-implementation that makes reuse of the other API. Wrapper-based migration is attractive because application code is left untouched and wrappers can be reused across applications. The design of such wrappers is challenging though if the two involved APIs were developed independently, in which case the APIs tend to differ significantly. We identify the challenges faced by developers when designing wrappers for object-oriented APIs, and we recover the solutions used in practice. To this end, we analyze two large, open-source GUI wrappers and compile a set of issues pervasive in their designs. We subsequently extract design patterns from the solutions that developers used in the GUI wrappers.

Bibtex entry
  author    = {Thiago Tonelli and
               Krzysztof Czarnecki and
               Ralf L{\"a}mmel},
  title     = "{Swing to SWT and back: Patterns for API migration by wrapping}",
  pages     = {1-10},
  booktitle = "{26th IEEE International Conference on Software Maintenance
               (ICSM 2010), September 12-18, 2010, Timisoara, Romania}",
  publisher = {IEEE Computer Society},
  year      = {2010},

Downloads and links

Website maintained by Ralf Lämmel (Email: rlaemmel@gmail.com)