DocumentCode :
2074554
Title :
Using twinning to adapt programs to alternative APIs
Author :
Nita, Marius ; Notkin, David
Volume :
1
fYear :
2010
fDate :
2-8 May 2010
Firstpage :
205
Lastpage :
214
Abstract :
We describe twinning and its applications to adapting programs to alternative APIs. Twinning is a simple technique that allows programmers to specify a class of program changes, in the form of a mapping, without modifying the target program directly. Using twinning, programmers can specify changes that transition a program from using one API to using an alternative API. We describe two related mapping-based source-to-source transformations. The first applies the mapping to a program, producing a copy with the changes applied. The second generates a new API that abstracts the changes specified in the mapping. Using this API, programmers can invoke either the old (replaced) code or the new (replacement) code through a single interface. Managing program variants usually involves heavyweight tasks that can prevent the program from compiling for extended periods of time, as well as simultaneous maintenance of multiple implementations, which can make it easy to forget to add features or to fix bugs symmetrically. Our main contribution is to show that, at least in some common cases, the heavyweight work can be reduced and symmetric maintenance can be at least encouraged, and often enforced.
Keywords :
application program interfaces; program compilers; API; adapting programs; program compilers; program mapping; program transition; source-to-source transformations; Abstracts; Graphical user interfaces; Indexes; Libraries; Maintenance engineering; Syntactics; Vectors; API mapping; source-to-source translation; twinning;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering, 2010 ACM/IEEE 32nd International Conference on
Conference_Location :
Cape Town
ISSN :
0270-5257
Print_ISBN :
978-1-60558-719-6
Type :
conf
DOI :
10.1145/1806799.1806832
Filename :
6062088
Link To Document :
بازگشت