Atanasoff 223

Location

Atanasoff
Ames
Iowa
50322

Next Event

No upcoming events

Title: “API migration is a hard problem!”

Speaker: Ralf Lämmel, Professor, Koblenz-Landau Computer Science

Abstract: API migration refers to software migration in the sense of software reengineering: the objective is to eliminate an application’s dependencies on a given API and make it depend instead on another API. Hence, we may speak of original API versus replacement API. In principle, migration can be achieved by a wrapping approach (such that the original API is re-implemented in terms of the replacement API so that the original implementation becomes obsolete and the application itself does not need to be changed) or by a transformation approach (such that the code of the application is rewritten so that the references to the original API are replaced by references to the replacement API). A degenerated case of API migration would be API upgrade or downgrade where the two APIs are essentially versions of each other with an effective relationship between the versions such that the wrapper or the transformation for migration can be derived from a suitably recorded, inferred, or specified relationship. The synthesis of a transformation or a wrapper is considerably more involved when the APIs at hand do not relate in such a manner, i.e., when they have been developed more or less independently. The two APIs still serve the same domain (e.g., GUI or XML programming), but they differ in terms of features, protocols, contracts, type hierarchy, and other aspects. In this talk, I provide insight into such differences and explain existing, often primitive (laborious) migration techniques, which are mostly focused on wrapping.  I use a number of case studies for empirical substantiation. I conclude with an outlook in terms of the challenges ahead with indications as to the techniques and methods to be used or developed. Program analysis must provide the heavy lifting to make progress on the hard problem of API migration.

Acknowledgement: This is joint work with (in alphabetic order) Thiago Tonelli Bartolomei (University of Waterloo, Canada), Krzysztof Czarnecki (University of Waterloo, Canada), Tijs van der Storm (CWI, Amsterdam, The Netherlands). I also acknowledge joint work within the Software Languages Team on the related subject of API (usage) analysis; special thanks are due to Ekaterina Pek.

Online Resources:

– Website of the speaker:

http://softlang.wikidot.com/rlaemmel:home

– Website of the Software Languages Team:

http://softlang.wikidot.com/

– API analysis/migration-related activities:

http://softlang.wikidot.com/api

Bio: Ralf Lämmel is Professor of Computer Science at the Department of Computer Science at the University of Koblenz-Landau since July 2007. In the past, he held positions at Microsoft Corp., Free University of Amsterdam, CWI (Dutch Center for Mathematics and Computer Science), and the University of Rostock, Germany. Ralf Lämmel’s speciality is “software language engineering”, but he is generally interested in themes that combine software engineering and programming languages. His research and teaching interests include program transformation, software re-engineering, grammar-based methods as well as model-driven and model-based methods. Ralf Lämmel is a committed member of the research community; he is one of the founding fathers of the international summer school series on Generative and Transformational Techniques on Software Engineering (GTTSE) as well as the international conference on Software Language Engineering (SLE).

Upcoming Events

  • No events in this location
  • Loading...