This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Automated API Property Inference Techniques
May 2013 (vol. 39 no. 5)
pp. 613-637
Martin P. Robillard, McGill University, Montréal
Eric Bodden, Technische Universität Darmstadt, Darmstadt
David Kawrykow, McGill University, Montréal
Mira Mezini, Technische Universität Darmstadt, Darmstadt
Tristan Ratchford, McGill University, Montréal
Frameworks and libraries offer reusable and customizable functionality through Application Programming Interfaces (APIs). Correctly using large and sophisticated APIs can represent a challenge due to hidden assumptions and requirements. Numerous approaches have been developed to infer properties of APIs, intended to guide their use by developers. With each approach come new definitions of API properties, new techniques for inferring these properties, and new ways to assess their correctness and usefulness. This paper provides a comprehensive survey of over a decade of research on automated property inference for APIs. Our survey provides a synthesis of this complex technical field along different dimensions of analysis: properties inferred, mining techniques, and empirical results. In particular, we derive a classification and organization of over 60 techniques into five different categories based on the type of API property inferred: unordered usage patterns, sequential usage patterns, behavioral specifications, migration mappings, and general information.
Index Terms:
Itemsets,Context,Association rules,Protocols,Programming,Software engineering,API usage pattern,API property,programming rules,specifications,protocols,interface,data mining,pattern mining,API evolution
Citation:
Martin P. Robillard, Eric Bodden, David Kawrykow, Mira Mezini, Tristan Ratchford, "Automated API Property Inference Techniques," IEEE Transactions on Software Engineering, vol. 39, no. 5, pp. 613-637, May 2013, doi:10.1109/TSE.2012.63
Usage of this product signifies your acceptance of the Terms of Use.