[发明专利]一种基于深度神经网络的软件缺陷定位方法有效
申请号: | 201910368699.X | 申请日: | 2019-05-05 |
公开(公告)号: | CN110109835B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 徐玲;王备;帅鉴航;何健军;杨梦宁;张小洪;杨丹;葛永新;洪明坚;王洪星;黄晟;陈飞宇 | 申请(专利权)人: | 重庆大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 重庆晟轩知识产权代理事务所(普通合伙) 50238 | 代理人: | 杨晓磊 |
地址: | 400044 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 神经网络 软件 缺陷 定位 方法 | ||
本申请公开了一种基于深度神经网络的软件缺陷定位方法(DMF‑BL),该方法主要从缺陷报告和代码文件等文本数据中提取了文本相似度、结构信息相似度、基于协同过滤算法的缺陷报告相似度、基于缺陷修复历史的相似度和类名相似度五个特征,并利用深度神经网络来整合这些特征,从而捕获特征之间的非线性关系。同时,该方法在六个项目中的23000个缺陷报告上评估了软件缺陷定位的能力,结果表明,不管是Top 1、5和10中成功定位缺陷的准确率还是平均精度均值(MAP),DMF‑BL的性能都要优于目前的缺陷定位技术。
技术领域
本发明涉及软件测试技术领域,具体来说,是一种基于深度神经网络(DNN)的多特征软件缺陷定位方法。
背景技术
对于一个大规模的软件系统,在软件开发和维护的整个生命周期,许多项目每天都会收到大量的缺陷报告。开发人员手动完成缺陷定位是一项具有挑战性且耗时的任务。自动缺陷定位研究旨在自动定位对缺陷报告负责的潜在错误文件,以帮助开发人员专注于解决错误文件。缺陷跟踪系统(例如Bugzilla和JIRA)经常被用来记录和管理缺陷。一旦发现软件项目的异常行为,开发者或者用户可以把缺陷报告提交到缺陷跟踪系统。这些缺陷报告包含了许多字段,例如摘要和详细描述,它们描述软件的一个异常行为。这些字段对被分配去修复缺陷的开发者是非常重要的。通常,为了定位到一个缺陷报告对应的代码文件,开发者需要分析缺陷报告并查看大量代码文件,以便快速有效地修复它们。不幸的是,这些缺陷报告的数量通常对于开发者来说太大了。例如,到2016年12月,Eclipse项目报告了5100万个缺陷。对于一个给定的缺陷,手动识别潜在的缺陷文件代价太大了。因此,为了减轻软件维护团队的负担,有效的自动缺陷定位方法需求很大。
现有技术中几种自动化的缺陷定位方法已经被提出来帮助开发人员专注于潜在的缺陷文件。现有的方法可以分为三组:动态,静态和动静混合。
动态方法通常通过收集和分析程序数据、断点和系统的执行轨迹来定位缺陷。这种方法依赖于在某些输入条件下跟踪一组成功或失败的测试用例的执行轨迹。基于频谱的缺陷定位,和基于模型的缺陷定位是两种众所周知的动态方法。动态方法通常耗时且昂贵,它的准确率高度依赖于测试套件的质量。在实际程序中,由于大多数测试套件可能没有足够的代码覆盖来定位缺陷,动态方法有可能不可取。
另外一方面,静态方法不需要执行跟踪,并且可以在软件开发的任何阶段被运用。它们只需要缺陷报告和代码文件就能定位缺陷。信息检索(IR)是被广泛使用的静态技术,传统的基于IR的缺陷定位通常计算缺陷报告中包含的文本描述和代码文件中的标识符名称与注释之间的相似度,然后根据它们的相似度返回一组排好序的代码文件名称。为了提高基于IR 的缺陷定位的准确性,还从缺陷报告和代码文件中提取了许多其他特征,例如结构化信息检索,缺陷报告中的元数据,动态分析,版本历史等。这些结合多个特征的方法总是比仅仅使用IR相似度的方法表现得更好。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910368699.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种测试报告自动生成装置及方法
- 下一篇:网页端的操作回放方法和系统