APIGen:生成式 API 方法推荐
软件工程
2024-01-30 v1
摘要
自动 API 方法推荐是代码智能的一项重要任务,旨在为编程查询推荐合适的 API。现有方法主要分为两类:基于检索的方法和基于学习的方法。尽管这些方法取得了显著成功,但它们仍存在明显局限性。基于检索的方法依赖于嵌入模型的文本表示能力,而基于学习的方法需要大量特定任务的标注数据进行训练。为了缓解这些局限性,我们提出了 APIGen,一种通过增强上下文学习(ICL)的生成式 API 推荐方法。APIGen 包含两个主要组件:(1)多样化示例选择。APIGen 从词法、语法和语义角度搜索与编程查询相似的帖子,为 ICL 提供更具信息量的示例。(2)引导式 API 推荐。APIGen 使大型语言模型(LLM)在生成 API 推荐之前执行推理,其中推理涉及查询背后的任务意图与 API 的事实知识之间的细粒度匹配。通过推理过程,APIGen 使推荐的 API 更好地满足查询的编程需求,并增强了结果的可解释性。我们在两个公开可用的基准上将 APIGen 与四种现有方法进行了比较。实验表明,在 SuccessRate@1 方面,APIGen 在方法级 API 推荐中比最佳基线 CLEAR 高出 105.8%,在类级 API 推荐中高出 54.3%。此外,在 SuccessRate@3 指标方面,APIGen 在方法级 API 推荐中比 GPT-4 等流行 LLM 的零样本性能平均提高了 49.87%。
引用
@article{arxiv.2401.15843,
title = {APIGen: Generative API Method Recommendation},
author = {Yujia Chen and Cuiyun Gao and Muyijie Zhu and Qing Liao and Yong Wang and Guoai Xu},
journal= {arXiv preprint arXiv:2401.15843},
year = {2024}
}
备注
To appear in the proceedings of the 31st IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2024)