首页> 外文会议>IEEE International Conference on Software Maintenance >Inferring the data access from the clients of generic APIs
【24h】

Inferring the data access from the clients of generic APIs

机译:推断来自通用API的客户端的数据访问

获取原文

摘要

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.
机译:许多程序通过一般API访问外部数据源。这样的通用API的类层次结构不反映任何特定数据源的架构,因此很难弄清哪些数据的API客户端访问,以及如何获得它们。这使得难以维持API客户端。在本文中,我们证明了一个API客户端的数据访问可以通过在客户端源代码静态分析来恢复。我们提供了一个正式的和直观的方式来表示数据访问,作为所谓的召唤段的曲线图。每个代码段代表一个类型由客户端访问的数据,并进行从有关如何通过API获取数据的客户端的代码切片。我们提供一种自动方法来推断完整而周密组简化的来自客户端的源代码召唤片段,基于指向的分析和代码切片。我们实现此方法作为开发辅助工具,并评估其八个开源的数据处理程序,平均精度和分别为89%和95%,召回。这些客户端的进一步检查,以及有关将数据写入其数据源访问代码,用户研究,结果表明,推理结果是在现有客户的检查和新的数据访问逻辑的发展非常有用。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号