Inferring the Data Access from the Clients of Generic APIs - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2012

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.
Fichier principal
Vignette du fichier
icsm12-CR.pdf (451.46 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

hal-00749177 , version 1 (06-11-2012)

Identifiers

  • HAL Id : hal-00749177 , version 1

Cite

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. ⟨hal-00749177⟩

Collections

CONNECT
68 View
506 Download

Share

Gmail Facebook X LinkedIn More