DocumentCode :
588600
Title :
Inferring the data access from the clients of generic APIs
Author :
Hui Song ; Gang Huang ; Yingfei Xiong ; Yanchun Sun
Author_Institution :
Sch. of Electron. Eng. & Comput. Sci., Peking Univ., Beijing, China
fYear :
2012
fDate :
23-28 Sept. 2012
Firstpage :
388
Lastpage :
397
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.
Keywords :
application program interfaces; program diagnostics; application program interface; client source code; code slice; code slicing; data access logic; data access representation; development assistant tool; generic API client; points-to analysis; static analysis; summoning snippets; Conferences; Context; Equations; Libraries; Mathematical model; Receivers; Software maintenance;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Maintenance (ICSM), 2012 28th IEEE International Conference on
Conference_Location :
Trento
ISSN :
1063-6773
Print_ISBN :
978-1-4673-2313-0
Type :
conf
DOI :
10.1109/ICSM.2012.6405297
Filename :
6405297
Link To Document :
بازگشت