[发明专利]一种基于复杂网络的软件缺陷分布影响因素分析方法有效
申请号: | 201810255695.6 | 申请日: | 2018-03-27 |
公开(公告)号: | CN108345544B | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 艾骏;王菲;苏文翥;杨益文;郭皓然;王飞 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 祗志洁 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 复杂 网络 软件 缺陷 分布 影响 因素 分析 方法 | ||
本发明提出一种基于复杂网络的软件缺陷分布影响因素分析方法,属于软件缺陷分析领域,包括:步骤1根据软件的修改模块,分析软件修改度量参数与缺陷分布的相关性;步骤2基于软件函数调用网络,分析软件网络结构度量参数与缺陷分布的相关性;步骤3基于机器学习算法,获得影响软件缺陷分布的最优特征子集;通过以上三大步骤可以获得用来分析软件缺陷分布情况的最优特征子集和相应的机器学习算法,一方面为软件缺陷预测的研究提供的数据基础和方法支持,也可作为软件可靠性相关工作的参考,另一方面也可以对软件测试领域提供指导作用。
技术领域
本发明应用于软件缺陷分析领域,是一种基于复杂网络理论和方法,分析影响软件缺陷分布的因素的方法。
背景技术
随着计算机技术快速的发展,软件的应用已经遍布在社会生活的方方面面,随之也带来了软件规模和复杂度的持续显著增长,根据数据显示,在过去的40年的时间里,软件的大小呈现出指数增长形式。然而,在软件的开发过程中,资源分配、开发工程师的开发经验以及项目进度安排等现实的客观原因的存在,软件缺陷的出现是一个不可避免的问题,进而会导致一些软件失效和软件故障的发生,带来了巨大的经济损失甚至是安全问题。因此如何保障软件的可靠性,提高软件的质量引起了软件行业的广泛关注,2000年美国国家科学基金支持并成立的软件工程中心根据全世界专家研讨结果,总结出软件缺陷对软件项目成败所带来的影响以及缺陷分布和缺陷检测的相关问题,并且越来越多的研究人员投入到了软件缺陷分布和软件缺陷预测方面的研究。然而这些研究仍然存在一些方面的不足。首先,当前关于缺陷方面的研究大部分停留在文件和类模块,虽然能够为软件工程师们提供缺陷潜在的位置信息,然而无法提供粒度更小、更加精确的位置信息。其次现有的研究更多的分析了软件代码级别的度量和软件结构方面的度量,而忽略了软件的开发过程是一个动态的过程,忽略了软件版本迭代过程中的修改情况对于软件缺陷分布的影响。
近年来,研究人员将软件的模块,如包、文件、类以及函数等,抽象为网络节点,将模块之间的关系,如继承、调用等,抽象为网络的边,构建软件网络,来更全面、更科学的探索软件系统。利用软件的网络特征作为度量信息,可以从全局和局部的多角度分析软件的结构特性,为分析软件系统提供了有力的工具。
发明内容
本发明针对于软件缺陷的存在严重影响软件的质量,并导致软件测试资源浪费的现状,提出了一种基于复杂网络的软件缺陷分布影响因素分析方法。通过引入复杂网络的理论和方法,分别针对软件的修改属性和结构属性对软件缺陷分布的影响程度进行分析,并基于机器学习算法,获取影响软件缺陷分布的最优特征子集。
本发明提出的一种基于复杂网络的软件缺陷分布影响因素分析方法,首先对待分析软件的每个版本建立软件函数调用网络,然后基于软件函数调用网络,执行以下步骤:
步骤1:根据软件的修改情况,分析软件修改度量参数与缺陷分布的相关性;
为软件中的函数设置软件修改度量参数,并添加到网络节点的属性中,通过对比前后两个版本的软件函数调用网络,设置各节点的软件修改度量参数的状态值;然后采用逻辑回归模型对软件修改度量参数与缺陷分布之间的相关性进行分析,获得与缺陷分布相关的软件修改度量参数。
步骤2:基于软件函数调用网络,分析软件网络结构度量参数与缺陷分布的相关性;
基于软件函数调用网络,计算节点的整网度量参数;构建每个节点的自我网络,获得衡量每个节点的局部结构特性的自我网络度量参数。提取函数节点的缺陷信息,采用逻辑回归模型分析每个网络结构度量参数与软件缺陷分布的相关性,获得了和软件缺陷分布相关的软件网络结构度量参数。
步骤3:基于机器学习算法,获得影响软件缺陷分布的最优特征子集;
对步骤1和2获得的与缺陷分布相关的修改度量参数和结构度量参数,本发明采用一种结合聚类和排序的特征选择方法,获取影响软件缺陷分布的最优特征子集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810255695.6/2.html,转载请声明来源钻瓜专利网。