Study of an API migration for two XML APIs

Thiago Tonelli Bartolomei, Krzysztof Czarnecki, Ralf Lämmel, Tijs van der Storm. Study of an API migration for two XML APIs. In Postproceedings of Software Language Engineering (SLE 2009). LNCS, Springer, 2010.

Abstract

API migration refers to adapting an application such that its dependence on a given API (the source API) is eliminated in favor of depending on an alternative API (the target API) with the source and target APIs serving the same domain. One may attempt to automate API migration by code transformation or wrapping of some sort. API migration is relatively well understood for the special case where source and target APIs are essentially different versions of the same API. API migration is much less understood for the general case where the two APIs have been developed more or less independently of each other. The present paper exercises a simple instance of the general case and develops engineering techniques towards the mastery of API migration. That is, we study wrapper-based migration between two prominent XML APIs for the Java platform. The migration follows an iterative and test-driven approach and allows us to identify, classify, and measure various differences between the studied APIs in a systematic way.