Inferring the Data Access from the Clients of Generic APIs

Abstract : Many programs access external data sources through generic APIs. The class hierarchy of such a generic API does not reflect the schema of any particular data source, and thus it is hard to clarify what data an API client accesses and how it obtains them. This makes it difficult to maintain the API clients. In this paper, we show that the data access of an API client can be recovered through static analysis on the client's source code. We provide a formal and intuitive way to represent the data access, as a graph of so-called summoning snippets. Each snippet stands for a type of data accessed by the client, and carries the code slice from the client about how to obtain the data via the API. We provide an automated approach to inferring a complete and well-simplified set of summoning snippets from the client source code, based on points-to analysis and code slicing.We implement this approach as a development assistant tool, and evaluate it on eight open source data processing programs, with average precision and recall of 89% and 95%, respectively. Further inspection of these clients, as well as a user study about writing data accessing code on their data sources, show that the inference results are useful in the inspection of existing clients and the development of new data access logics.
Type de document :
Communication dans un congrès
ICSM2012, Sep 2012, Riva del Garda, Trento, Italy. 2012
Liste complète des métadonnées

Littérature citée [21 références]  Voir  Masquer  Télécharger
Contributeur : Yun Ma <>
Soumis le : mardi 6 novembre 2012 - 18:57:34
Dernière modification le : mercredi 7 novembre 2012 - 08:52:49
Document(s) archivé(s) le : samedi 17 décembre 2016 - 08:13:27


Fichiers produits par l'(les) auteur(s)


  • HAL Id : hal-00749177, version 1



Hui Song, Gang Huang, Yingfei Xiong, Yanchun Sun. Inferring the Data Access from the Clients of Generic APIs. ICSM2012, Sep 2012, Riva del Garda, Trento, Italy. 2012. 〈hal-00749177〉



Consultations de la notice


Téléchargements de fichiers