Reproducible Wrapper for API Migration
- API migration refers to the change of a used API to a different API in a program. A special case is called wrapper-based API migration. The API change is done without touching the program but the old API is reimplemented by means of the from now on used one. This so called wrapper has the interface of the reimplemented API but uses the implementation of the new one. This is an interesting approach because the wrapper can be used in each program, which uses the old API. To make this approach reproducible we study a ranking-based method for implementing a wrapper, where we always implement the method with the highest priority depending on failing test cases. Thus, we can reconstruct each implementation step. We first develop an infrastructure to run and log test suites of Java projects that use an API, which we want to change. We then build a wrapper for a given API using the ranking-based approach.
- API Migration bezeichnet den Wechsel einer benutzten API eines Programms in eine andere. Eine spezielle Form ist die sogenannte wrapper-basierte API Migration. In diesem Fall wird die API gewechselt, ohne das eigentliche Programm zu berühren. Sie wird unter Benutzung der neuen API reimplementiert. Dieser so genannte Wrapper besitzt das Interface der alten API, benutzt jedoch die Implementierung der neuen. Dies ist ein interessanter Ansatz, da der Wrapper in jedem Programm eingesetzt werden kann, das bislang die alte API verwendet hat. Um diesen Vorgang reproduzierbar zu machen, entwickeln wir eine ranking-basierte Methode, um einen Wrapper zu entwickeln. Hierbei implementieren wir abhängig von fehlschlagenden Testfällen immer die API-Methode mit der jeweils höchsten Priorität. So können wir jeden Implementierungssschritt rekonstruieren. Im ersten Schritt entwickeln wir eine Infrastruktur, mit der wir Testsuites von Java-Projekten starten und messen können. Mittels dieser Basis können wir nun die Ranking-Methode anweden, um einen Wrapper zu entwickeln.
Author: | Malte Knauf |
---|---|
URN: | urn:nbn:de:kola-5391 |
Advisor: | Ralf Lämmel |
Document Type: | Bachelor Thesis |
Language: | English |
Date of completion: | 2011/07/04 |
Date of publication: | 2011/07/04 |
Publishing institution: | Universität Koblenz-Landau, Campus Koblenz, Universitätsbibliothek |
Granting institution: | Universität Koblenz, Fachbereich 4 |
Release Date: | 2011/07/04 |
Tag: | API; Annotation; Migration; Tracing; Wrapping |
Institutes: | Fachbereich 4 / Fachbereich 4 |
Dewey Decimal Classification: | 0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik |
Licence (German): | Es gilt das deutsche Urheberrecht: § 53 UrhG |