摘要
应用程序接口(Application Programming Interfaces,API)在现代软件开发中起着重要的作用,开发人员经常需要为他们的编程任务搜索合适的API。但是随着信息产业的发展,API参考文档变得越发庞大,传统的搜索方式会因为互联网上的冗余和错误信息给工程师的查询带来不便。与此同时,由于编程任务的自然语言描述与API文档中的描述之间存在词汇和知识上的差距,很难找到合适的API。基于这些问题,提出一种融合领域知识的API推荐算法ARDSQ(Recommendation base on Documentation and Solved Question)。ARDSQ能够根据工程师对某个功能的自然语言描述去知识库里检索到最为贴近的API。实验表明,与两种先进的API推荐算法(BIKER,DeepAPILearning)比较,ARDSQ在推荐系统关键评价指数(Hit-n,MRR,MAP)上都有较大的优势。
Application Programming Interfaces(API)play an important role in modern software development,and developers often need to search for the appropriate API for their programming tasks.However,with the development of the information industry,API reference documents have become larger and larger,and traditional search methods have also caused inconvenience to engineers’queries because of redundant and erroneous information on the Internet.At the same time,due to the vocabulary and knowledge gap between the natural language description of programming tasks and the description in the API documentation,it is difficult to find a suitable API.Based on these issues,this paper proposes an algorithm called ARDSQ(Recommendation base on Documentation and Solved Question)which is an API recommendation algorithm that integrates domain knowledge.ARDSQ can retrieve the closest API in the knowledge base based on the natural language description given by the engineer.Experiments show that,compared with two advanced API recommendation algorithms(BIKER,DeepAPILearning),ARDSQ has greater advantages in the key evaluation index(Hit-n,MRR,MAP)of the recommendation system.
作者
李浩
钟声
康雁
李涛
张亚钏
卜荣景
LI Hao;ZHONG Sheng;KANG Yan;LI Tao;ZHANG Ya-chuan;BU Rong-jing(College of Software,Yunnan University,Kunming 650504,China)
出处
《计算机科学》
CSCD
北大核心
2020年第S02期544-548,共5页
Computer Science
基金
国家自然科学基金(61762092,61762089)
云南省软件工程重点实验室开放基金项目(2017SE204)
材料基因工程-基于Metcloud的集成计算功能模块计算软件开发(2019CLJY06)。