[发明专利]一种基于质量保证框架的代码摘要集成方法在审
申请号: | 202110656618.3 | 申请日: | 2021-06-11 |
公开(公告)号: | CN113282336A | 公开(公告)日: | 2021-08-20 |
发明(设计)人: | 鄢萌;胡予星;毕霁超;刘忠鑫;陈秋远;王备;雷晏;徐玲 | 申请(专利权)人: | 重庆大学 |
主分类号: | G06F8/72 | 分类号: | G06F8/72 |
代理公司: | 重庆晟轩知识产权代理事务所(普通合伙) 50238 | 代理人: | 王海凤 |
地址: | 400044 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 质量保证 框架 代码 摘要 集成 方法 | ||
本发明涉及一种基于质量保证框架的代码摘要集成方法。包括如下步骤:利用现有的代码摘要方法生成I个候选代码;基于协同过滤的组件,针对每一个候选代码摘要,分别计算两个质量分数Precisioni和Recalli,基于检索的组件,计算质量分数REScorei;利用每个候选代码摘要的质量分数Precisioni和Recalli,计算该候选代码摘要的调和平均数F1scorei;通过对各候选代码摘要的调和平均数的比较以及质量分数REScorei值的比较,选择质量最好的一个作为最终的输出结果sumbest。本发明所使用方法能够有效集成不同模型的优点,从而提升代码摘要的有效性。
技术领域
本发明涉及软件质量保证领域,特别涉及一种基于质量保证框架的代码摘要集成方法。
背景技术
现有代码摘要是代码片段的自然语言描述,可以帮助开发人员在不阅读整个源代码的情况下理解代码的含义。考虑到开发人员经常花费大量时间在源代码理解上,高质量的代码摘要对于软件开发和维护是必不可少的,然而手动编写代码摘要是一项繁琐且耗时的工作,这就增加了对自动代码摘要方法的需求。
为了解决这个问题,许多代码摘要方法已经被提出。同时,随着深度学习技术的发展和大量不断增加的源代码数据,利用深度学习模型从大量代码摘要对中自动学习生成代码摘要已成为一个非常热门的研究课题。虽然现有的神经代码摘要方法具有良好的性能,可以生成许多高质量的代码摘要,但根据以往的研究,现有代码摘要方法生成的一些代码摘要的BLEU-4分数往往小于40,这被认为是低质量的代码摘要,而这些低质量的摘要不仅可能会误导开发人员,同时也会使开发人员花费大量额外的时间去进行筛选。
事实上,几乎所有利用神经网络的文档生成方法都存在上述问题。为了解决这一问题,研究人员提出了几种用于文档生成任务的质量保证方法。然而,以前的工作没有调查过文档生成任务的质量保证方法是否可以应用于改进代码摘要。
发明内容
针对现有技术存在的上述问题,本发明要解决的技术问题是:保证代码摘要的质量,提升代码摘要的有效性。
为解决上述技术问题,本发明采用如下技术方案:一种基于质量保证框架的代码摘要集成方法,包括如下步骤:
S100:对于一个待测代码段codei,选择I种现有代码摘要方法生成相对应的I个候选代码摘要
S200:基于协同过滤的组件,针对每一个候选代码摘要分别计算两个质量分数Precisioni和Recalli;
基于检索的组件,针对每一个候选代码摘要计算质量分数REScorei;
S300:利用每个候选代码摘要的质量分数Precisioni和Recalli,计算该候选代码摘要的调和平均数F1scorei;
S400:从I个候选代码摘要中选择质量最好的一个作为最终的输出结果sumbest,具体过程如下:
将I个候选代码摘要的F1scorei值进行对比,将最高F1scorei值所对应的候选代码摘要作为待测代码段codei的最终代码摘要结果sumbest;
如果所对比的候选代码摘要的F1scorei值相等,则对比候选代码摘要的REScorei值,将最高REScorei值所对应的候选代码摘要作为待测代码段codei的最终代码摘要结果sumbest;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110656618.3/2.html,转载请声明来源钻瓜专利网。