• 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