[发明专利]一种基于多图多标记学习的软件Bug检测方法在审
申请号: | 202111514505.6 | 申请日: | 2021-12-13 |
公开(公告)号: | CN114168478A | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 印莹;赵宇海;任晨凤 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/901;G06F40/242;G06K9/62;G06N3/08 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 梁焱 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多图多 标记 学习 软件 bug 检测 方法 | ||
本发明公开了一种基于多图多标记学习的软件Bug检测方法,属于软件缺陷检测技术领域。该方法充分利用源代码中的图结构信息,并充分利用源代码和Bug报告之间深层次的语义关联,找到多图和多标记的对应关系,提供了基于程序源代码和对应Bug报告的多图多标记Bug检测数据的产生方法,将源代码和Bug报告转化为多图多标记数据来解决Bug的检测问题;并从图级和包级两个方面考虑,提出针对多图多标记数据的区分子图度量准则,进一步将多图多标记数据转化成计算机可以处理的向量形式的多示例多标记数据;传统的分类器链不能恰当地考虑标记排序问题,随机进行标记排列可能会造成性能下降,而本发明考虑了多标记之间的依赖关系可以极大地提高检测精度。
技术领域
本发明属于软件缺陷检测技术领域,具体涉及一种基于多图多标记学习的软件Bug检测方法。
背景技术
由于软件缺陷是影响软件开发效率和软件质量的关键因素,软件缺陷发现成为了软件工程领域的热点问题,缺陷发现的目的是定位缺陷具体所在的源代码的位置(如组件、包、文件或代码行),进而引导开发人员及时消除缺陷,以提高软件开发效率和提升软件质量,节省软件开发成本。目前,在海量的代码仓库背景下,基于文本静态分析的软件缺陷检测方法受到了越来越多的关注。
基于文本静态分析的软件缺陷检测方法主要基于Bug报告和程序源代码两个语料库来进行缺陷发现。如Zhou等人提出的Bug检测方法是基于Bug报告和程序源代码两个语料库的,该方法在语料库中使用诸如停用词删除、词干提取等文本处理方法,进一步通过向量空间模型(rVSM)测量两个语料库的相似性,该方法准确性不高。Lukins等人提出基于方法级Bug检测方法,该方法以源代码中的方法为度量单位,使用停用词删除、词干处理等技术来处理源代码,最后,使用潜在语义索引(LSI)识别Bug报告和方法的概念之间的关系,进行缺陷发现。但该方法忽视了程序的结构信息,这使得缺陷检测的精度不高。Rahman S等人提出基于语句级的Bug检测方法,该方法从源代码中识别带有Bug的语句,对带缺陷语句的方法进行排序,对于每个排序的方法,构造一个方法级别的依赖图(MSDG),每个语句都是该图的一个节点,生成节点-先驱节点依赖关系图(NPDG)。该方法通过使用向量空间模型(VSM)在缺陷和NPDG中的每个节点之间测量相似度。该方法构建的节点依赖关系图只考虑了节点之间的执行顺序,没有考虑程序之间的数据依赖关系,会丢掉一些重要信息。综上,目前基于文本静态分析的缺陷检测方法存在以下不足:
1)、现有的缺陷检测技术大多关注于源代码语义信息的提取,没有充分利用程序的图结构信息。考虑到软件工程中的程序代码是带有执行依赖关系和数据依赖关系的图结构信息,这些图结构信息包含了程序语句之间的调用依赖关系和数据依赖关系,进而忽视了程序源代码和缺陷报告之间的深层次的语义关联,导致Bug检测的精度不高;
2)、没有充分考虑到程序代码的多Bug特性,一个项目的软件源代码中可能不仅仅包含一个Bug信息而是多个Bug信息同时存在,这就意味着缺陷检测不能仅仅局限于单bug检测问题,而是要考虑多Bug的检测问题。然而,目前考虑基于程序源代码的多Bug检测问题的研究较少。
发明内容
针对现有技术存在的不足,本发明提出一种基于多图多标记学习的软件Bug检测方法,旨在充分考虑源代码中的图结构信息和对应的多Bug标记,结合代码仓库中的Bug报告实现软件Bug的检测,以提高Bug检测的精度。
本发明的的技术方案为:
一种基于多图多标记学习的软件Bug检测方法,该方法包括以下步骤:
步骤1:基于程序源代码对应的Bug报告获得所述程序源代码的Bug多标记,从而生成程序源代码的多标记数据;
步骤2:生成程序源代码的多图数据MG,从而获得与程序源代码相对应的多图多标记数据;
步骤3:从步骤2获得的多图数据MG中挖掘频繁子图,获得频繁子图集frequencyG;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111514505.6/2.html,转载请声明来源钻瓜专利网。