中文

融合结构与文本代码信息的上下文API推荐整体方法

软件工程 2020-10-16 v1 人工智能

摘要

基于上下文的 API 推荐是帮助开发者有效且高效地找到所需 API 的重要方式。为实现有效的 API 推荐,我们既需要结构与文本代码信息的联合视图,也需要控制与数据流图中相关 API 用法的整体视图。遗憾的是,现有 API 推荐方法分别利用结构或文本代码信息。本文中,我们提出一种名为 APIRec-CST(通过融合结构与文本代码信息进行 API 推荐)的新颖 API 推荐方法。APIRec-CST 是一种深度学习模型,基于 API 上下文图网络与代码词元网络,将源代码中的 API 用法与文本信息相结合,同时学习结构与文本特征以进行 API 推荐。我们基于 1,914 个开源 Java 项目应用 APIRec-CST 训练 JDK 库的模型,并以另外 6 个开源项目评估 API 推荐的准确率与 MRR(平均倒数排名)。结果显示我们的方法分别取得 60.3%、81.5%、87.7% 的 top-1、top-5、top-10 准确率及 69.4% 的 MRR,显著优于现有的基于图的统计方法与基于树的深度学习方法。进一步分析表明文本代码信息有意义并提升了准确率与 MRR。我们还开展了一项用户研究,两组学生被要求借助或不借助我们的 APIRec-CST 插件完成 6 项编程任务。结果显示 APIRec-CST 可帮助学生更快更准地完成任务,且关于可用性的反馈极为正面。

关键词

引用

@article{arxiv.2010.07514,
  title  = {Holistic Combination of Structural and Textual Code Information for Context based API Recommendation},
  author = {Chi Chen and Xin Peng and Zhenchang Xing and Jun Sun and Xin Wang and Yifan Zhao and Wenyun Zhao},
  journal= {arXiv preprint arXiv:2010.07514},
  year   = {2020}
}