Approaching the API migration challenge

I enjoyed delivering an invited lecture at the PhD autumn school IPA 2008.


about 4 years now I have been sporadically talking about API migration
as a scientific and technical challenge as well as a potential business
idea. It all started with some background in grammar engineering,
formal semantics, and re-engineering which made me see that APIs are
tricky software languages that account for a good part of the
intricacies in automated software evolution. I was fired up when I
acquired a handle on Microsoft’s XML APIs during my recent work on the
XML team at Microsoft. At this point I gained confidence in the
business value and the eventual feasibility of API migration. While API
migration is arguably the top subject on my research agenda, I haven’t
made substantial progress over the last few years. Meanwhile others
have made both expected and unexpected contributions to the subject,
which I would like to put into perspective. However, I contend that the
hard problem is still to be attacked. In this talk, I am going to
reexamine the landscape of API migration, and submit a mid-term
call-to-arms to cross the API migration’s Rubicon. I will also report
on some experiments or experiences with API usage analysis, API
protocol specification, API-related flow analysis of programs, and
transformation technology for API migration.


My slides are also online here. I am happy enough to work with Tijs van der Storm
(CWI, Amsterdam) on this very topic. Tijs is currently visiting
researcher at our department in Koblenz. We expect to release a paper
on the “API migration’s Rubicon” soon. Please stay tuned. The slides
also show a few diagrams for Java API usage. We do such usage analysis
to better understand the realities of APIs. (Thanks are due here to two
students of mine: Ruwen Hahn and Jürgen Starek.) Again, we hope to
publish some results of this project very soon.