CN108664728A - 一种基于复杂网络动态仿真的软件模块变更影响确定方法 - Google Patents

一种基于复杂网络动态仿真的软件模块变更影响确定方法 Download PDF

Info

Publication number
CN108664728A
CN108664728A CN201810442474.XA CN201810442474A CN108664728A CN 108664728 A CN108664728 A CN 108664728A CN 201810442474 A CN201810442474 A CN 201810442474A CN 108664728 A CN108664728 A CN 108664728A
Authority
CN
China
Prior art keywords
node
software
degree
change
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810442474.XA
Other languages
English (en)
Other versions
CN108664728B (zh
Inventor
艾骏
邹卓良
苏文翥
杨益文
郭皓然
王飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201810442474.XA priority Critical patent/CN108664728B/zh
Publication of CN108664728A publication Critical patent/CN108664728A/zh
Application granted granted Critical
Publication of CN108664728B publication Critical patent/CN108664728B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于复杂网络动态仿真的软件模块变更影响确定方法,属于软件复杂网络领域,包括:首先对目标软件的源代码进行静态扫描,构建软件属性方法网络;再根据实际需要识别软件模块粒度大小,构造软件复杂网络模型,对变更发生在确定软件模块后的影响传播进行动态仿真,得到各节点受影响程度量化值和变更影响范围;最后,将节点在每个变更传播代的衰减系数求和,作为节点受影响程度量化值,依赖此量化值得到软件网络上的变更影响程度可视化结果图。本发明综合考虑了变更传播特性和节点特性进行动态仿真,利用变更影响的衰减过程,整个度量分析过程都可在后台实现,并建立在完全自动化的流程上,确保最大限度减低人力和时间成本。

Description

一种基于复杂网络动态仿真的软件模块变更影响确定方法
技术领域
本发明属于软件复杂网络领域,是一种基于软件网络动态仿真的软件模块变更影响确定方法。
背景技术
随着信息技术的不断发展,计算机软件已经广泛应用于人类生活的方方面面,为人类社会经济的发展和科研的进步做出了巨大的贡献,软件的重要性急剧上升。与此同时,由于人们对软件功能需求的增多和软件应用环境的日益复杂,软件系统的规模和复杂性不断增长。变更可以是因为用户提出新的需求,软件使用过程中发现的错误,或是因为软件所使用的环境发生变化。对软件进行变更时,肯定会对软件的其他模块造成一些潜在影响,从而带来软件的不一致性。软件修改影响分析,就是用来识别软件修改对软件其他部分带来的潜在影响的。而复杂网络的出现,为软件模块变更的影响确定提供了新的方法。
复杂网络是一种用于描述复杂系统的模型,通过将软件系统中的包、类、函数等元素以及元素之间的关系抽象为节点和边,整个软件可以抽象为一种具有特定拓扑结构的网络形态。这样的软件拓扑结构网络有助于程序开发人员对于软件整体框架有一个直观全面的理解,有利于对整个软件项目的开发、测试等工作。同时,这种软件网络在软件的演化规律、软件结构的复杂性和稳定性等方面取得了很好的研究效果。
目前已有研究人员在软件网络中研究节点的波及效应,并进行了波及度的研究。对变更传播建立模型是探索影响传播规律的重要手段。目前的研究认为(参考文件:孙小兵,李斌,陈颖,李必信,文万志.软件修改影响分析研究与进展[J].电子学报,2014,42(12):2467-2476.),软件的缺陷、变更等的传播,因为软件结构是一种复杂网络,所以其传播代价比较小,因为涟漪效应,缺陷、变更等很容易扩散到其他的节点。然而在网络拓扑上研究软件节点之间的影响(变更、缺陷的传播、耦合度等),没有考虑软件网络自身的特殊性。由于软件网络的节点有其特殊的结构,在目前的研究中所采用的软件网络模型与真实的软件网络有着很大的不同。故发现,在以软件的模块、类、包等为软件网络的节点时,夸大了软件网络的传播性。这样的传播性夸大在很多复杂网络上都有表现,比如传染病的传播性、Internet上的病毒等。在这些复杂网络上的传染病和病毒并不像复杂网络理论给出的那样会瞬间传播到大部分的节点上。软件网络中,由于封装、容错等实际因素,实际的网络传播范围比复杂网络理论给出的预计要小。
发明内容
本发明针对目前软件网络上进行模块变更影响确定问题存在的传播性夸大、未在软件网络上研究影响的传播与节点自身特性(如出/入度、介数等)之间的关联关系、变更影响确定方法自动化程度低等问题,提出一种基于复杂网络的软件模块变更影响确定方法。
本发明提出的一种基于复杂网络的软件模块变更影响确定方法,首先获取待分析的目标软件的完整源代码,并对源代码进行静态扫描,以软件系统中类的属性和方法为网络节点,构建软件属性方法网络,再根据实际需要识别软件模块粒度大小,对属性方法网络进行组织和抽象构造相应粒度的软件复杂网络模型。在得到软件复杂网络模型后,对变更发生在确定软件模块后的影响传播进行动态仿真,得到各节点受影响程度量化值和变更影响范围。
所述的方法采用软件变更影响传播仿真模型来进行动态仿真;
仿真参数从变更传播特性和节点特性两方面来度量;变更传播特性的仿真参数包括:正向衰减率k、逆向衰减率k、影响被标记的最小阈值s_min和变更传播的代数time;节点特性的仿真参数包括介数、度和紧密度活性;
仿真过程中采用广度优先的遍历方式寻找受到影响波及的下一代节点,对于传播路径上的节点i,当节点i的衰减系数βi小于等于最小阈值s_min时,停止对节点i的影响波及计算;
其中,衰减系数βi与变更传播的代数time呈指数正相关,表示为βi∝(k正/逆)(time)
最后,将节点i在每个变更传播代的衰减系数求和,作为节点i受影响程度量化值。
本发明与现有技术相比,具有以下优势:
(1)本发明方法综合考虑变更衰减传播的特性和节点自身属性两个方面的多种特性参数,再通过侧重不同的变更影响仿真模型给出节点受波及程度量化值;变更传播特性的度量中采用正向/逆向衰减率、影响被标记的最小阈值、变更传播的代数4个参数进行仿真计算;节点特性是通过计算节点度、节点介数、前辈节点数3个参数来描述软件模块自身属性对传播过程的影响。
(2)本发明在对变更过程的仿真过程中,通过广度优先算法,一代一代地寻找新的受波及节点,对每个节点采用逐代衰减的计算机制,有效解决了目前对变更波及效应的夸大性。针对类型不同的变更,可按实际情况选择合理的衰减率值和影响被标记的最小阈值进行仿真,按照节点衰减系数确定其变更影响传播路径上该节点处的衰减程度,判断影响范围边界的方法是在该节点处衰减系数小于影响被标记的最小阈值,相比目前的仿真方法更加科学与细化。
(3)本发明将变更在节点间的传播当作不确定事件,考虑变更传播的概率与节点自身属性的关系,对网络中的节点从特定的角度去进行动态仿真,根据对节点特性(度、介数、紧密度活性等)的侧重不同,各仿真模型采用有相应侧重的节点间传播概率和受影响量化值计算方法,得到不同侧重情况下变更在其他模块的影响程度和整个软件中的受影响范围。在计算节点受影响程度量化值时,也考虑了节点的自身属性,这是本发明独有的内容,使得变更影响在软件网络传播的分析结果更加合理。
(4)本发明首先通过构建软件系统的属性方法网络,确保能够覆盖到软件系统最底层的信息,再在属性方法网络的基础上,按照实际需求的模块的粒度,从属性方法网络的基础上逐层逐级按照软件元素实体的粒度抽象出相应的网络模型,这样能确保构建网络模型的过程中能做到软件信息的全覆盖,同时构建的过程更具有层次性。
(5)本发明方法整个度量分析过程都可在后台实现,建立在完全自动化的流程上,确保最大限度减低人力和时间成本。
附图说明
图1是本发明基于复杂网络的软件模块变更影响确定方法的整体流程图;
图2是本发明Filter软件某版本的属性方法网络图;
图3是本发明软件模块变更影响动态仿真模型的算法思路示意图;
图4是本发明Filter软件某版本的其中一种变更模型动态仿真结果可视化图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明作进一步的详细和深入描述。
本发明提出的一种基于复杂网络动态仿真的软件模块变更影响确定方法,包括四个步骤,如图1所示。步骤1,确定目标软件并获取其完整的软件源代码。步骤2,对目标软件源代码进行静态扫描,分析软件中的元素实体和元素之间的相互关系。元素实体包括类的属性和方法。步骤3,在步骤2的基础上,以软件系统中类的属性和方法为网络节点,构建软件属性方法网络,再根据实际需要识别软件模块粒度大小,对属性方法网络进行组织和抽象构造相应粒度的软件复杂网络模型。步骤4,在步骤3得到软件复杂网络模型的基础上,根据建立的软件网络,对变更发生在确定软件模块后的影响传播进行动态仿真,得到各节点受影响程度量化值和变更影响范围。步骤5,在步骤4得到各节点受波及程度量化值的基础上,依赖此量化值得到软件网络上的变更影响可视化结果图。
对一个面向对象软件,在步骤2抽取软件系统中包含的属性方法以及它们之间的相互作用关系后,构建原始属性方法网络。然后分析属性方法网络中节点的从属关系,将表征同属于一个类的属性和方法的节点进行划分,对每一个类在坐标平面赋予其互不重叠的圆心,属性方法按其修饰符的不同给予不同的半径,以同心圆的形式让属性方法节点均匀分布在圆周上,并计算其相应坐标,构成一个以属性方法表征类的子网络,节点之间的依赖关系可划分为子网络内部作用和子网络之间的作用。
因此面向对象程序其属性方法网络D定义如下:
D={V,E}
V={vi=(name,class,attributes,coordinate)}
E={(vsource,vtarget)|vsource,vtarget∈V;vsource≠vtarget}
其中,V为节点集合,每一个节点vi具有的信息包括函数或者变量的名称name、函数或者变量所属的类class、函数或者变量的属性attribute、节点的坐标coordinate等,attributes为属性集合。E为边集合,vsource表示调用起始节点,vtarget表示调用的终止节点。对实际软件Filter软件某版本的属性方法网络如图2所示,有很多节点和边。
在属性方法网络的基础上,将属性方法网络中隶属于同一个类的节点进行聚合构造表征软件系统类的节点,聚合类之间的作用构造有向边并统计类之间相互作用的频数,计算边的权重,从属性方法网络中抽取出类加权网络。类加权网络D’定义如下:
D'={V',E'}
V'={vk=(name,size,innercoupling,types)
E'={(vsource,vtarget,weight)|vsource,vtarget∈V',vsource≠vtarget}
V’为节点集合,其中包含n个软件类节点vk,而每个节点包括节点所代表的类名称name、类的规模size、类内部的属性方法之间相互函数调用频次innercoupling、节点所代表的抽象数据的类型types等节点的细节属性信息,size即类内部所包含的属性和方法的数量。E’为边集合,vsource表示调用起始节点,vtarget表示调用的终止节点,weight表示边的权重。边的权重计算方法定义如下:
w=fi
其中,fi表示调用关系的频数。
本发明方法可根据实际需要识别软件模块粒度大小,如包、文件、类以及函数等,对属性方法网络进行组织和抽象构造相应粒度的软件复杂网络模型。如图2所示的网络,是Filter软件的一种复杂网络模型。
步骤4中,在上述网络模型的基础上,根据对变更影响因素的分析可知,软件模块变更造成的影响与变更传播的特性、变更发生的方式、复杂网络的整体连通性以及传播路径上各模块自身的复杂特性等有关。因此本发明综合考虑变更衰减传播和节点自身属性两个方面的多种特性参数,提出软件变更影响传播仿真模型SPREAD,模型的框架如图3所示,具体软件变更影响传播仿真模型中采用的度量如下:
(1)变更传播特性。根据复杂网络特征与软件模块特性,变更传播过程是一个影响逐渐衰减的过程,因此通过4个参数来仿真变更影响的传播。参数的具体定义如下:
正向衰减率k:正向衰减率是计算变更模块在其正向相连模块上传播其影响的基础,正向衰减过程的出发点是变更发生的模块。由于传播的衰减过程是及其复杂的,对于连通性、容错性能、复杂网络结构不一的软件系统,其正向衰减率是一个由软件开发人员设定的基础变量。
软件网络的正向衰减率设定值作如下约束:
k∈(0,1)
k≥s_min
即正向衰减率是一个介于0和1之间的小数;且正向衰减率需大于等于影响被标记的最小阈值s_min。
逆向衰减率k:逆向衰减率是计算变更模块在其逆向相连模块上传播其影响的基础,逆向衰减过程的出发点是变更发生的模块。由于传播的衰减过程是及其复杂的,对于连通性、容错性能、复杂网络结构不一的软件系统,其逆向衰减率是一个由软件开发人员设定的基础变量。
软件网络的逆向衰减率设定值作如下约束:
k∈(0,1)
k≥s_min
即逆向衰减率是一个介于0和1之间的小数;且逆向衰减率需大于等于影响被标记的最小阈值s_min。
影响被标记的最小阈值s_min:在变更影响仿真中,采用了广度优先的遍历方式寻找可能受到影响波及的下一代节点,而由于复杂网络的联通特征和小世界特性,一代又一代的迭代会使节点不断重现在受波及节点列表中而导致死循环。因此提出影响被标记的最小值s_min,在靠后的波及代中,影响衰减到小于等于最小阈值s_min时,停止对该节点的计算。
判断停止的标准为:
βi≤s_min
其中,βi是传播路径上的节点i在该次波及中的衰减系数,在侧重不同的仿真模型中,βi值的计算有所不同。i为整数,为节点的编号。
变更传播的代数time:变更的传播仿真中,采用广度优先的遍历算法寻找一代波及可能影响的节点,在靠后的波及代数中,衰减更加显著,受变更影响程度越小。在仿真模型中认为,传播路径上变更衰减的程度与变更传播的代数time呈指数正相关:
βi∝(k正/逆)(time)
其中,βi为传播路径上某节点i的衰减系数;k正/逆为软件网络的正向/逆向衰减系数;time为变更传播到该处时的代数。
本发明步骤4中,对网络中的节点从特定的角度去进行动态仿真,计算影响的范围和路径上节点的受影响程度,计算影响的范围着眼于节点修改影响在传播途径上的衰减过程。本发明通过衰减系数和影响被标记的最小阈值s_min度量传播的范围,将更改发生后在两个节点之间的传播视为一层传播。衰减系数和影响被标记的最小阈值s_min根据节点修改类型的不同而变化,以获得比现有方法更准确的影响范围。
(2)节点特性。变更波及路径上的节点特性对变更的传播有比较重要的影响。节点本身的介数、度等也是计算节点受波及概率和量化其受影响程度的一些重要参数变量。
介数bc:反映了节点对整个网络的影响力,在软件网络中从控制信息传递的角度来说,介数越高的节点对于网络中信息的流动具有越高的控制力,其重要性越大。
节点i的介数bci的计算公式如下:
其中,guv为从节点u到节点v的最短路径的数目,ni uv为从节点u到节点v的最短路径中经过节点i的最短路径的数目。在侧重考虑节点介数在变更影响传播过程中的重要性的仿真模型中,计算某节点的受影响程度量化值和受影响概率时采用了相对介数betw。节点i的相对介数betw是将节点i的介数bci与软件网络中各节点介数的均值进行比较后得到,具体betw的计算公式如下:
其中,表示软件复杂网络中所有节点的介数平均值,n为软件复杂网络中的节点数量。
度d:度是一个网络节点属性中简单而又重要的概念。节点i的度di定义为与该节点连接的其他节点的数目。有向网络中节点的度分为出度和入度。此处的节点i的度di是节点i出度和入度的和。在侧重考虑节点度在变更影响传播过程中的重要性的仿真模型中,计算某节点的受影响程度量化值和受影响概率时采用了相对节点度dge。节点i的相对度dge是将节点i的度di与软件网络中各节点度的均值进行比较后得到,具体dge的计算公式如下:
其中,di为节点i的度,表示软件网络中所有节点的度平均值,n为软件网络中的节点数量。
紧密度活性p:紧密度活性是指网络中任意两节点的距离之和减去除去给定节点后网络中任意两个节点间的距离之和。此参数度量了去除给定节点i后,网络间传递信息的效率所花费的代价增大了多少,从信息传递的角度判断关键节点。因此在侧重紧密度活性的仿真模型的衰减程度量化值和波及概率与之呈正相关。
最后,根据以上对变更传播特性和节点特性的分析,给出五个侧重点不同的软件模块变更影响仿真模型。
最简模型:不考虑节点的属性对影响传播的作用,代间传播概率相同,仅计算波及的逐代衰减效应。具体公式如下:
βi=(k正/逆)(time)
其中,βi为节点衰减系数;k正/逆为该软件网络衰减率;time为变更传播的代数;spread为节点i的受波及程度量化值。N为正整数,此处为节点i的最大变更传播代数。
节点度模型:将节点的度与软件网络中各节点度的均值进行比较后的结果纳入受影响程度量化值和受影响概率计算的考量。具体公式如下:
βi=dge×(k正/逆)(time)
其中,dge为节点i的相对度。
节点介数模型:将节点的介数与软件网络中各节点介数的均值进行比较后的结果纳入受影响程度量化值和受影响概率计算的考量。具体公式如下:
βi=betw×(k正/逆)(time)
其中,betw为节点i的相对介数。
节点紧密度模型:将节点的紧密度活性与软件网络中各节点的均值进行比较后的结果纳入受影响程度量化值和受影响概率计算的考量。具体公式如下:
βi=p×(k正/逆)(time)
其中,p为节点i的紧密度活性。
节点多重波及模型:将节点的度、介数、紧密度与软件网络中各节点介数的均值进行比较后的结果纳入受影响程度量化值和受影响概率计算的考量。具体公式如下:
βi=dge×betw×p×(k正/逆)(time)
在以上五个不同侧重的模型中,相关人员可以选择性使用,得到不同的节点受波及程度量化值及受波及范围。
本发明将变更在节点间的传播当作不确定事件,考虑变更传播的概率与节点自身属性的关系,在不同的模型中对影响传播概率的节点属性有所侧重。在计算节点受影响程度量化值时,也考虑了节点的自身属性。通过将节点的自身属性与该属性全局平均值进行比较,得到该属性的相对值,此相对值与变更在该节点处的波及严重程度和受波及概率成正比,通过上面过程本发明为变更传播路径上节点的属性与其受影响程度建立了关系。
在步骤5中,依赖步骤4得到的节点受波及程度量化值,决定节点颜色深浅和尺寸大小,在开发的自动化软件中,由用户输入修改相关信息,选择所用模型,可获得模块变更影响程度值可视化的软件网络图。如选择节点度的多重波及模型,得到如图4所示可视化结果。
利用本发明方法,有助于开发人员在软件变更过程中更合理地进行修改。创新性地引入了衰减率与影响标记阈值来刻画软件变更的影响范围,将节点受影响程度量化值与节点的自身属性建立联系,将变更影响的传播概率与传播路径上的节点自身属性建立联系。采用不同侧重的五种仿真模型,并通过自动化的评价工具完成仿真。相比软件变更中传统的先修改、再回归测试的方法,通过评价工具对影响范围作出事先的评估,有助于开发人员了解修改将带来的波及效应,对其程序修改工作具有一定的指导意义。

Claims (10)

1.一种基于复杂网络的软件模块变更影响确定方法,对待分析的目标软件,以软件系统中类的属性和方法为网络节点,构建软件属性方法网络,再根据需要识别的软件模块粒度,对属性方法网络进行组织和抽象构造相应粒度的软件复杂网络模型;其特征在于,在软件复杂网络模型基础上,对变更发生在确定软件模块后的影响传播进行动态仿真,得到各节点受影响程度量化值和变更影响范围;
所述的方法采用软件变更影响传播仿真模型来进行动态仿真;
仿真参数从变更传播特性和节点特性两方面来度量;变更传播特性的仿真参数包括:正向衰减率k、逆向衰减率k、影响被标记的最小阈值s_min和变更传播的代数time;节点特性的仿真参数包括介数、度和紧密度活性;
仿真过程中采用广度优先的遍历方式寻找受到影响波及的下一代节点,对于传播路径上的节点i,当节点i的衰减系数βi小于等于最小阈值s_min时,停止对节点i的影响波及计算;
其中,衰减系数βi与变更传播的代数time呈指数正相关,表示为βi∝(k正/逆)(time)
最后,将节点i在每个变更传播代的衰减系数求和,作为节点i受影响程度量化值。
2.根据权利要求1所述的方法,其特征在于,所述的正向衰减率k是计算变更模块在其正向相连模块上传播其影响的基础变量,正向衰减过程的出发点是变更发生的模块;设置k是一个介于0和1之间的数,且大于等于影响被标记的最小阈值s_min;
所述的逆向衰减率是计算变更模块在其逆向相连模块上传播其影响的基础变量,逆向衰减过程的出发点是变更发生的模块;设置k是一个介于0和1之间的数,且大于等于影响被标记的最小阈值s_min。
3.根据权利要求1所述的方法,其特征在于,所述的节点特性的仿真参数中,节点i的介数bci的计算公式为:
其中,guv为从节点u到节点v的最短路径的数目,ni uv为从节点u到节点v的最短路径中经过节点i的最短路径的数目;
进一步得到节点i的相对介数betw为:其中,表示软件复杂网络中所有节点的介数平均值,n为软件复杂网络中的节点数量。
4.根据权利要求1所述的方法,其特征在于,所述的节点特性的仿真参数中,节点i的度di定义为与节点i连接的其他节点的数目;
进一步得到节点i的相对度dge为:其中,表示软件复杂网络中所有节点的度平均值,n为软件复杂网络中的节点数量。
5.根据权利要求1或2所述的方法,其特征在于,所述的方法提供一种软件变更影响传播仿真模型,该模型不考虑节点的属性对影响传播的作用,代间传播概率相同,仅计算波及的逐代衰减效应;
该模型下,节点i的衰减系数βi=(k正/逆)(time)
得到节点i受影响程度量化值其中,N为节点i的最大变更传播代数。
6.根据权利要求1或2或4所述的方法,其特征在于,所述的方法考虑节点的度对影响传播的作用,提供一种节点度模型作为软件变更影响传播仿真模型;
该模型下,节点i的衰减系数βi=dge×(k正/逆)(time);dge为节点i的相对度;
得到节点i受影响程度量化值其中,N为节点i的最大变更传播代数。
7.根据权利要求1或2或3所述的方法,其特征在于,所述的方法考虑节点的介数对影响传播的作用,提供一种节点介数模型作为软件变更影响传播仿真模型;
该模型下,节点i的衰减系数βi=betw×(k正/逆)(time);betw为节点i的相对介数;
得到节点i受影响程度量化值其中,N为节点i的最大变更传播代数。
8.根据权利要求1或2所述的方法,其特征在于,所述的方法考虑节点的紧密度活性对影响传播的作用,提供一种节点紧密度模型作为软件变更影响传播仿真模型;
该模型下,节点i的衰减系数βi=p×(k正/逆)(time);p为节点i的紧密度活性;
得到节点i受影响程度量化值其中,N为节点i的最大变更传播代数。
9.根据权利要求1或2或3或4所述的方法,其特征在于,所述的方法考虑节点的度、介数及紧密度活性对影响传播的作用,提供一种节点多重波及模型作为软件变更影响传播仿真模型;
该模型下,节点i的衰减系数βi=dge×betw×p×(k正/逆)(time);dge为节点i的相对度,betw为节点i的相对介数,p为节点i的紧密度活性;
得到节点i受影响程度量化值其中,N为节点i的最大变更传播代数。
10.根据权利要求1所述的方法,其特征在于,所述的方法,在得到节点受影响程度量化值后,在软件复杂网络上对个节点受到的影响进行可视化显示,设置节点的颜色深浅与节点受影响程度量化值的大小正相关,设置节点的尺寸大小与节点受影响程度量化值的大小正相关。
CN201810442474.XA 2018-05-10 2018-05-10 一种基于复杂网络动态仿真的软件模块变更影响确定方法 Active CN108664728B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810442474.XA CN108664728B (zh) 2018-05-10 2018-05-10 一种基于复杂网络动态仿真的软件模块变更影响确定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810442474.XA CN108664728B (zh) 2018-05-10 2018-05-10 一种基于复杂网络动态仿真的软件模块变更影响确定方法

Publications (2)

Publication Number Publication Date
CN108664728A true CN108664728A (zh) 2018-10-16
CN108664728B CN108664728B (zh) 2021-05-25

Family

ID=63778202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810442474.XA Active CN108664728B (zh) 2018-05-10 2018-05-10 一种基于复杂网络动态仿真的软件模块变更影响确定方法

Country Status (1)

Country Link
CN (1) CN108664728B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368443A (zh) * 2020-03-06 2020-07-03 北京旷视机器人技术有限公司 设备仿真方法、装置及电子设备
CN112231175A (zh) * 2020-10-14 2021-01-15 北京航空航天大学 一种基于动态仿真的软件状态监控点选择方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395138A (zh) * 2011-09-29 2012-03-28 中国科学技术大学 一种6LoWPAN的协议一致性测试仪表及方法
US9038151B1 (en) * 2012-09-20 2015-05-19 Wiretap Ventures, LLC Authentication for software defined networks
CN105808435A (zh) * 2016-03-08 2016-07-27 北京理工大学 一种基于复杂网络的软件缺陷评估模型的构建方法
CN106127590A (zh) * 2016-06-21 2016-11-16 重庆邮电大学 一种基于节点影响力的信息态势感知及传播管控模型
CN106951365A (zh) * 2016-03-01 2017-07-14 北京航空航天大学 一种基于面向对象软件代码的软件复杂网络模型构建方法
CN107438080A (zh) * 2017-08-31 2017-12-05 沈阳理工大学 一种复杂网络效能评估方法
CN107743072A (zh) * 2017-07-04 2018-02-27 中国电力科学研究院 高效可扩展的网络仿真场景生成方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395138A (zh) * 2011-09-29 2012-03-28 中国科学技术大学 一种6LoWPAN的协议一致性测试仪表及方法
US9038151B1 (en) * 2012-09-20 2015-05-19 Wiretap Ventures, LLC Authentication for software defined networks
CN106951365A (zh) * 2016-03-01 2017-07-14 北京航空航天大学 一种基于面向对象软件代码的软件复杂网络模型构建方法
CN105808435A (zh) * 2016-03-08 2016-07-27 北京理工大学 一种基于复杂网络的软件缺陷评估模型的构建方法
CN106127590A (zh) * 2016-06-21 2016-11-16 重庆邮电大学 一种基于节点影响力的信息态势感知及传播管控模型
CN107743072A (zh) * 2017-07-04 2018-02-27 中国电力科学研究院 高效可扩展的网络仿真场景生成方法
CN107438080A (zh) * 2017-08-31 2017-12-05 沈阳理工大学 一种复杂网络效能评估方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIAMING WANG等: "Identifying Key Classes of Object-Oriented Software Based on Software Complex", 《2017 2ND INTERNATIONAL CONFERENCE ON SYSTEM RELIABILITY AND SAFETY》 *
YUWEI YANG等: "MHCP Model for Quality Evaluation for Software Structure Based on Software Complex Network", 《2016 IEEE 27TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING》 *
张莉等: "基于变更传播仿真的软件稳定性分析", 《计算机学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368443A (zh) * 2020-03-06 2020-07-03 北京旷视机器人技术有限公司 设备仿真方法、装置及电子设备
CN112231175A (zh) * 2020-10-14 2021-01-15 北京航空航天大学 一种基于动态仿真的软件状态监控点选择方法及系统
CN112231175B (zh) * 2020-10-14 2022-05-13 北京航空航天大学 一种基于动态仿真的软件状态监控点选择方法及系统

Also Published As

Publication number Publication date
CN108664728B (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CN102594909B (zh) 基于共邻矩阵谱信息的多目标社区检测方法
CN103020267B (zh) 基于三角簇多标签传播的复杂网络社区结构挖掘方法
CN107665172A (zh) 一种基于复杂加权软件网络的软件缺陷预测方法
CN108536471A (zh) 一种基于复杂网络的软件结构重要模块识别方法
Peng et al. Reliability analysis in interdependent smart grid systems
CN110110529A (zh) 一种基于复杂网络的软件网络关键节点挖掘方法
Nassif et al. A regression model with mamdani fuzzy inference system for early software effort estimation based on use case diagrams
CN108769018B (zh) 一种多维多粒度的网络空间安全度量方法
WO2023216489A1 (zh) 算力网络节点评价及操作方法和装置
CN108664728A (zh) 一种基于复杂网络动态仿真的软件模块变更影响确定方法
CN110322122B (zh) 基于类图的软件结构风险评估方法
CN105068928A (zh) 一种基于复杂网络理论的软件测试用例生成方法
Yu et al. Research on the tenacity survivability of wireless sensor networks
CN106603294B (zh) 一种基于电力通信网结构和状态的综合脆弱性评估方法
CN105787604A (zh) 一种输配协同的配网态势快速感知方法
Li et al. Dynamic trustworthiness overlapping community discovery in mobile internet of things
CN107277828A (zh) 一种均衡系统失效风险的信息物理系统规划方法
Gao et al. The trustworthiness measurement model of component-based software based on the subjective and objective weight allocation method
Tian et al. Hybrid weighted communication network node importance evaluation method
CN113592663A (zh) 一种基于社区度和结构洞的影响力最大化方法
CN110889614A (zh) 基于scada大数据的电网系统重要用户供电风险分析方法
Zhang et al. Analysis on key nodes behavior for complex software network
Asprone et al. Assessment of urban ecosystem resilience using the efficiency of hybrid social-physical complex networks
Valtanen Design challenges of developing a blockchain-enabled smart home
CN112633559B (zh) 一种基于动态图卷积神经网络的社交关系预测方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant