融合Stack Overflow和API文档信息的API推荐方法研究

来源 :东南大学 | 被引量 : 0次 | 上传用户:cccpx918
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件开发需求的不断增加,可复用软件代码的种类日益增多、规模日益增大,如何帮助软件开发人员为当前编程任务快速、准确地找到合适的应用程序编程接口(Application Programming Interface,API)进行复用,是智能软件工程的一个重要研究方向。现有的API推荐方法大多仅从用户使用的角度进行间接推荐(如采用词向量技术在Stack Overflow等软件开发讨论社区中查找在语义上与编程任务相似的历史问题,进行API推荐),未能有效利用API文档本身的语义信息,且词向量模型无法表示句子级别的深层次语义信息,因此API推荐效果仍有待进一步提高。针对上述问题,本文提出了一种融合Stack Overflow和API文档信息的API混合推荐方法。该方法通过融合API实体的文档信息以及改进问题查询相似度计算方法来改进API推荐准确率。给定编程任务,该方法首先收集Stack Overflow问题的标题语义信息和标签信息,通过Sentence-BERT模型和标签预测模型计算得到编程任务与问题的相似度,查找与编程任务相似的历史问题,获取相似历史问题中的候选API,并计算候选API的问题查询相似度,获得基于历史问题相似度计算的API推荐列表;同时利用API文档中API实体的描述文本语义信息和API实体的概念信息,通过Sentence-BERT模型和API知识图谱计算API实体的文档相似度,获得基于API文档相似度计算的API推荐列表;最后,计算推荐列表中所有API的综合得分,并进行排序和API推荐。在上述工作的基础上,本文实现了融合Stack Overflow和API文档信息的API混合推荐工具—HAPIR。为了验证HAPIR的有效性,本文选取了486个Java核心API相关的编程任务作为查询数据开展实验研究。实验结果表明,HAPIR可有效提高API推荐准确率,且具有较高的用户查询效率。与BIKER相比,HAPIR在方法级别的API推荐任务上,MRR和MAP分别提高31.97%和29.27%;与Deep API相比,HAPIR在方法级别的API推荐任务上,MRR和MAP分别提高108.95%和111.54%。
其他文献
学位
学位
学位
学位
学位
大型高炉是钢铁企业发展中最基础也是最重要的设备,一旦有问题出现,其安全、稳定、顺行必然会受到影响。高炉中修项目的难点在于面广、立体交叉作业多、作业坏境差、点多,容易出现火灾、爆炸、设备损坏,甚至人员伤亡等事故。传统高炉中修是将炉体分解为大小不等的若干个模块来进行拆卸和拼接,对于能够有效缩短维修时间、提升维修效率和维修质量等其他方面,没有系统的研究和总结。因此,有效缩短维修周期的研究,非常有实用意义
学位
学位
学位
学位