国内刊号:11-5602/TP
国际刊号:1673-9418
发布日期:
作者:闫鑫,周宇,黄志球
单位:1. 南京航空航天大学 计算机科学与技术学院,南京 2100162. 南京航空航天大学 高安全系统的软件开发与验证技术工信部重点实验室,南京 210016
关键词:程序静态分析,序列到序列模型,代码片段推荐
在软件开发过程中,开发者经常会以复用代码的方式,提高软件开发效率。已有的研究通常采用传统的信息检索技术来实现代码推荐。这些方法存在自然语言查询的高层级的意图与代码的低层级的实现细节不匹配的问题。提出了一种基于序列到序列模型的代码片段推荐方法DeepCR。该方法结合程序静态分析技术与序列到序列模型,训练自然语言查询生成模型,为代码片段生成查询,通过计算生成的查询和开发者输入的自然语言查询的相似度得分来实现代码片段推荐。所构建的代码库的数据来源于Stack Overflow问答网站,确保了数据的真实性。通过计算代码片段推荐结果的平均倒数排名(MRR)和Hit@K来验证方法的有效性。实验结果表明,DeepCR优于现有研究工作,能够有效提高代码片段推荐效果。
来源:2020年第5期
《计算机科学与探索》期刊编辑部