CN116302994B - 一种程序路径的层次化匹配方法、装置、设备及存储介质 - Google Patents
一种程序路径的层次化匹配方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116302994B CN116302994B CN202310175155.8A CN202310175155A CN116302994B CN 116302994 B CN116302994 B CN 116302994B CN 202310175155 A CN202310175155 A CN 202310175155A CN 116302994 B CN116302994 B CN 116302994B
- Authority
- CN
- China
- Prior art keywords
- path
- paths
- program
- loop
- node
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004458 analytical method Methods 0.000 claims abstract description 22
- 230000003068 static effect Effects 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims abstract description 9
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 101100151229 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) msp-4 gene Proteins 0.000 description 3
- 238000013522 software testing Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种程序路径的层次化匹配方法、装置、设备及存储介质。本发明的方法首先对被测程序进行静态分析,创建并遍历控制流程图,搜索出所有路径。其次分割路径为最小子路径,并放入最小子路径库,组合子路径,建立循环节点库。然后得出循环产生式,以表示循环节点,建立路径标准库。最后搜集执行路径进行路径匹配与结果分析。本发明的装置包括静态分析模块、搜索路径模块、建立库模块与路径匹配分析模块。本发明的设备包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序。本发明满足了不同强度下的覆盖要求,并且在标准路径中表示循环次数不确定的情况,同时支持不确定次数的执行路径与路径标准库中的路径进行匹配。
Description
技术领域
本发明属于计算机信息处理与软件工程测试领域,特别涉及一种程序路径的层次化路径匹配方法、装置、设备及存储介质。
背景技术
软件生命周期是指从软件的产生直到报废的过程,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试、测试、验收、运行、维护升级到废弃等阶段。在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。衡量软件测试完备性的指标往往是各种层面上的代码覆盖率,其中路径覆盖是一种较为严密的覆盖指标,可以显示程序在经过测试后,程序路径被覆盖的情况。
在软件测试中,满足路径覆盖的软件测试要保证程序中每条路径都被覆盖。这就要求测试人员首先要知道程序运行了哪些路径,还有哪些路径未被覆盖。因此,匹配程序的执行路径与程序的标准路径是一项必要的工作。然而,由于程序控制流的复杂性与多样性,尤其是循环结构的存在,使得程序路径匹配出现了一些缺陷。
程序中的循环结构往往会提升程序的复杂度。如图1的单循环控制流图所示,由于循环次数的不确定性,使得程序标准路径的表示以及执行路径与标准路径的匹配都较为困难。而真实的程序中也经常会出现如图3与图4中的串行循环与嵌套循环结构,这些结构会使程序更加复杂。目前,业内采用圈复杂度来表示程序路径的个数,这种表示方式是在程序对应的控制流图中,计算节点个数N与边的个数E,圈复杂度的数值V=E-N+2。
由于圈复杂度表示的其实是程序中分支的个数,因此,其路径定义为:如果此路径中路过的所有分支中,有任何一条分支是之前所有路径都未单独路过的,该路径就是一条新的路径。通过静态分析得到所有的程序路径,放入标准路径库中。传统的路径匹配方式严格对比执行路径与标准路径的元素序列(此处的元素指构成路径的最小单位。例如,语句,程序块等),只有执行路径与标准路径中的元素相同,元素个数与顺序也相同,才视为路径匹配成功。但这样的匹配方式存在一些问题。例如,图2所示的程序流图中,有两条标准路径:“entry-b1-b2-b3-b5-b6-b1-b7-exit”与“entry-b1-b2-b4-b5-b6-b1-b7-exit”这两条路径后(分别记作路径a与路径b),若执行路径为“entry-b1-b2-b3-b5-b6-b1-b2-b4-b5-b6-b1-b7-exit”(记作路径c),执行路径将不能与路径标准库中的路径匹配,即使将路径c拆分后匹配,也很难说是与路径a或是路径b匹配,或是都匹配到了。为了解决这个问题,许多路径准则被提出,部分常用准则如表1所示。路径准则是用于规定标准路径的法则,然而,只要执行路径与标准路径的匹配仍然采用传统的路径匹配方式,无论采用哪种准则,都会存在某些执行路径难以匹配的缺陷。
表1路径准则与匹配方法缺陷
本发明提出的路径匹配方式可以解决以上问题,以便更好地完成软件测试中例如用例生成或bug定位等任务。
发明内容
针对以上问题,本发明提出了一种层次化的路径匹配方法、装置、设备及存储介质,目的是允许测试人员根据测试需求灵活指定路径覆盖标准,并方便地将执行路径与标准路径进行匹配,以分析路径覆盖情况。以便更好地完成例如测试用例生成或bug定位等软件测试任务。
根据本发明的第一方面,一种程序路径的层次化路径匹配方法的技术方案为如下几个步骤:
S1,对被测程序进行静态分析,创建相应的控制流程图。
S2,遍历控制流图,搜索出所有路径。
所述路径的条数等于该程序的圈复杂度,即,对于每一个循环,只考虑“进循环”与“不进循环”两种情况下的路径区别,而不考虑循环次数。
S3,建立最小子路径库。
分割步骤2中的路径为最小子路径,将所有最小子路径放入最小子路径库,建立最小子路径库。
S4,组合子路径,建立循环节点库。
程序中每一个循环均是一个循环节点。每个循环节点可替代表示该循环内所有路径,即以该循环入口为起点,以该循环出口为终点的任意一条路径。这些路径均是由至少一条最小子路径串接而成的。
S5,得出循环产生式,以表示循环节点。
为了方便执行路径与标准路径的匹配,循环节点需要由最小子路径的序列来表示,若该循环节点内嵌套有其它循环节点,则内部的循环节点与最小子路径共同表示该循环节点。产生式就是说明该循环节点由哪些路径表示的式子,在该步骤上,列出每个循环节点的所有产生式。
S6,建立路径标准库。
路径标准库的建立依据是针对路径的覆盖强度需求。不同的需求下,路径标准库中的路径也不同,以满足特定覆盖需求。
S7,搜集执行路径。
将该程序的所有执行路径放入执行路径集合。此处的执行路径由控制流图中的基本快序列表示。
S8,路径匹配与结果分析。
在执行路径中从前向后搜索,以最小子路径为搜索单位,将执行路径表示为最小子路径序列;利用循环节点的产生式,转化执行路径中循环多次的部分;将转化后的执行路径与路径标准库中的路径进行匹配;最后计算路径覆盖率等指标,分析被测程序的路径覆盖情况。
根据本发明的第二方面,提出了一种程序路径的层次化路径匹配的装置,包括:
静态分析模块,用于对被测程序进行静态分析,创建相应的控制流程图。
搜索路径模块,用于遍历控制流图,搜索出所有路径。
建立库模块,用于将搜索出的路径分割为最小子路径,并放入最小子路径库,建立子路径库,并组合子路径,建立循环节点库,最后依据路径的覆盖强度需求,建立路径标准库。
路径匹配分析模块,用于将该程序的所有执行路径放入执行路径集合,进行路径匹配;并分析被测程序的路径覆盖情况。
根据本发明的第三方面,提出了一种程序路径的层次化路径匹配的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述所述的程序路径的层次化路径匹配的方法。
根据本发明的第四方面,提出了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述所述的程序路径的层次化路径匹配的方法。
本发明有益效果:
本发明可以在标准路径中表示循环次数不确定的情况。采用层次化的路径匹配方式,支持不确定次数的执行路径与路径标准库中的路径进行匹配。同时,支持采用不同层次的路径,灵活定义路径准则,满足不同强度下的覆盖要求。
本发明的步骤四利用子路径序列表示程序循环体;步骤五得出循环节点的产生式;步骤六建立程序路径标准库,在标准路径中,用上角标表示循环体的循环次数;而步骤八利用之前得到的循环产生式,将执行路径与路径标准库中的标准路径匹配,其中,用上角标表示循环体循环次数的方法使得不同层次的循环体可以被按层次匹配,而不因循环次数过多使得匹配失效。
附图说明
图1为单循环;
图2为含有分支的循环;
图3为串行循环;
图4为嵌套循环;
图5为本发明的装置示意图;
图6为本发明的设备示意图;
图7为程序流程图1;
图8为程序流程图2。
具体实施方式
首先对本发明中涉及到的概念进行解释:
执行路径Ep:一个测试用例在被测程序上执行所经过的路径。执行路径一定是从程序入口(entry模块)开始,从程序出口(exit模块)中止,本发明不讨论死循环情况。本发明中,所有路径都用控制流图中的程序块(block)序列表示。
最小子路径Msp:可以连续执行的一段block序列。除了起始block外,其余block都不能是循环入口;除了终止block外,其余block都不能是循环出口。
子路径sp:由至少一个连续的最小子路径组成的路径,其中,起始block不是程序入口或终止block不是程序出口。
循环节点C:指从该循环入口到循环出口的部分。可以用任意一条起始block是循环入口,终止block是循环出口的子路径来指代。
循环产生式M:循环节点C可以用最小子路径的组合表示,也可以加入下一级的循环节点表示。循环产生式描述从循环节点到最小子路径的表示方式。
路径标准库D:存放需要被覆盖的所有路径。其中的路径可能包含从程序入口到程序出口的完整路径、子路径以及循环节点。
根据本发明的第一方面,一种程序路径的层次化路径匹配方法的技术方案为如下几个步骤:
S1,对被测程序进行静态分析,创建相应的控制流程图。
S2,遍历控制流图,搜索出所有路径。
所述路径的条数等于该程序的圈复杂度,即,对于每一个循环,只考虑“进循环”与“不进循环”两种情况下的路径区别,而不考虑循环次数。
S3,建立最小子路径库。
分割步骤2中的路径为最小子路径,将所有最小子路径放入最小子路径库,建立最小子路径库。
S4,组合子路径,建立循环节点库。
程序中每一个循环均是一个循环节点。每个循环节点可替代表示该循环内所有路径,即以该循环入口为起点,以该循环出口为终点的任意一条路径。这些路径均是由至少一条最小子路径串接而成的。
S5,得出循环产生式,以表示循环节点。
为了方便执行路径与标准路径的匹配,循环节点需要由最小子路径的序列来表示,若该循环节点内嵌套有其它循环节点,则内部的循环节点与最小子路径共同表示该节点。产生式就是说明该循环节点由哪些路径表示的式子,在该步骤上,列出每个循环节点的所有产生式。
S6,建立路径标准库。
路径标准库的建立依据是针对路径的覆盖强度需求。不同的需求下,路径标准库中的路径也不同,以满足特定覆盖需求。
S7,搜集执行路径。
将该程序的所有执行路径放入执行路径集合。此处的执行路径由控制流图中的基本快序列表示。
S8,路径匹配与结果分析。
在执行路径中从前向后搜索,以最小子路径为搜索单位,将执行路径表示为最小子路径序列;利用循环节点的产生式,转化执行路径中循环多次的部分;将转化后的执行路径与路径标准库中的路径进行匹配;最后计算路径覆盖率等指标,分析被测程序的路径覆盖情况。层次化路径匹配的关键是可以利用上标表示循环体执行多次的情况,使得嵌套多层的循环体可以按层次依次完成匹配,且不受执行路径中循环次数的约束。
以图4中的嵌套循环为例,按照流程说明本发明中层次化匹配的方法。
1、图4中的控制流图即为步骤1的结果。
2、按步骤2对图4进行遍历,得到表2所示的一组路径。
表2
3、将步骤2中的路径分割为最小子路径,建立最小子路径库,结果表3所示。
表3
路径标号 | 最小子路径 |
Msp1 | Entry-b1 |
Msp2 | b6-exit |
Msp3 | b2-b3 |
Msp4 | b2-b4-b5-b1 |
4、将子路径组合,并建立循环节点库。图4中有两个循环,因此循环节点库中有两个节点,循环节点库如表4所示。
表4
5、建立循环产生式,如表5所示。
表5
6、建立路径标准库
不同覆盖强度要求对应着不同的路径标准库,下文描述两个覆盖标准,给出对应的路径标准库。
标准1:对于每个循环分支,只要“进入循环”与“不进入循环”两种情况在执行路径中都存在,即认为满足覆盖要求。此时的路径覆盖标准退化成为了传统路径覆盖标准,结果如表6所示。
表6
标准2:对于每个循环分支,要求其在路径中单独出现或组合出现的情况都覆盖到,结果如表7所示。
表7
标准路径标号 | 路径 | 要求 |
d21 | Msp1 Msp2 | |
d22 | Msp1 Msp4+Msp2 | |
d23 | Msp1 c1*c2+Msp4 c1*Msp2 |
7、搜索执行路径
举例一条执行路径:“entry-b1-b2-b3-b2-b3-b2-b4-b5-b1-b2-b3-b2-b4-b5-b1-b2-b4-b5-b1-b6-exit”。
8、路径匹配与结果分析,在执行路径中从前向后搜索,以最小子路径为搜索单位,将执行路径表示为最小子路径序列;利用循环节点的产生式,转化执行路径中循环多次的部分;将转化后的执行路径与路径标准库中的路径进行匹配;最后计算路径覆盖率等指标,分析被测程序的路径覆盖情况。结果如表8所示。
表8
上表描述了执行路径与标准路径的匹配过程,匹配结果显示,该执行路径满足标准1的路径d11,与标准2的路径d23。因此,在标准1上,本次执行的覆盖率为100%,在标准2上,本次执行的覆盖率为33.3%。该示例说明本发明的路径描述方法支持自定义路径覆盖准则,并可以根据准则匹配标准路径与执行路径,以满足不同强度的路径覆盖要求。
根据本发明的第二方面,提出了一种程序路径的层次化路径匹配的装置,如图5所示,包括:
静态分析模块,用于对被测程序进行静态分析,创建相应的控制流程图。
搜索路径模块,用于遍历对被测程序进行静态分析得到的控制流程图,搜索出所有路径。
建立库模块,用于将搜索路径模块搜索出的路径分割为最小子路径,并放入最小子路径库,建立子路径库,并组合子路径,建立循环节点库。不同的需求下,路径标准库中的路径也不同,以满足特定覆盖需求,所以依据路径的覆盖强度需求,建立路径标准库。
路径匹配模块,用于将该程序的所有执行路径放入执行路径集合,进行路径匹配;并分析被测程序的路径覆盖情况。
装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的,其中计算机程序用于执行上述的程序路径的层次化路径匹配的方法。
根据本发明的第三方面,提出了一种程序路径的层次化路径匹配的设备,如图6所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述所述的程序路径的层次化路径匹配的方法。
从硬件层面而言,如图6所示,为本发明的程序路径的层次化路径匹配的设备硬件结构图,除了图6所示的处理器、网络接口、内存以及非易失性存储器之外,所述设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
根据本发明的第四方面,提出了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述所述的程序路径的层次化路径匹配的方法。
以下以实际程序的路径匹配为例,说明本方法在路径描述和路径匹配上的优势。本方法的应用在路径匹配上,特别地,能解决带循环的程序路径匹配问题。该程序是由软件测试中常用的triangle.c中的判断三角形类型函数加一个带循环的判断多个三角形类型函数而成。两个函数对应的流程图如图7和图8所示。以通用路径覆盖准则为例,该程序的标准路径如下表9所示。由于函数2中调用了函数1,因此,路径2.5中的语句块8需要被展开,得到了如表9所示的7条路径。
/>
表9标准路径
编号 | 路径 |
1 | 0-1-2-3 |
2 | 0-1-2-4-5-6 |
2.5 | 0-1-2-4-5-7-8-5-6 |
3 | 0-1-2-4-5-7-(9-10-11-12)-5-6 |
4 | 0-1-2-4-5-7-(9-10-11-13-14-15-20)-5-6 |
5 | 0-1-2-4-5-7-(9-10-11-14-16-20)-5-6 |
6 | 0-1-2-4-5-7-(9-10-11-14-16-17-18-19-20)-5-6 |
7 | 0-1-2-4-5-7-(9-10-11-14-16-17-18-20)-5-6 |
例如,有一条执行路径为:0-1-2-4-5-7-(9-10-11-12)-5-7-(9-10-11-12)-5-7-(9-10-11-14-16-17-18-20)-5-7-(9-10-11-12)-5-7-(9-10-11-14-16-17-18-20)-5-7-(9-10-11-13-14-15-20)-5-7-(9-10-11-14-16-20)-5-7-(9-10-11-14-16-20)-5-7-(9-10-11-14-16
-17-18-19-20)-5-7-(9-10-11-14-16-17-18-20)-5-6。对于这条路径,如果采用通用路径覆盖准则+传统路径匹配方式,由于标准路径中没有与该执行路径完全一致的路径,因此匹配不到任何一条路径;如果采用全路径覆盖准则+传统路径匹配方式,则可以匹配到标准路径中的其中一条。然而,由于该程序只要进入循环,就会执行10次循环体,而每次执行循环体都有5条不同的子路径可走,因此全路径覆盖准则下仅包含循环体的标准路径就会有510条,全部测试将带来很大的测试代价,并且,该准则下的标准路径数量会随着程序中循环次数的增加呈指数上升。数量庞大的路径条数使得依据程序路径生成测试用例的工作时间花费巨大;而针对bug定位工作,无论是进行程序切片还是进行程序频谱计算,数量庞大的路径条数总会使得bug定位工作内存开销以及时间消耗变得更大。如果采用通用路径覆盖准则+本发明提出的层次化路径匹配方式,则该条路径可以匹配到上表中的路径3、4、5、6、7。这样既可以大幅减少标准路径库中的路径数量,降低测试代价,又可以使执行路径可以与通用路径覆盖准则定义的标准路径顺利匹配。当然,本发明中的路径表示方式支持测试人员根据需求自定义路径覆盖准则,以满足不同强度的测试需求。表10列举了不同路径准则与匹配方式下,覆盖所有标准路径需要执行的最少路径数及其效果评价。可以看出,层次化路径匹配方式可以在不大幅增加标准路径条数的情况下,使执行路径与通用路径覆盖准则定义的标准路径顺利匹配。
表10路径准则与路径匹配方式的效果
/>
Claims (4)
1.一种程序路径的层次化路径匹配方法,其特征在于包括如下步骤:
S1,对被测程序进行静态分析,创建相应的控制流程图;
S2,遍历控制流图,搜索出所有路径;
S3,分割步骤S2中的路径为最小子路径,将所有最小子路径放入最小子路径库,建立最小子路径库;
S4,组合子路径,建立循环节点库;
S5,得出循环产生式,以表示循环节点;
S6,针对路径的覆盖强度需求,建立路径标准库;
S7,搜集执行路径,将该程序的所有执行路径放入执行路径集合;
S8,路径匹配与结果分析;
在执行路径中从前向后搜索,以最小子路径为搜索单位,将执行路径表示为最小子路径序列;
利用循环节点的产生式,转化执行路径中循环多次的部分;
将转化后的执行路径与路径标准库中的路径进行匹配;
计算路径覆盖率,分析被测程序的路径覆盖情况;
在步骤S2中,所述路径的条数等于该程序的圈复杂度;对于每一个循环,只考虑“进循环”与“不进循环”两种情况下的路径区别,而不考虑循环次数;
在步骤S4中,程序中每一个循环均是一个循环节点,所述每个循环节点替代表示该循环内所有路径;所述路径均是由至少一条最小子路径串接而成的;
所述循环节点由最小子路径的序列表示,若该循环节点内嵌套有其它循环节点,则内部的循环节点与最小子路径共同表示该循环节点;列出每个循环节点的所有产生式;所述产生式用于说明该循环节点由哪些路径表示的式子。
2.一种程序路径的层次化路径匹配的装置,其特征在于包括:
静态分析模块,用于对被测程序进行静态分析,创建相应的控制流程图;
搜索路径模块,用于遍历控制流图,搜索出所有路径;
建立库模块,用于将搜索出的路径分割为最小子路径,并放入最小子路径库,建立子路径库,组合子路径,建立循环节点库,然后依据路径的覆盖强度需求,建立路径标准库;
路径匹配分析模块,用于将该程序的所有执行路径放入执行路径集合,进行路径匹配,并分析被测程序的路径覆盖情况;
所述建立库模块具体执行以下操作:
路径的条数等于该程序的圈复杂度;对于每一个循环,只考虑“进循环”与“不进循环”两种情况下的路径区别,而不考虑循环次数;
程序中每一个循环均是一个循环节点,所述每个循环节点替代表示该循环内所有路径;所述路径均是由至少一条最小子路径串接而成的;
所述循环节点由最小子路径的序列表示,若该循环节点内嵌套有其它循环节点,则内部的循环节点与最小子路径共同表示该循环节点;列出每个循环节点的所有产生式;所述产生式用于说明该循环节点由哪些路径表示的式子;
所述路径匹配分析模块具体执行以下操作:
在执行路径中从前向后搜索,以最小子路径为搜索单位,将执行路径表示为最小子路径序列;
利用循环节点的产生式,转化执行路径中循环多次的部分;
将转化后的执行路径与路径标准库中的路径进行匹配;
计算路径覆盖率,分析被测程序的路径覆盖情况。
3.一种程序路径的层次化路径匹配的设备,其特征在于包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序;
其中,所述处理器执行所述程序时实现上述权利要求1所述的程序路径的层次化路径匹配的方法。
4.一种计算机可读存储介质,其特在于:所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1所述的程序路径的层次化路径匹配的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310175155.8A CN116302994B (zh) | 2023-02-28 | 2023-02-28 | 一种程序路径的层次化匹配方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310175155.8A CN116302994B (zh) | 2023-02-28 | 2023-02-28 | 一种程序路径的层次化匹配方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116302994A CN116302994A (zh) | 2023-06-23 |
CN116302994B true CN116302994B (zh) | 2023-10-10 |
Family
ID=86789894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310175155.8A Active CN116302994B (zh) | 2023-02-28 | 2023-02-28 | 一种程序路径的层次化匹配方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302994B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7603660B2 (en) * | 2005-06-01 | 2009-10-13 | Microsoft Corporation | Code coverage test selection |
WO2015054938A1 (zh) * | 2013-10-14 | 2015-04-23 | 西安交通大学 | 基于程序行为切片的测试案例约减方法 |
CN103207833B (zh) * | 2013-04-02 | 2016-04-06 | 北京邮电大学 | 软件测试中循环代码的处理方法与系统 |
CN103473171B (zh) * | 2013-08-28 | 2016-06-08 | 北京信息科技大学 | 一种基于函数调用路径的覆盖率动态跟踪方法及装置 |
CN107239396A (zh) * | 2017-05-11 | 2017-10-10 | 东南大学 | 一种基于代码圈复杂度度量的软件演化评估方法 |
CN108108306A (zh) * | 2018-02-09 | 2018-06-01 | 盛科网络(苏州)有限公司 | 一种提高报文解析测试覆盖率的方法及系统 |
WO2018141279A1 (en) * | 2017-02-06 | 2018-08-09 | Huawei Technologies Co., Ltd. | Processor trace-based enforcement of control flow integrity of computer system |
CN113934643A (zh) * | 2021-11-29 | 2022-01-14 | 上海航天计算机技术研究所 | 基于影响域路径分析的测试用例确定方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100057427A1 (en) * | 2008-09-04 | 2010-03-04 | Anthony Dean Walker | Simulated processor execution using branch override |
CN108710575B (zh) * | 2018-05-23 | 2020-11-24 | 华南理工大学 | 基于路径覆盖测试用例自动生成的单元测试方法 |
-
2023
- 2023-02-28 CN CN202310175155.8A patent/CN116302994B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7603660B2 (en) * | 2005-06-01 | 2009-10-13 | Microsoft Corporation | Code coverage test selection |
CN103207833B (zh) * | 2013-04-02 | 2016-04-06 | 北京邮电大学 | 软件测试中循环代码的处理方法与系统 |
CN103473171B (zh) * | 2013-08-28 | 2016-06-08 | 北京信息科技大学 | 一种基于函数调用路径的覆盖率动态跟踪方法及装置 |
WO2015054938A1 (zh) * | 2013-10-14 | 2015-04-23 | 西安交通大学 | 基于程序行为切片的测试案例约减方法 |
WO2018141279A1 (en) * | 2017-02-06 | 2018-08-09 | Huawei Technologies Co., Ltd. | Processor trace-based enforcement of control flow integrity of computer system |
CN107239396A (zh) * | 2017-05-11 | 2017-10-10 | 东南大学 | 一种基于代码圈复杂度度量的软件演化评估方法 |
CN108108306A (zh) * | 2018-02-09 | 2018-06-01 | 盛科网络(苏州)有限公司 | 一种提高报文解析测试覆盖率的方法及系统 |
CN113934643A (zh) * | 2021-11-29 | 2022-01-14 | 上海航天计算机技术研究所 | 基于影响域路径分析的测试用例确定方法和系统 |
Non-Patent Citations (4)
Title |
---|
A Method of Automatic Test Case Generation Based on CT-LSSVM Algorithm in FAO Systems;Wang Sha 等;《2020 IEEE 5th International Conference on Intelligent Transportation Engineering》;259-264 * |
On Measuring Combinatorial Coverage of Manually Created Test Cases for Industrial Software;Miraldi Fifo 等;《2019 IEEE International Conference on Software Testing, Verification and Validation Workshops》;264-267 * |
基于EFSM的测试用例自动化生成关键技术研究;杨瑞;《中国博士学位论文全文数据库 信息科技辑》;I138-9 * |
基于状态表决的安全计算机数据库更新算法;陈祥献 等;《计算机工程》;第39卷(第3期);16-19 * |
Also Published As
Publication number | Publication date |
---|---|
CN116302994A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105022691B (zh) | 一种基于uml图的高度自动化软件测试方法 | |
Nayak et al. | Automatic Test Data Synthesis using UML Sequence Diagrams. | |
CN108345544B (zh) | 一种基于复杂网络的软件缺陷分布影响因素分析方法 | |
CN111061293B (zh) | 多参数耦合的飞行器故障定位方法、飞行器及存储介质 | |
EP2960799A1 (en) | Defect localization in software integration tests | |
CN102096410B (zh) | 一种高速列车运行控制系统功能的动态测试方法 | |
CN110515826B (zh) | 一种基于次数频谱与神经网络算法的软件缺陷定位方法 | |
CN103116540A (zh) | 基于全局超级块支配图的动态符号执行方法及其装置 | |
CN102968375B (zh) | 基于关联规则挖掘的不可达路径检测方法 | |
CN108268373A (zh) | 自动化测试用例管理方法、装置、设备及存储介质 | |
CN108763064A (zh) | 一种基于黑盒函数与机器学习的代码测试生成方法和装置 | |
CN105190334A (zh) | 使用多条处理路径进行器件测试的方法和装置 | |
CN116302994B (zh) | 一种程序路径的层次化匹配方法、装置、设备及存储介质 | |
CN108897678B (zh) | 静态代码检测方法和静态代码检测系统、存储设备 | |
CN112380120B (zh) | 单元测试代码结构自动解析与路径分析方法 | |
JPH0855029A (ja) | 原因の推論装置 | |
Roy et al. | Multi-heuristic machine intelligence guidance in automatic test pattern generation | |
Uyar et al. | Modeling VHDL specifications as consistent EFSMs | |
Bodhe et al. | Diagnostic Fail Data Minimization Using an $ N $-Cover Algorithm | |
Lim et al. | Diagnosis of scan chain faults based-on machine-learning | |
Gal et al. | A new pivoting rule for solving various degeneracy problems | |
JPS6126112A (ja) | システムの異常診断方式 | |
Pang et al. | A Clustering-Based Test Case Classification Technique for Enhancing Regression Testing. | |
CN113204498B (zh) | 针对闭源函数库生成模糊测试驱动器的方法和装置 | |
CN109002723A (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 |