CN114253853A - 一种基于网络谱的软件故障定位方法 - Google Patents

一种基于网络谱的软件故障定位方法 Download PDF

Info

Publication number
CN114253853A
CN114253853A CN202111573144.2A CN202111573144A CN114253853A CN 114253853 A CN114253853 A CN 114253853A CN 202111573144 A CN202111573144 A CN 202111573144A CN 114253853 A CN114253853 A CN 114253853A
Authority
CN
China
Prior art keywords
software
network
spectrum
test case
module
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.)
Pending
Application number
CN202111573144.2A
Other languages
English (en)
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 CN202111573144.2A priority Critical patent/CN114253853A/zh
Publication of CN114253853A publication Critical patent/CN114253853A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种基于网络谱的软件故障定位方法,包括如下步骤:收集待测软件源代码;基于逆向工程建立软件网络;设计软件测试用例并执行,记录其覆盖信息和执行结果,建立模块级的程序谱;基于程序谱扩展建立的软件网络,建立包含程序谱信息的网络谱;基于路径相似度分析,对网络谱规模进行约简,实现特征降维;基于约简后的网络谱,构建特征矩阵和代表软件网络结构的邻接矩阵;基于邻接矩阵和特征矩阵,使用图神经网络进行软件故障定位。本发明可以完成对基于网络谱的软件故障定位技术的构建。本发明可以帮助软件测试人员在测试中加速软件故障的定位,进而对软件进行更新,提高其使用可靠性,具有实用价值。

Description

一种基于网络谱的软件故障定位方法
技术领域
本发明涉及软件可信性、软件测试技术领域,尤其涉及一种基于网络谱的软件故障定位方法。
背景技术
随着计算机技术的飞速发展,软件的功能越来越强大,软件的规模和复杂度也急剧增大。为减小软件故障造成的损失,对软件进行故障定位并排除故障以确保软件的质量和可靠性变得异常重要。随着复杂软件系统在规模和复杂度方面的急剧增加,传统的故障定位技术(如程序日志记录、断言、断点和分析)已经无法实现有效的故障定位,因此许多可以实现自动化或者半自动化的软件故障定位方法被提出。在众多的软件故障定位方法中,基于程序谱的故障定位方法可以说是目前最为经典的一种故障定位方法,该类方法是指通过捕获软件测试用例执行信息构建基于测试用例覆盖信息(成功或者失败)的信息矩阵,即程序频谱,然后使用可疑度计算公式为某个程序实体(实体可以是语句、函数模块等不同粒度的软件单元)分配一个可疑度值,基于可疑度值进行排序,排名越高越有可能存在故障。换言之,该类方法的思想就是如果一个程序实体总是被失败的用例覆盖,而不被成功的用例覆盖,那么该实体就被认为是可疑的。基于程序谱的软件故障定位方法一个比较明显的局限在于,并没有考虑到程序实体之间的相关性,不同程序实体之间是孤立的,但实际上软件故障是有可能通过控制流或数据流传播的,因此,在获得可疑度最高的实体后其实并不能确定故障究竟是产生于该实体,还是该实体仅仅传播了产生于前驱实体的错误,因此不考虑故障传播效应的故障定位在某些情况下会产生较高的误报。
与此同时,复杂软件系统可以分解为一系列软件实体(如函数、类等)的集合,通过这些实体的交互,实现预期的功能。如果将软件的实体视为节点,实体间的相互关系视为边,那么软件结构实质上表现为一种互联互通的复杂网络拓扑形态。且随着软件规模的不断增加,这种“网络化”的趋势亦愈加明显,这复杂的软件系统成为了另外一类重要的社会网络,即软件网络。基于此,最新的研究着眼于使用复杂网络理论的方法,对软件故障传播过程进行更高抽象化的量化分析,从而基于故障传播对传统的故障定位方法进行改进,尤其是对可疑度的计算方式进行改进。该类方法实现了一定程度的改进,但研究目前仍不深入。软件网络本身就是从整体的角度对软件的一种高层次抽象,抽象形式则是互联互通的网络,也就是图。当我们以软件模块为节点,模块间的逻辑关系为边建立软件网络后,软件模块级的故障定位,则本质上是在网络结构上,或者说在图上进行节点的分类,类别包括“故障”和“正常”等状态。
现有基于程序谱的软件故障方法,通过测试用例覆盖信息计算可疑度从而实现故障定位,但未考虑故障在软件实体间的传播关系。而基于复杂网络理论建立软件网络对故障传播进行量化分析的改进故障定位方法目前研究仍不深入,同时没有结合使用软件的测试信息以及软件网络的整体结构信息进行软件的故障定位。
发明内容
本发明目的是提供了一种基于网络谱的软件故障定位方法,以解决上述问题。
本发明解决技术问题采用如下技术方案:
一种基于网络谱的软件故障定位方法,包括如下步骤:
步骤1,收集待测软件源代码;
步骤2,基于逆向工程建立软件网络;
步骤3,设计软件测试用例并执行,记录其覆盖信息和执行结果,建立模块级的程序谱;
步骤4,基于程序谱扩展建立的软件网络,建立包含程序谱信息的网络谱;
步骤5,基于路径相似度分析,对网络谱规模进行约简,实现特征降维;
步骤6,基于约简后的网络谱,构建特征矩阵和代表软件网络结构的邻接矩阵;
步骤7,基于邻接矩阵和特征矩阵,使用图神经网络进行软件故障定位。
进一步的,步骤1中收集待测软件源代码,其构建方法为:
获取需要进行测试的软件的源程序文件。
进一步的,步骤2中基于逆向工程建立软件网络,其构建方法为:
基于逆向工程思想,从软件源码出发,解析软件源码获取软件模块集合V={v1,v2,…,vn}及其逻辑关系集合E={e1,e2,…,em},以此建立软件网络G,软件模块为函数、类、方法不同层次的软件实体。
进一步的,依据选择的模块的不同,G采用函数调用网络、类依赖网络或方法调用网络不同粒度的网络。
进一步的,步骤3中设计软件测试用例并执行,记录其覆盖信息和执行结果,建立模块级的程序谱,其构建方法为:
采用自动方式生成面向被测软件的k个测试用例,并执行所有的测试用例,依据建立软件网络的模块类别,基于测试用例执行信息建立相对应的模块级程序谱MP;
该程序谱包含的是每条测试用例针对每个软件模块的覆盖情况,以及测试用例本身的执行结果,因此包含四种情况:未被失败测试用例覆盖UF、未被成功测试用例覆盖US、被失败测试用例覆盖CF、被成功测试用例覆盖CS;将针对模块vi的上述四种测试用例数量记为NUF(vi)、NUS(vi)、NCF(vi)和NCS(vi),则有NUF(vi)+NUS(vi)+NCF(vi)+NCS(vi)=k;建立的模块级程序谱MP即由n个模块的k条测试用例覆盖信息构成,维度为k×n,程序谱中的每个元素值为NUF(vi)、NUS(vi)、NCF(vi)和NCS(vi)中的一种。
进一步的,步骤4中基于程序谱扩展建立的软件网络,建立包含程序谱信息的网络谱,其构建方法为:
基于已经建立的模块级程序谱MP,将其中针对模块vi的k个测试用例信息作为软件网络G中节点vi的属性,扩展后的软件网络即为网络谱NP。
进一步的,步骤5中基于路径相似度分析,对网络谱规模进行约简,实现特征降维,其构建方法为:
采用路径相似度分析方法,对所有的网络路径进行分析,只保留相似度较低的网络路径,实现对网络谱规模的约简,约简后的网络谱记为NP';NP'中每个节点包含的测试用例个数为k',且k'≤k,测试用例的数量代表了节点特征的维数,实现特征降维。
进一步的,步骤6中基于约简后的网络谱,构建特征矩阵和代表软件网络结构的邻接矩阵,其构建方法为:基于网络谱NP'建立网络的邻接矩阵A以代表网络结构,建立代表网络所有节点特征的特征矩阵X,该特征矩阵X由每个节点的特征所构成。
进一步的,步骤7中基于邻接矩阵和特征矩阵,使用图神经网络进行软件故障定位,其构建方法为:
以邻接矩阵A和特征矩阵X作为输入,使用图神经网络对所有节点进行分类,类别包括故障和正常两种,以此实现模块级的软件故障定位。
有益效果:
本发明与现有技术相比的优点在于:现有的基于程序谱的软件故障定位方法,在基于测试用例覆盖信息计算软件实体可疑度的时候,将实体视作孤立的,未考虑软件故障基于实体间关联关系的传播效应。在此基础上,基于复杂网络理论建立软件网络实现故障传播的量化分析,从而对程序谱故障定位方法进行改进的相关方法,目前研究仍不深入,同时,也没有充分使用到软件网络的整体信息。因此本发明借鉴复杂网络理论、程序谱故障定位方法和图深度学习方法,结合程序谱和软件网络建立网络谱,而后基于网络谱分别建立网络邻接矩阵和特征矩阵,而后直接将邻接矩阵和特征矩阵作为输入,使用图神经网络进行故障定位。邻接矩阵本质上就是网络结构的另一种表示,完整的表示了网络的整体结构,因此它内在的包含了可能的故障传播效应,同时,特征矩阵则包含了测试用例的覆盖以及执行结果等信息。本发明对现有的软件网络和程序谱故障定位方法进行了整合与创新,提供一种基于网络谱的软件故障定位技术。
附图说明
图1为本发明所述方法的总体步骤流程图;
图2为基于测试用例执行信息得到的模块级程序谱示意图;
图3为融合软件网络和程序谱信息的网络谱构建方法图;
图4为基于网络谱和图神经网络的软件故障定位示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考附图1,本发明公开了一种基于网络谱的软件故障定位方法,包括如下步骤:
步骤1,收集待测软件源代码,其构建方法为:
获取需要进行测试的软件的源程序文件。
步骤2,基于逆向工程建立软件网络,其构建方法为:
基于逆向工程思想,从软件源码出发,采用Understand、Doxygen等静态分析工具解析软件源码,获取软件模块集合V={v1,v2,…,vn}及其逻辑关系集合E={e1,e2,…,em}的文本数据,这里所说的软件模块可以是函数、类、方法等不同层次的软件实体,通常依据软件类型和实际故障定位需求确定。如C语言软件的功能实体为函数,依赖于函数调用实现预期功能,因此其主要软件模块为函数;又如,如果只是想定位故障所在文件的位置,也可以以文件作为主要模块建立所需的文件调用网络模型。在得到包含软件模块及其逻辑关系的数据后,解析数据并使用NetworkX等建模工具建立软件网络G,依据选择的模块的不同,G可以是函数调用网络、类依赖网络、文件调用网络等不同粒度的网络。
步骤3,设计软件测试用例并执行,记录其覆盖信息和执行结果,建立模块级的程序谱,其构建方法为:
首先通过人工手动方式或者进化测试等自动方式生成面向被测软件的k个测试用例,并执行所有的测试用例。在执行用例时,记录每条用例覆盖了哪些模块,以及用例执行的结果是成功还是失败。针对每个模块而言,测试用例是否覆盖以及执行是否成功,导致针对每个模块而言,其测试用例覆盖信息包含四种情况:未被失败测试用例覆盖UF、未被成功测试用例覆盖US、被失败测试用例覆盖CF、被成功测试用例覆盖CS。将针对模块vi的上述四种测试用例数量记为NUF(vi)、NUS(vi)、NCF(vi)和NCS(vi),则有NUF(vi)+NUS(vi)+NCF(vi)+NCS(vi)=k。最后,记录得到的n个模块的k条测试用例覆盖信息就构成本专利的模块级程序谱MP,其维度为k×n,程序谱中的每个元素值为NUF(vi)、NUS(vi)、NCF(vi)和NCS(vi)中的其中之一,如图2的程序谱MP所示。程序谱中的模块和软件网络的模块(即节点)是严格对应的,若软件网络的模块是函数,那么在构建程序谱时,就应该建立针对函数的程序谱。
步骤4,基于程序谱扩展建立的软件网络,建立包含程序谱信息的网络谱,其构建方法为:
基于已经建立的模块级程序谱MP,将其中针对模块vi的k个测试用例信息作为软件网络G中节点vi的属性,扩展后的软件网络即为网络谱NP,NP的本质是一个拥有节点属性的网络,如图3的网络谱NP所示,网络中的每个节点都包含了其对应的测试用例信息作为属性,因此NP包含了软件网络和程序谱两方面的全部信息。
步骤5,基于路径相似度分析,对网络谱规模进行约简,实现特征降维,其构建方法为:
软件测试中的测试数量一般都很大,而测试用例的数量就代表着网络谱节点属性的数量,也是后续用于故障定位的特征。一方面,特征数量过大会造成定位成本的增加,另一方面,特征中可能会存在相似或者相关性较强的特征,则会对后续的定位算法性能造成负面影响。因此,需要进行特征降维,在减少特征个数的同时确保特征属性之间是相对独立的。
每条测试用例覆盖了不同的模块,由于模块间是有边连通的,因此每条测试用例的覆盖情况就是一条网络路径。采用路径相似度分析方法,对所有的网络路径进行分析,只保留相似度较低的网络路径,实现对网络谱规模的约简。或者将一条路径视作一个向量,采用余弦相似度分析,对路径之间的相似度进行量化,对于相似度过高的路径则采取只保留一个的策略,从而实现路径数量的约简。约简后的网络谱记为NP',NP'中每个节点包含的测试用例个数为k',且k'≤k,因为测试用例的数量代表了节点特征的维数,因此通过网络谱约简实现了特征降维。
步骤6,基于约简后的网络谱,构建特征矩阵和代表软件网络结构的邻接矩阵,其构建方法为:
网络谱本身包含两部分信息,一个是代表软件整体结构的网络,另一个是代表测试用例执行信息的节点属性。为满足后续故障定位的数据格式要求,首先基于网络谱NP'建立网络的邻接矩阵A以代表网络结构,同时建立代表网络所有节点特征的特征矩阵X,该特征矩阵X由每个节点的特征所构成,如图3展示的邻接矩阵和特征矩阵所示。软件网络模块数量为n,约简后测试用例数量为k',则有A=An×n,X=Xn×k'
步骤7,基于邻接矩阵和特征矩阵,使用图神经网络进行软件故障定位,其构建方法如下:
以邻接矩阵A和特征矩阵X作为输入,使用图神经网络进行模块级的软件故障定位,如图4所示。具体而言,基于图神经网络的故障定位在输入、输出方面的信息如下:
①输入层:包括两部分,图结构以及每个节点的特征(feature),即步骤6建立的邻接矩阵A和特征矩阵X。
②隐藏层:使用采样算子、卷积/循环算子以及池化算子等计算模块搭建模型,通过特征聚合变换节点的特征表示,并设计相应的激活函数(如修正线性单元ReLU)和损失函数(如交叉熵损失函数)。
③输出层:本专利的故障定位本质上是一个基于网络谱的节点二分类问题,图神经网络的输出即为节点类别的预测,包括故障和正常两种,至此即实现了软件的模块级故障定位。
本发明首先在模块(函数、类、方法、语句等软件实体)粒度上建立软件网络,作为对被测软件的抽象表达。同时,收集软件测试得到的测试用例覆盖信息,面向软件模块构建程序谱,基于程序谱信息扩展建立的软件网络,构建包含程序谱信息的网络谱。最后,基于网络谱,使用图神经网络实现节点级的分类任务,即模块级的软件故障定位。使用这一技术可以充分利用软件网络的整体结构和测试用例信息,实现准确的模块级软件故障定位。
本发明局限于使用某一特定类型的图神经网络,只要在构建网络谱的基础上得到邻接矩阵和特征矩阵,可以使用如半监督、无监督等不同类型的图神经网络,进行故障预测的任务。
通过上述步骤,可以完成对基于网络谱的软件故障定位技术的构建。在这项技术中,首先分别建立待测软件的软件网络和程序谱,而后融合二者信息建立网络谱,对网络谱进行约简后建立可以表示网络结构的邻接矩阵和表示测试用例执行信息的特征矩阵,最后使用图神经网络进行软件故障定位。该技术充分利用软件的整体结构信息和测试用例执行信息,进而实现准确的故障定位。
本发明网络谱融合了包含测试用例执行信息的程序谱和代表软件整体结构信息的软件网络,既能从软件整体结构的角度综合考虑软件模块之间的交联耦合联系,又能充分利用软件测试得到的信息。本发明适用于解决复杂软件的软件故障定位问题,可以帮助软件相关人员快速定位软件故障,进而对软件故障进行修复提高其可靠性,具有较高的实际应用价值。
该故障定位技术基于复杂网络理论、程序谱故障定位方法和图神经网络方法进行构建,形成较为实用的基于网络谱的软件故障定位技术。
本发明与现有技术相比的优点在于:现有的基于程序谱的软件故障定位方法,在基于测试用例覆盖信息计算软件实体可疑度的时候,将实体视作孤立的,未考虑软件故障基于实体间关联关系的传播效应。在此基础上,基于复杂网络理论建立软件网络实现故障传播的量化分析,从而对程序谱故障定位方法进行改进的相关方法,目前研究仍不深入,同时,也没有充分使用到软件网络的整体信息。因此本发明借鉴复杂网络理论、程序谱故障定位方法和图深度学习方法,结合程序谱和软件网络建立网络谱,而后基于网络谱分别建立网络邻接矩阵和特征矩阵,而后直接将邻接矩阵和特征矩阵作为输入,使用图神经网络进行故障定位。邻接矩阵本质上就是网络结构的另一种表示,完整的表示了网络的整体结构,因此它内在的包含了可能的故障传播效应,同时,特征矩阵则包含了测试用例的覆盖以及执行结果等信息。本发明对现有的软件网络和程序谱故障定位方法进行了整合与创新,提供一种基于网络谱的软件故障定位技术。
本发明测试技术基于复杂网络理论和图深度学习方法等进行构建,形成基于网络谱的软件故障定位技术,在提高软件故障定位效率和准确率的同时,达到提高软件可信性、安全性、可用性的目的。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种基于网络谱的软件故障定位方法,其特征在于,包括如下步骤:
步骤1,收集待测软件源代码;
步骤2,基于逆向工程建立软件网络;
步骤3,设计软件测试用例并执行,记录其覆盖信息和执行结果,建立模块级的程序谱;
步骤4,基于程序谱扩展建立的软件网络,建立包含程序谱信息的网络谱;
步骤5,基于路径相似度分析,对网络谱规模进行约简,实现特征降维;
步骤6,基于约简后的网络谱,构建特征矩阵和代表软件网络结构的邻接矩阵;
步骤7,基于邻接矩阵和特征矩阵,使用图神经网络进行软件故障定位。
2.根据权利要求1所述的一种基于网络谱的软件故障定位方法,其特征在于,步骤1中收集待测软件源代码,其构建方法为:
获取需要进行测试的软件的源程序文件。
3.根据权利要求2所述的一种基于网络谱的软件故障定位方法,其特征在于,步骤2中基于逆向工程建立软件网络,其构建方法为:
基于逆向工程思想,从软件源码出发,解析软件源码获取软件模块集合V={v1,v2,…,vn}及其逻辑关系集合E={e1,e2,…,em},以此建立软件网络G,软件模块为函数、类、方法不同层次的软件实体。
4.根据权利要求3所述的一种基于网络谱的软件故障定位方法,其特征在于,依据选择的模块的不同,G采用函数调用网络、类依赖网络或方法调用网络不同粒度的网络。
5.根据权利要求1所述的一种基于网络谱的软件故障定位方法,其特征在于,步骤3中设计软件测试用例并执行,记录其覆盖信息和执行结果,建立模块级的程序谱,其构建方法为:
采用自动方式生成面向被测软件的k个测试用例,并执行所有的测试用例,依据建立软件网络的模块类别,基于测试用例执行信息建立相对应的模块级程序谱MP;
该程序谱包含的是每条测试用例针对每个软件模块的覆盖情况,以及测试用例本身的执行结果,因此包含四种情况:未被失败测试用例覆盖UF、未被成功测试用例覆盖US、被失败测试用例覆盖CF、被成功测试用例覆盖CS;将针对模块vi的上述四种测试用例数量记为NUF(vi)、NUS(vi)、NCF(vi)和NCS(vi),则有NUF(vi)+NUS(vi)+NCF(vi)+NCS(vi)=k;建立的模块级程序谱MP即由n个模块的k条测试用例覆盖信息构成,维度为k×n,程序谱中的每个元素值为NUF(vi)、NUS(vi)、NCF(vi)和NCS(vi)中的一种。
6.根据权利要求5所述的一种基于网络谱的软件故障定位方法,其特征在于,步骤4中基于程序谱扩展建立的软件网络,建立包含程序谱信息的网络谱,其构建方法为:
基于已经建立的模块级程序谱MP,将其中针对模块vi的k个测试用例信息作为软件网络G中节点vi的属性,扩展后的软件网络即为网络谱NP。
7.根据权利要求6所述一种基于网络谱的软件故障定位方法,其特征在于,步骤5中基于路径相似度分析,对网络谱规模进行约简,实现特征降维,其构建方法为:
采用路径相似度分析方法,对所有的网络路径进行分析,只保留相似度较低的网络路径,实现对网络谱规模的约简,约简后的网络谱记为NP';NP'中每个节点包含的测试用例个数为k',且k'≤k,测试用例的数量代表了节点特征的维数,实现特征降维。
8.根据权利要求7所述一种基于网络谱的软件故障定位方法,其特征在于,步骤6中基于约简后的网络谱,构建特征矩阵和代表软件网络结构的邻接矩阵,其构建方法为:基于网络谱NP'建立网络的邻接矩阵A以代表网络结构,建立代表网络所有节点特征的特征矩阵X,该特征矩阵X由每个节点的特征所构成。
9.根据权利要求8所述一种基于网络谱的软件故障定位方法,其特征在于,步骤7中基于邻接矩阵和特征矩阵,使用图神经网络进行软件故障定位,其构建方法为:
以邻接矩阵A和特征矩阵X作为输入,使用图神经网络对所有节点进行分类,类别包括故障和正常两种,以此实现模块级的软件故障定位。
CN202111573144.2A 2021-12-21 2021-12-21 一种基于网络谱的软件故障定位方法 Pending CN114253853A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111573144.2A CN114253853A (zh) 2021-12-21 2021-12-21 一种基于网络谱的软件故障定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111573144.2A CN114253853A (zh) 2021-12-21 2021-12-21 一种基于网络谱的软件故障定位方法

Publications (1)

Publication Number Publication Date
CN114253853A true CN114253853A (zh) 2022-03-29

Family

ID=80796405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111573144.2A Pending CN114253853A (zh) 2021-12-21 2021-12-21 一种基于网络谱的软件故障定位方法

Country Status (1)

Country Link
CN (1) CN114253853A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118093447A (zh) * 2024-04-28 2024-05-28 福州畅昕信息科技有限公司 软件故障定位方法、模型训练方法、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118093447A (zh) * 2024-04-28 2024-05-28 福州畅昕信息科技有限公司 软件故障定位方法、模型训练方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
Liu et al. Analyzing the training processes of deep generative models
US8027946B1 (en) Higher order logic applied to expert systems for alarm analysis, filtering, correlation and root cause
JP7439242B2 (ja) 機械学習モデルの視覚的作成及び監視
Zhou et al. Source code size estimation approaches for object-oriented systems from UML class diagrams: A comparative study
Honsel et al. Mining software dependency networks for agent-based simulation of software evolution
Remenska et al. Using model checking to analyze the system behavior of the LHC production grid
Safdar et al. Mining cross product line rules with multi-objective search and machine learning
Schur et al. Mining workflow models from web applications
Clark et al. Testing causality in scientific modelling software
CN114253853A (zh) 一种基于网络谱的软件故障定位方法
Pagliari et al. Multi-modeling approach to performance engineering of cyber-physical systems design
Aggarwal et al. Testing framework for black-box AI models
Qian et al. Microservice extraction using graph deep clustering based on dual view fusion
Hao et al. Usage-based statistical testing of web applications
Arlitt et al. A generative human-in-the-loop approach for conceptual design exploration using flow failure frequency in functional models
Hao et al. Dynamic web services composition based on linear temporal logic
US11928047B2 (en) Contextual data generation for application testing in mixed reality simulations
US20210397544A1 (en) Crowdsourced Proactive Testing System for Named Entity Recognition Models in IT Support
WO2004068342A1 (ja) ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置
Fakhfakh et al. Formal verification approaches for distributed algorithms: A systematic literature review
Iqbal et al. CADET: Debugging and fixing misconfigurations using counterfactual reasoning
US20210200574A1 (en) Visual conformance checking of processes
Henares et al. Definition of a transparent constraint-based modeling and simulation layer for the management of complex systems
Singh et al. A systematic literature review on test case prioritization techniques
Lothian et al. Synthetic graph generation for data-intensive HPC benchmarking: Background and framework

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