首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 受理局 / 形式要求 / 缺陷 / 一种基于复杂网络的软件缺陷度量方法

一种基于复杂网络的软件缺陷度量方法

阅读:69发布:2023-02-28

专利汇可以提供一种基于复杂网络的软件缺陷度量方法专利检索,专利查询,专利分析的服务。并且本 发明 提供一种基于复杂网络的 软件 缺陷 度量方法,能够提前预测软件系统中存在的缺陷漏洞,避免日后造成的影响。步骤一、首先根据系统可执行文件逆向生成系统类图;步骤二、根据得到的系统类图转换成软件结构的网络图,其中类代表 节点 ,类之间的关系代表边;步骤三、根据得到的网络图进行复杂网络层面的分析,利用复杂参数进行复杂网络参数中平均最短距离、出入度、聚集系数的计算,得到关于软件的复杂特性度量值;步骤四、根据面向对象层面引入层次度量体系,得到关于软件的面向对象特性度量值;步骤五、对步骤三得到的复杂特性度量值和步骤四得到的面向对象特性度量值与已有标准值进行对比,进而评估,最终得出关于被分析软件的缺陷度量结果预测。,下面是一种基于复杂网络的软件缺陷度量方法专利的具体信息内容。

1.一种基于复杂网络的软件缺陷度量方法,其特征在于,包括如下步骤:
步骤一、首先根据系统可执行文件逆向生成系统类图;
步骤二、根据得到的系统类图转换成软件结构的网络图,其中类代表节点,类之间的关系代表边;
步骤三、根据得到的网络图进行复杂网络层面的分析,利用复杂参数进行复杂网络参数中平均最短距离、出入度、聚集系数的计算,得到关于软件的复杂特性度量值;
步骤四、根据面向对象层面引入层次度量体系,结合MOOD和CK度量方法以及metrics计算插件进行面向对象层面的软件度量,得到关于软件的面向对象特性度量值;
步骤五、对步骤三得到的复杂特性度量值和步骤四得到的面向对象特性度量值与已有标准值进行对比,进而评估,最终得出关于被分析软件的缺陷度量结果预测。

说明书全文

一种基于复杂网络的软件缺陷度量方法

技术领域

[0001] 本发明涉及一种基于复杂网络的软件缺陷度量方法,属于复杂网络及软件缺陷技术领域。

背景技术

[0002] 前人在复杂网络理论与软件结构的研究方面主要经历了以下2个历程:复杂网络的基础理论模型,又可以细分为“小世界”模型研究和“无尺度”模型研究;复杂理论在软件结构方面的初步研究。
[0003] WS“小世界”模型:最早出现的对复杂网络的研究是在1998年,Watts和Strogatz最早提出了众所周知的“小世界”网络概念,并给出了一个基于该概念的网络模型—“WS模型”。定义它的基本思想为:随机的建立一个简单维度的规则网络模型,通过一些人为的操作,以某一概率P来给已有的规则网络改变旧的连线,将需要改动的线的一端随机的连到另外一个新节点上。通过调节P的取值(0到1之间变化)来观察网络在随机网络和完全规则网络之间的转变。“WS”模型构造出来的网络具有很特殊的性质,就是具有较高的聚集系数和较低的平均最短距离长度,这正是小世界网络具有的特性。极端的,当p等于0的时候,对应着完全规则网络,此时网络具有最小的平均最短距离1和最大的聚集系数。 [0004] NW“小世界”模型:该模型是Newman和Watts在1999年提出的针对“WS模型”做了进一步改进,将原有的“改写旧连线”的方式替换为“随机化加边”的方式。具体就是:针对已有规则网络的N个节点,以概率p在任意两个网络节点之间做连线,要满足不能改变原有的网络连线,同时避免自身连线和重复连线。从理论研究方面考虑,“NW模型”要比“WS模型”更加容易操作,结构较为简单。从结果分析上看,当P的取值最够小的时候,平均最短距离可以很小,但是聚集系数可以很大,这与“WS模型”的研究结果本质上是一样的,反应了小世界网络的特性。
[0005] Price“无尺度”模型:Price主要是研究了学科文章之间的相互引用关系,构建关系网络,进而研究网络中节点的度分布关系。Price将人类社会中普遍存在的“太效应”应用到复杂网络形成机理的研究上,将积累效应放在网络环境下进行研究,突破了固有的网络研究思维模式。研究结果证实了网络中节点的度数分布符合幂律分布。Price分析的主要思想是:一篇论文被引用的比率与它被引用的次数成正比。也就是说被引用次数多的文章,再次被引用到的机会就大。这个思想运用到复杂网络研究上就可以解释成一条先加入的边连接到已有节点的概率与该节点的度数成正比,度数大的节点更容易被新添加的边连到。
[0006] Barabasi Albert“无尺度”模型:与Price“无尺度”模型类似,不同之处在于它首先研究了生长的网络,并提出了增长和择优这两条重要概念,将复杂网络研究带入了一个新的境界。
[0007] 节点拷贝“无尺度”模型:该模型是对Barabasi Albert“无尺度”模型的进一步研究,模型的构造通过子图复制的形式进行,在已有网络模型上随机的增加节点或者连线,然后按照某个节点按照其他节点的生长方式进行演化变形。该类模型被广泛的应用于生物领域,如蛋白质网络。
[0008] 前人在度量软件结构方面主要有两种方法:(1)Chidambers和Kemererc等人在1994年提出了面向对象程序的CK度量方法。该方法主要是对面向对象的软件结构进行度量,提出6种基于类的设计度量参数,分别是:每个类的加权方法(WMC),继承树的深度(DIT),子女的数量(NOC),对象类之间的耦合(CBO),对类的响应(RFC),方法中缺少内聚的程度(LCOM)。该方法现在已经被开发人员所理解接收,被广泛的应用与实际的软件系统开发中。(2)Fernando brito e abreu在第九届欧洲面向对象编程的研讨会上提出的Mood度量方法。该方法从面向对象特性出发,基于封装,继承,耦合,多态等方面提出了六个度量指标。其中包含了方法隐藏因子MHF和属性隐藏因子AHF,这两个指标主要用于衡量类的封装性。属性继承因子AIF和方法继承因子(MIF)主要用来度量类的继承特性,其中MIF值提供了继承对面向对象软件的影响的指示。Mood思想还提出使用耦合因子(CF)来度量类之间的耦合性,当CF值增加时,面向对象软件的复杂性也将增加,而可理解性、可维护性和复用潜都将受到影响。多态因子(PF)用来度量系统中出现多态的可能性,它重新定义被继承方法的方法数量,除以 可能的不同多态情形的最大数量。因此,PF是对系统中的动态绑定相对数量的间接测量。
[0009] 无论是MOOD度量方法还是CK度量方法,都存在着自身的不足之处。首先,研究人员们发现如果采用一种方法往往只能测量出某一方面的软件结构特性。比如,如果采用CK套件来度量的话,则只能在类的层面对软件进行度量,想要从全局度来审视软件结构就变得比较困难。其次,由于编程语言和开发工具环境等的差异,度量参数的结果会有一定的差异,只参考单一度量值会影响到系统评估的可靠性。

发明内容

[0010] 本发明提供一种基于复杂网络的软件缺陷度量方法,能够提前预测软件系统中存在的缺陷漏洞,及时修复,避免日后造成的影响。
[0011] 实现本发明的技术方案如下:
[0012] 一种基于复杂网络的软件缺陷度量方法,包括如下步骤:
[0013] 步骤一、首先根据系统可执行文件逆向生成系统类图;
[0014] 步骤二、根据得到的系统类图转换成软件结构的网络图,其中类代表节点,类之间的关系代表边;
[0015] 步骤三、根据得到的网络图进行复杂网络层面的分析,利用复杂参数进行复杂网络参数中平均最短距离、出入度、聚集系数的计算,得到关于软件的复杂特性度量值; [0016] 步骤四、根据面向对象层面引入层次度量体系,结合MOOD和CK度量方法以及metrics计算插件进行面向对象层面的软件度量,得到关于软件的面向对象特性度量值; [0017] 步骤五、对步骤三得到的复杂特性度量值和步骤四得到的面向对象特性度量值与已有标准值进行对比,进而评估,最终得出关于被分析软件的缺陷度量结果预测。 [0018] 本发明的有益效果:
[0019] 本发明将软件结构复杂性度量模型划分为3个层级,分别对应统计特性值度量,面向对象层级度量和底层代码实现级别度量。在每一层级,设定该层的特有测量参数。在统计特性度量层,主要使用复杂网络的理论对被测量的软件系 统进行整体评估,度量消息传递的效率,实体之间通信的代价,实体之间的内聚程度,协作关系,整个系统的响应能力等。 [0020] 本发明从宏观上对被测的软件体系结构进行描述;在面向对象层级,主要采用将已有的面相对象方法进行整合,将CK度量方法,MOOD度量方法和Chen-Liu度量方法有效的结合起来并进行改进,从不用的级别如类的级别,系统结构的级别对被测软件系统进行分析。根据具体的度量参数结构来发现有缺陷的实体结构,进而为软件系统的修复提供依据。

具体实施方式

[0021] 首先将系统的类图转换成有向图,模拟生成复杂网络图,并对网络图进行分析,得到关于软件网络的复杂网络特性度量值。
[0022] 然后根据层次度量模型的面向对象层面的度量值来评估程序的各项指标,本发明采用的评估方案是将度量的结果与已有的一些软件系统的参数结果进行对比分析,得出关于软件结构的度量结果说明。
[0023] 如下表列举了一些已有的软件系统的复杂参数的网络特性度量值 [0024]软件名称 节点数 边数 D 聚集系数 入度 出度
JDK 1365 1947 5.97 0.225 2.4 2.3
eMule 129 218 3.87 0.237 2.5 2.4
GTK 748 1147 5.87 0.081 2.2 3.8
[0025] 将度量结果与已有值进行对比,分析软件结构的复杂网络特性。 [0026] 我们将软件结构复杂性度量模型划分为3个层级,分别对应着统计特性值度量,面向对象层级度量和底层代码实现级别度量。在每一层级,我们设定该层的特有测量参数。在统计特性度量层,我们主要使用复杂网络的理论对被测量的软件系统进行整体评估,度量消息传递的效率,实体之间通信的代价,实体之间的内聚程度,协作关系,整个系统的响应能力等。是从宏观上对被测的软件体系结构进行描述;在面向对象层级,主要采用将已有的面相对象方法进行整合,将CK度量方法,MOOD度量方法和Chen-Liu度量方法有效的结合起来并进行改进,从不用的级别如类的级别,系统结构的级别对被测软件系统进行分析。
根据具体的度量参数结构来发现有缺陷的实体结构,进而为软件系统的修复提供依据;在底层的代码实现层,我们主要采用FP,LOC,McCabe圈,COCOMO II等方法来度量软件系统里程序模的特性。每一层的度量参数见下表:
[0027]
相关专利内容
标题 发布/更新时间 阅读量
缺陷定位方法 2020-05-12 926
缺陷检测方法 2020-05-12 225
弧面缺陷测量卡 2020-05-12 212
石墨烯缺陷检测 2020-05-12 373
去除缺陷的方法 2020-05-12 336
缺陷检测装置、缺陷修复装置、缺陷检测方法 2020-05-11 765
出生缺陷高危因子库及其构建方法 2020-05-11 399
耐缺陷冗余 2020-05-11 663
缺陷检测机 2020-05-11 257
缺陷检测方法 2020-05-13 259
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈