Title
Inferring likely mappings between APIs
Abstract
Software developers often need to port applications written for a source platform to a target platform. In doing so, a key task is to replace an application's use of methods from the source platform API with corresponding methods from the target platform API. However, this task is challenging because developers must manually identify mappings between methods in the source and target APIs, e.g., using API documentation. We develop a novel approach to the problem of inferring mappings between the APIs of a source and target platform. Our approach is tailored to the case where the source and target platform each have independently-developed applications that implement similar functionality. We observe that in building these applications, developers exercised knowledge of the corresponding APIs. We develop a technique to systematically harvest this knowledge and infer likely mappings between the APIs of the source and target platform. The output of our approach is a ranked list of target API methods or method sequences that likely map to each source API method or method sequence. We have implemented this approach in a prototype tool called Rosetta, and have applied it to infer likely mappings between the Java2 Mobile Edition (JavaME) and Android graphics APIs.
Year
DOI
Venue
2013
10.1109/ICSE.2013.6606554
Software Engineering
Keywords
Field
DocType
android graphics apis,target platform,source api method,source platform api,target platform api,api documentation,source platform,method sequence,likely mapping,target apis,target api method,databases,java,humanoid robots,games,random variables,probability distribution
Graphics,Programming language,Open platform,Android (operating system),Ranking,Computer science,Real-time computing,Software,Application programming interface,Java
Conference
Volume
ISBN
Citations 
2
978-1-4673-3076-3
20
PageRank 
References 
Authors
0.78
20
3
Name
Order
Citations
PageRank
Amruta Gokhale1231.16
Vinod Ganapathy271342.69
Yogesh Padmanaban3200.78