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.
, ,
Springer
M.G.J. van den Brand (Mark) , D. Gasevic , J. Gray
Lecture Notes in Computer Science
International Conference on Software Language Engineering
Software Analysis and Transformation

Bartholomei, T. T., Czarnecki, K., Lämmel, R., & van der Storm, T. (2010). Study of an API migration for two XML APIs. In M. van den Brand, D. Gasevic, & J. Gray (Eds.), Proceedings of 2nd International Conference on Software Language Engineering 2009. Springer.