CN110851177A - 一种基于软件故障传播的软件系统关键实体挖掘方法 - Google Patents

一种基于软件故障传播的软件系统关键实体挖掘方法 Download PDF

Info

Publication number
CN110851177A
CN110851177A CN201911069087.7A CN201911069087A CN110851177A CN 110851177 A CN110851177 A CN 110851177A CN 201911069087 A CN201911069087 A CN 201911069087A CN 110851177 A CN110851177 A CN 110851177A
Authority
CN
China
Prior art keywords
software
node
nodes
network
software system
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
CN201911069087.7A
Other languages
English (en)
Other versions
CN110851177B (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.)
Beijing Union University
Original Assignee
Beijing Union 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 Beijing Union University filed Critical Beijing Union University
Priority to CN201911069087.7A priority Critical patent/CN110851177B/zh
Publication of CN110851177A publication Critical patent/CN110851177A/zh
Application granted granted Critical
Publication of CN110851177B publication Critical patent/CN110851177B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于软件故障传播的软件系统关键实体挖掘方法,用于解决大型复杂软件质量难以保证,可信性难以控制,维护费用高等问题,具体包括:建立软件网络;构建软件网络的节点攻击策略;针对构建的节点攻击策略建立软件网络的故障传播模型,计算相对失效比率S来评估故障传播结束后软件网络的损坏情况;利用相对失效比率S识别出软件系统中的关键实体。本发明为提高软件系统的抗攻击性做好了前期准备,提高了整个软件系统的可信性;可以在进行软件体系结构设计时,提高软件系统的抗毁性;另外,对于理解软件系统的拓扑结构、定位软件错误、预防软件漏洞、辅助软件测试、控制和降低软件维护费用等具有重要的实践意义。

Description

一种基于软件故障传播的软件系统关键实体挖掘方法
技术领域
本发明涉及软件系统中关键实体的挖掘,具体涉及一种引入多点攻击及总攻击成本异质分配的基于软件故障传播的软件系统关键实体挖掘方法,用于解决大型复杂软件质量难以保证,可信性难以控制,维护费用高等问题,能为优化软件系统的体系结构设计、定位软件错误、预防软件漏洞、辅助软件测试等提供技术支持。
背景技术
软件是信息技术的核心,代表着知识、科技和管理的创新。软件产业已成为突出体现一个国家高附加值产业的水平、衡量一个国家综合实力水平的标志之一。近年来,我国软件业取得了有目共睹的成果,但是软件系统不断增加的规模和复杂性,使得软件开发困难,软件质量难以保证,软件维护费用居高不下,软件可信性难以控制等问题日益突出。
软件系统复杂性的增加直接导致了软件故障复杂性的增加。如果能识别出软件系统中的关键实体,就可以为提高软件系统的抗攻击性做好前期准备,比如采取各种测试方法来保证这些关键实体的可靠性,使其能够在各种环境下保证运行的正确性,这样就为关键实体建立了一层保护,使其对其他实体可信,从而提高整个软件系统的可信性;另一方面,在进行软件体系结构设计时,避免出现故障传播能力过强的实体,可以有效地抑制软件故障大规模传播现象的发生,缩小级联故障的影响范围,提高软件系统的抗毁性;另外,对于理解软件系统的拓扑结构、定位软件错误、预防软件漏洞、辅助软件测试、控制和降低软件维护费用等具有重要的实践意义。
耦合映像格子(Coupled Map Lattice,CML)模型是一个时间、空间都离散而状态连续的非线性动力学模型,能够有效刻画复杂软件系统在受到攻击时的故障传播行为。
发明内容
为了挖掘软件系统中的关键实体,利用软件系统的源码建立软件网络。构建最优的节点攻击策略,在软件网络上建立软件故障的传播模型,挖掘软件网络中的关键节点,依据节点与实体的一一对应关系,识别软件系统的关键实体。
本发明利用软件系统的源码,将多点攻击和总攻击成本异质分配策略引入CML级联故障模型,提出一种基于软件故障传播的软件系统关键实体挖掘方法。该方法步骤如下:
第一步,建立软件网络;
第二步,构建软件网络的节点攻击策略;
第三步,针对构建的节点攻击策略建立软件网络的故障传播模型,计算相对失效比率S来评估故障传播结束后软件网络的损坏情况;
第四步,利用相对失效比率S识别出软件系统中的关键实体。
有益效果
本发明为提高软件系统的抗攻击性做好了前期准备,提高了整个软件系统的可信性;可以在进行软件体系结构设计时,避免出现故障传播能力过强的实体,提高软件系统的抗毁性;另外,对于理解软件系统的拓扑结构、定位软件错误、预防软件漏洞、辅助软件测试、控制和降低软件维护费用等具有重要的实践意义。
附图说明
图1是识别软件系统关键节点的算法流程图。
具体实施方式
下面对发明的具体技术方案做进一步的说明。
第一步,建立软件网络;
本发明中的软件实体可以是软件系统中的函数、类、包、模块或组件等。
对于基于面向对象技术开发的软件系统,例如基于Java语言开发的软件系统,如果将软件源码中的类当作网络节点,类之间的关联关系抽象为边,则可以构建基于类的软件网络,此时类是软件系统的实体;如果将软件源码中的包当作网络节点,包之间的关联关系抽象为边,则可以构建基于包的软件网络,此时包是软件系统的实体;对于采用非面向对象技术开发的软件系统,例如Linux、MySQL等,如果将软件源代码中的函数抽象为节点,函数之间的调用关系抽象为边,则可以构建基于函数的软件网络,此时函数是软件系统的实体。
第二步,构建软件网络的节点攻击策略
本发明中的软件故障传播模型可以支持任何的节点攻击策略,并不限于下面的4种常见节点攻击策略。
(1)基于度的节点攻击策略:将软件网络中节点的度值按照从大到小的顺序排列,选取前Q个节点组成攻击节点集合Z,度越大的节点越排在集合Z的前面。节点i的度是指节点i的直接连边的个数。
(2)基于聚类系数的节点攻击策略:将软件网络中节点的聚类系数值按照从大到小的顺序排列,选取前Q个节点组成攻击节点集合Z,聚类系数越大的节点越排在集合Z的前面。节点的聚类系数定义为
Figure BDA0002260373750000021
其中ei为节点i的直接邻居节点间的实际连边个数之和,其中,两个节点有一条连边直接连接的互为直接邻居,节点i可能有多个直接邻居如:j、k、m等,ei指j、k、m间的连边个数之和,ki为节点i的度。
(3)基于介数的节点攻击策略:将软件网络中节点的介数值按照从大到小的顺序排列,选取前Q个节点组成攻击节点集合Z,介数越大的节点越排在集合Z的前面。节点的介数定义为
Figure BDA0002260373750000031
其中N为网络中的节点总数,njl为节点j到节点l的最短路径的数量,节点j和l之间可能有多条路径连通,最短路径是指经过的边的数目最少的路径,njl为最短路径的个数,njl(i)为节点j到节点l且经过节点i的最短路径的个数,节点i和l之间的最短路径经过节点i的才增加njl(i)的值,不经过节点i的最短路径不累加njl(i)的值里。
(4)基于接近中心性的节点攻击策略:将软件网络中节点的接近中心性值按照从大到小的顺序排列,选取前Q个节点组成攻击节点集合Z,接近中心性越大的节点越排在集合Z的前面。节点的接近中心性定义为
Figure BDA0002260373750000032
其中N为网络中的节点总数,d(i,j)为节点i到节点j的最短路径长度,即最短路径所经过的边的数量。
第三步,针对构建的节点攻击策略建立软件网络的故障传播模型,计算相对失效比率S来评估故障传播结束后软件网络的损坏情况;
本发明对传统的CML模型进行改造,使之可以适应多点攻击。传统的CML模型只支持单点攻击,可以表示为
Figure BDA0002260373750000033
其中,xi(t+1)为节点i在t+1时刻的状态,-aij表示表示网络中节点i和节点j的关联关系,如果节点i和节点j间有连边,则aij=1,否则aij=0,N为网络中的节点总数,ε是耦合强度,k(i)表示节点i的度,fi(*)为logistic映射,函数fi(t)=4*xi(t)(1-4*xi(t))表示节点自身的动态行为。
如果0<xi(t)<1,t≤m,那么称节点i在第m时间步处于正常状态。相反地,如果0<xi(t)<1,t<m;xi(m)≥1,那么称节点i在第m时间步受到攻击并失效。
大型复杂软件系统中不仅存在单个实体受攻击的情况,也普遍存在多个实体受攻击的情况。本发明的主要创新是提出了针对软件系统受到多点攻击的故障传播模型,以及多点攻击下总攻击成本异质分配的策略,并应用于软件系统关键实体的挖掘。为了使传统的CML模型支持多点攻击及总攻击成本异质分配的要求,我们定义Z为攻击节点集合,Q为Z中的元素个数,Rt为施加到Q个节点上的总攻击成本(总干扰量),每个节点分到的攻击量
Figure BDA0002260373750000041
其中,yi为节点i的中心性(Centrality),可以是节点的度、介数、强度、聚类系数或接近中心性等;α为可调节参数,0<α≤2,用来实现总攻击成本的异质分配,通过调节α的值可以得到不同攻击策略下的最优攻击效果。
第m时间步,将总攻击成本Rt施加到Q个节点上,则节点i(i∈Z)的状态即故障传播模型具体如下:
其中,ε(0≤ε≤1)是耦合强度,fi(*)为logistic映射,aij表示表示网络中节点i和节点j的关联关系,如果节点i和节点j间有连边,则aij=1,否则aij=0,k(i)表示节点i的度;m表示第m个时间步;
如果xi(m)≥1,则节点i失效,节点i在第m+2时间步及以后的时间步都不再引起故障传播,即xi(t)≡0,t>m,而在第m+1时间步,节点i的直接邻居节点l的状态将按照公式(1)更新;
用相对失效比率
Figure BDA0002260373750000044
来评估故障传播结束后软件网络的损坏情况,S的值越大,对软件网络的破坏就越严重。
第四步,识别出软件系统中的关键实体
(1)针对每个攻击策略,调节α的值,得到最优α值使得相对失效比率S的值最大,每个攻击策略的最优α值可能不相同。
(2)对比不同攻击策略在各自最优α值下的S值,S值最大的为最优攻击策略。
(3)最优攻击策略对应的Z集合即为软件网络中的关键节点,依据节点与实体的一一对应关系,得到软件系统中的关键实体。Z集合中排位越靠前的节点对应的软件实体越重要。

Claims (7)

1.一种基于软件故障传播的软件系统关键实体挖掘方法,其特征在于包括以下步骤:
第一步,建立软件网络;
第二步,构建软件网络的节点攻击策略;
第三步,针对构建的节点攻击策略建立软件网络的故障传播模型,计算相对失效比率S来评估故障传播结束后软件网络的损坏情况;
第四步,利用相对失效比率S识别出软件系统中的关键实体。
2.根据权利要求1所述的一种基于软件故障传播的软件系统关键实体挖掘方法,其特征在于:步骤1中所述的软件网络的实体可以是软件系统中的函数、类、包、模块或组件。
3.根据权利要求2所述的一种基于软件故障传播的软件系统关键实体挖掘方法,其特征在于:
对于基于面向对象技术开发的软件系统,如果将软件源码中的类当作网络节点,类之间的关联关系抽象为边,则可以构建基于类的软件网络,此时类是软件系统的实体;如果将软件源码中的包当作网络节点,包之间的关联关系抽象为边,则可以构建基于包的软件网络,此时包是软件系统的实体;
对于采用非面向对象技术开发的软件系统,如果将软件源代码中的函数抽象为节点,函数之间的调用关系抽象为边,则可以构建基于函数的软件网络,此时函数是软件系统的实体。
4.根据权利要求1所述的一种基于软件故障传播的软件系统关键实体挖掘方法,其特征在于:本发明中的软件故障传播模型可以支持任何的节点攻击策略,并不限于下面的4种常见节点攻击策略:
(1)基于度的节点攻击策略:将软件网络中节点的度值按照从大到小的顺序排列,选取度前Q个节点组成攻击节点集合Z,度越大的节点越排在集合Z的前面,其中,节点i的度是指节点i的直接连边的个数;
(2)基于聚类系数的节点攻击策略:将软件网络中节点的聚类系数值按照从大到小的顺序排列,选取前Q个节点组成攻击节点集合Z,聚类系数越大的节点越排在集合Z的前面;节点的聚类系数定义为
Figure FDA0002260373740000011
其中ei为节点i的直接邻居节点间的实际连边个数之和,ki为节点i的度。
(3)基于介数的节点攻击策略:将软件网络中节点的介数值按照从大到小的顺序排列,选取前Q个节点组成攻击节点集合Z,介数越大的节点越排在集合Z的前面;节点的介数定义为
Figure FDA0002260373740000021
其中N为网络中的节点总数,njl为节点j到节点l的最短路径的个数,njl(i)为节点j到节点l且经过节点i的最短路径的个数;
(4)基于接近中心性的节点攻击策略:将软件网络中节点的接近中心性值按照从大到小的顺序排列,选取前Q个节点组成攻击节点集合Z,接近中心性越大的节点越排在集合Z的前面;节点的接近中心性定义为
Figure FDA0002260373740000022
其中N为网络中的节点总数,d(i,j)为节点i到节点j的最短路径长度。
5.根据权利要求1所述的一种基于软件故障传播的软件系统关键实体挖掘方法,其特征在于:步骤3中所述的故障传播模型用于针对软件系统中的节点集合Z攻击,其中,第m时间步,将总攻击成本Rt施加到Q个节点上,则节点i(i∈Z)的状态即故障传播模型具体如下:
Figure FDA0002260373740000023
其中,ε(0≤ε≤1)是耦合强度,fi(*)为logistic映射,aij表示表示网络中节点i和节点j的关联关系,如果节点i和节点j间有连边,则aij=1,否则aij=0,k(i)表示节点i的度;m表示第m个时间步;
其中,
其中,yi为节点i的中心性(Centrality),可以是节点的度、介数、强度、聚类系数或接近中心性,α(0<α≤2)为可调节参数;如果xi(m)≥1,则节点i失效,节点i在第m+2时间步及以后的时间步都不再引起故障传播,即xi(t)≡0,t>m,而在第m+1时间步,节点i的直接邻居节点l的状态将按照公式(1)更新;
Figure FDA0002260373740000025
6.根据权利要求5所述的一种基于软件故障传播的软件系统关键实体挖掘方法,其特征在于:所述的相对失效比率S的计算公式具体为:
Figure FDA0002260373740000026
其中,N是软件网络中的节点总数,I(t)是软件网络在第t时间步失效的节点总数,T代表时间步总数,所述的第t时间步失效的节点指第t时间步状态值x(t)≥1的节点。
7.根据权利要求1所述的一种基于软件故障传播的软件系统关键实体挖掘方法,其特征在于:第四步,识别出软件系统中的关键实体具体包括:
(1)针对每个攻击策略,调节α∈(0,2]的值,得到最优α值使得相对失效比率S的值最大;
(2)对比不同攻击策略在各自最优α值下的S值,S值最大的为最优攻击策略;
(3)最优攻击策略对应的Z集合即为软件网络中的关键节点,依据节点与实体的一一对应关系,得到软件系统中的关键实体,Z集合中排位越靠前的节点对应的软件实体越重要。
CN201911069087.7A 2019-11-05 2019-11-05 一种基于软件故障传播的软件系统关键实体挖掘方法 Active CN110851177B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911069087.7A CN110851177B (zh) 2019-11-05 2019-11-05 一种基于软件故障传播的软件系统关键实体挖掘方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911069087.7A CN110851177B (zh) 2019-11-05 2019-11-05 一种基于软件故障传播的软件系统关键实体挖掘方法

Publications (2)

Publication Number Publication Date
CN110851177A true CN110851177A (zh) 2020-02-28
CN110851177B CN110851177B (zh) 2023-04-28

Family

ID=69599777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911069087.7A Active CN110851177B (zh) 2019-11-05 2019-11-05 一种基于软件故障传播的软件系统关键实体挖掘方法

Country Status (1)

Country Link
CN (1) CN110851177B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112002127A (zh) * 2020-09-02 2020-11-27 西北工业大学 轨道交通中站点重要性评估方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473162A (zh) * 2013-09-25 2013-12-25 浪潮电子信息产业股份有限公司 一种基于软件故障注入的可靠性评测系统设计方法
CN107103363A (zh) * 2017-03-13 2017-08-29 北京航空航天大学 一种基于lda的软件故障专家系统的构建方法
CN109271319A (zh) * 2018-09-18 2019-01-25 北京航空航天大学 一种基于面板数据分析的软件故障的预测方法
US20190121686A1 (en) * 2017-10-23 2019-04-25 Liebherr-Werk Nenzing Gmbh Method and system for evaluation of a faulty behaviour of at least one event data generating machine and/or monitoring the regular operation of at least one event data generating machine
CN110110529A (zh) * 2019-05-20 2019-08-09 北京理工大学 一种基于复杂网络的软件网络关键节点挖掘方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473162A (zh) * 2013-09-25 2013-12-25 浪潮电子信息产业股份有限公司 一种基于软件故障注入的可靠性评测系统设计方法
CN107103363A (zh) * 2017-03-13 2017-08-29 北京航空航天大学 一种基于lda的软件故障专家系统的构建方法
US20190121686A1 (en) * 2017-10-23 2019-04-25 Liebherr-Werk Nenzing Gmbh Method and system for evaluation of a faulty behaviour of at least one event data generating machine and/or monitoring the regular operation of at least one event data generating machine
CN109271319A (zh) * 2018-09-18 2019-01-25 北京航空航天大学 一种基于面板数据分析的软件故障的预测方法
CN110110529A (zh) * 2019-05-20 2019-08-09 北京理工大学 一种基于复杂网络的软件网络关键节点挖掘方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112002127A (zh) * 2020-09-02 2020-11-27 西北工业大学 轨道交通中站点重要性评估方法及装置
CN112002127B (zh) * 2020-09-02 2021-09-17 西北工业大学 轨道交通中站点重要性评估方法及装置

Also Published As

Publication number Publication date
CN110851177B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
Hu et al. Adaptive slave controller assignment for fault-tolerant control plane in software-defined networking
CN112866010B (zh) 一种故障定位方法及装置
CN109697563B (zh) 一种考虑隐性故障的电力信息物理系统风险保障预警方法
CN110474327B (zh) 配电网cps信息-物理组合预想故障生成方法及系统
CN110672951B (zh) 一种配电网电压脆弱区域辨识方法及装置
CN110851177A (zh) 一种基于软件故障传播的软件系统关键实体挖掘方法
CN105117849B (zh) 基于电气LeaderRank算法的电网节点重要度评估方法
CN109510681B (zh) 一种通信网络时间同步级数最小的基准节点选择方法
CN109064026A (zh) 一种考虑供电系统运行方式的工业过程过程参数免疫时间评估方法
CN105512957A (zh) 一种电力系统中信息物理安全风险的评估方法
CN109858822B (zh) 一种基于流关联分析的信息电力融合系统可靠性评估方法
CN111900720A (zh) 一种基于双层网页排序算法的输电网脆弱线路辨识方法
Liu et al. Node Importance Evaluation of Cyber-Physical System under Cyber-Attacks Spreading
CN110829413B (zh) 基于道路矩阵的辐射状配电网可靠性评估方法
Bistouni et al. Remove and contraction: A novel method for calculating the reliability of Ethernet ring mesh networks
CN113923106A (zh) 基于QoS需求的电力通信网链路故障恢复方法
CN107818414B (zh) 一种大规模交直流混联电网n-2预想事故集的生成方法
Li et al. Availability allocation of networked systems using Markov model and heuristics algorithm
CN109167691B (zh) 一种武器控制系统的网络冗余设计方法
CN111208386A (zh) 一种适应拓扑变化与信息错误的配电网故障快速定位方法
CN104320229A (zh) 通信网络建立的方法及装置
CN114884827B (zh) 面向工业控制网络协议的模型构建及代码生成方法
CN114900461B (zh) 考虑信息物理融合特性的电力通信网路由优化方法及装置
CN117560212A (zh) 配电网信息空间和物理系统耦合的风险传播途径评估方法
CN113972698B (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