MULAPI: Improving API method recommendation with API usage location

MULAPI: Improving API method recommendation with API usage location
复制标题

DOI:
10.1016/j.jss.2018.04.060
复制
发表时间:
2018-08
期刊:
J. Syst. Softw.
影响因子:
--
通讯作者:
Congying Xu;Xiaobing Sun;Bin Li;Xintong Lu;Hongjing Guo
Congying Xu;Xiaobing Sun;Bin Li;Xintong Lu;Hongjing Guo
中科院分区:
其他
文献类型:
--
作者:
Congying Xu;Xiaobing Sun;Bin Li;Xintong Lu;Hongjing Guo

文献摘要

被引文献

相似文献

在软件系统的演化过程中,用户不断提出大量的功能需求。为了实现这些功能请求,开发人员通常利用现有的第三方库并利用应用程序编程接口(API)来加速功能实现过程。然而,哪些API方法适合以及这些API方法可以在目标程序中的哪些位置使用并不总是显而易见的。在本文中,我们提出了一种方法,MULAPI(API的方法使用和位置),来推荐API方法并找出将使用这些API方法的API使用位置。MULAPI使用特征位置来将特征相关文件识别为API使用位置。此外,还考虑这些与功能相关的文件,通过探索源代码存储库和 API 库来推荐 API 方法。我们对 8 个 Java 项目(Axis/Java、CXF、Hadoop Common、Hbase、Struts2、Hadoop HDFS、Hive 和 Hadoop Map/Reduce)的 1000 多个功能请求进行了 MULAPI 评估,并推荐了 10 个第三方库的 API 方法。实证结果表明,MULAPI能够准确推荐API方法和使用位置,而且与state-of-the-art方法相比,MULAPI提高了API方法推荐的有效性。
During the evolution of a software system, a large number of feature requests are continuously proposed by users. To implement these feature requests, developers often utilize existing third-party libraries and make use of Application Programming Interfaces (APIs) to accelerate the feature implementation process. However, it is not always obvious which API methods are suitable and where these API methods can be used in the target program.In this paper, we propose an approach,MULAPI(Method Usage and Location for API), to recommend API methods and figure out the API usage location where these API methods would be used.MULAPIemploys feature location to identify feature related files as API usage location. Further, these feature related files are taken into account to recommend API methods by exploring the source code repository and API libraries as well. We evaluateMULAPIon more than 1000 feature requests of eight Java projects (Axis/Java, CXF, Hadoop Common, Hbase, Struts2, Hadoop HDFS, Hive and Hadoop Map/Reduce), and recommend API methods from ten third-party libraries. The empirical results show thatMULAPIcan accurately recommend API methods and usage location, and moreover,MULAPIimproves the effectiveness of API method recommendation, compared with the state-of-the-art approach.