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


For 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.