Compliance testing for wrapper-based API migration

See here for the primary web site for the paper with all the resources.

See here for other resources on the theme of API analysis and migration.

Status
Submitted for publication

Authors
Thiago Tonelli Bartolomei and Krzysztof Czarnecki and Ralf Lämmel

Abstract
Wrapping is an established technique for API migration: the use of a given API within the system under migration is replaced by the use of a wrapper-based re-implementation of said API while using a different (preferred) API underneath. Except for some special cases, wrapper development is a craft. In particular, the compliance of a wrapper with the original API is hard to assess and guidance of wrapper development is very limited. In this paper, we describe a method for wrapper development that is essentially inspired by notions of scenario-based differential testing, API contracts as well as selective capture and replay of program executions. The method supports compliance testing of the wrapper under development against the original API; it guides the developer in improving compliance incrementally; it also allows for precise capture of unresolved differences between original API and wrapper. The method is evaluated by a study of wrapper development with different wrappers in the domains of XML processing, byte-code engineering, and GUI programming.

Bibtex entry
@misc{Koloo12,
  author    = {Thiago Tonelli and
               Krzysztof Czarnecki and
               Ralf L{\"a}mmel},
  title     = "{Compliance testing for wrapper-based API migration}",
  year      = {2012},
  note      = "Online since 10 Feb 2012. 11 pages"
}

Downloads and links


Website maintained by Ralf Lämmel (Email: rlaemmel@gmail.com)