CN105446881A - 一种程序不可达路径的自动检测方法 - Google Patents
一种程序不可达路径的自动检测方法 Download PDFInfo
- Publication number
- CN105446881A CN105446881A CN201510843266.7A CN201510843266A CN105446881A CN 105446881 A CN105446881 A CN 105446881A CN 201510843266 A CN201510843266 A CN 201510843266A CN 105446881 A CN105446881 A CN 105446881A
- Authority
- CN
- China
- Prior art keywords
- state
- program
- node
- paths
- unaccessible
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种程序不可达路径的自动检测方法,通过将待检测的计算机程序转化为控制流图;将控制流图转化为程序模型,进行可达性分析得到不可达状态,通过自动检测不可达状态得到不可达状态的集合,然后根据不可达状态的集合得到不可达路径集合。本发明以理论上较为简单的状态搜索技术为基础,相比已有技术通常基于较复杂的数学理论,有效降低了技术运用与推广的难度;提供了完整的、具有较高自动化程度的程序不可达路径检测方法;解决了控制流图的可达性检测问题;解决了静态分析技术在处理较复杂程序时所存在的困难与低效问题;解决了静态分析技术在处理多分支程序的过程中,难以表达复合型数据的问题。
Description
技术领域
本发明属于软件测试领域,具体地,本发明涉及一种程序不可达路径的自动检测方法。
背景技术
术语解释:
控制流图:控制流图(ControlFlowGraph)是程序语句逻辑执行顺序的图形化表达方式,简称为CFG。CFG包括节点和有向边两类元素:节点表示程序中的语句,并且有唯一的入口节点与出口节点;边表示节点之间的顺序关系。
程序路径:是指由CFG中的节点构成的一个序列,若该序列的首节点为入口节点,末节点为出口节点,则该路径称为完整路径。
不可达路径:是指在任何情况下都不会出现的程序路径。
软件测试是软件质量保障的重要手段,需要耗费大量的人力与物力。统计数据表明,软件测试的开销占到了软件开发总成本的60%以上。软件测试的自动化是提高软件测试质量、降低成本、提高效率的一个重要途径,因此被学术界与工业界广泛地关注与研究。大体上,软件测试可以分为功能测试与结构测试,后者是指对程序的内部逻辑结构进行测试,以判定程序的各条路径是否能够满足需求。然而充分覆盖程序的测试是难以达成的,因为即使是并不复杂的程序段,也会由于分支、循环结构的存在,导致产生规模巨大的路径空间。因此,结构测试的一个重要研究领域,就是解决面向程序路径的测试数据生成问题。而不可达路径的检测,则是其中的一个重要研究热点。所谓的程序不可达路径,是指在任何输入下,都不会被执行的程序路径。程序不可达路径的存在,会导致在生成测试数据时,产生大量的无效测试数据,从而在测试执行时浪费大量的人力与物力,从而大大影响到测试的效率。因此,不可达路径的检测不仅能够降低测试成本,还能够有效提高测试效率,一直以来都是软件测试领域的一个研究热点。
程序中所存在的不可达路径是代码冗余的一种表现形式,Liverpool大学的Yates与Malevris两位学者,通过实验证明了在大型软件系统中通常都会包含有10-25%的冗余代码。不可达路径的检测问题已经被证明是一个不可判定问题,因此所有的检测方法都是非完备的,即不存在能够检测出所有不可达路径的算法。目前,检测程序不可达路径的方法,可以分为静态检测与动态检测两类。
1.静态检测技术
静态检测技术可依据原理,分为两类:
●基于路径条件可满足性的方法:是指针对所有的程序路径,通过对满足路径条件的谓词组合进行求解,依据解的存在性来判定路径的可达性。这类方法具有较高的复杂度。
●基于分支相关性的方法:是指通过对分支语句进行相关性分析的手段,来检测不可达路径。
在第一类技术中,典型的方法,是抽取程序的每条路径的分支谓词,并规约为一个方程组,通过求解方程组是否有解来判定路径是否可达。然而这类方法具有较高的复杂性,并且缺乏表达数组、结构体等复合数据类型的能力。此外,还有一些类似的方法:使用区间算术规约程序路径,但这类方法在处理条件谓词中的非线性表达式时,效率较为低下;使用代码模式检测程序分支,并通过符号执行技术进行路径的可达性检测,但这类方法的通用性受到代码模式的约束;使用变量的抽象取值范围规约程序的状态条件,通过判断路径的变量取值范围来判定路径是否可达,但这类方法不能很好地处理复合的分支条件。
程序分支之间的相关性是产生不可达路径的主要原因,在具有一定复杂度的程序中,9-40%的分支语句会存在相关系。但基于相关性分析的检测方法由于无法分析结构复杂的分支条件,因此难以获得令人满意的节点覆盖率。该类方法的代表性工作包括:在传统的数据流分析中加入了分支相关性分析,从而提高传统数据流分析的精度;通过判断赋值语句、分支语句之间的冲突性来识别不可达路径,然而该方法却缺乏处理循环结构的能力;通过对控制流与数据流的静态分析,来确定相关性语句,并进而判定不可达路径,其特点是能够处理函数调用关系。
2.动态检测技术
动态检测技术是指在进行路径测试的过程中,依据测试用例生成的复杂度来判定待测试的路径是否可达。然而动态检测技术的检查代价通常较大,并且无法保证检测结果的绝对准确,具有较强的不确定性。
常见的方法包括:使用基于启发式策略的方法检测不可达路径,其依据是可达路径的部分属相同这一原理,从而通过检测试数据的生成轨迹来实现路径可达性的检测;使用语义更新技术,从程序语义上来排除程序中的不可达路径;利用遗传算法来检测不可达路径,为了更好地引导搜索,该类方法会通过融合控制流图的信息,进行适应度函数的设计。
现有的技术方案,存在以下的问题:
(1)复杂度较高,检测效率较低。
(2)难以处理复合的数据类型。
(3)理论、方法及过程较为复杂,不利于推广与应用。
(4)检测结果具有不确定性。
(5)自动化程度较低。
(6)在处理复杂的程序分支以及分支条件时,效果不佳。
为了弥补上述缺点,本发明提出了一种程序不可达路径检测方法,是基于模型检测技术,通过将程序控制流图转化为自动机模型,使用状态空间搜索的方法来判定自动机状态的可达性,并依据状态的可达性来生产不可达路径。在已知的方法中,还没有发现与本发明相类似的实现方案。
发明内容
为解决上述问题,本发明提供了一种程序不可达路径的自动检测方法。本发明以理论上较为简单的状态搜索技术为基础,相比已有技术通常基于较复杂的数学理论,有效降低了技术运用与推广的难度;提供了完整的、具有较高自动化程度的程序不可达路径检测方法;解决了控制流图的可达性检测问题;解决了静态分析技术在处理较复杂程序时所存在的困难与低效问题;解决了静态分析技术在处理多分支程序的过程中,难以表达复合型数据的问题。
为达到上述技术效果,本发明的技术方案是:
一种程序不可达路径的自动检测方法,包括如下步骤:
步骤1)将待检测的计算机程序转化为控制流图;
步骤2)通过改进的广度优先搜索策略将控制流图转化为程序模型;
步骤3)分析每个状态是否可达,寻找程序中的不可达路径,方法为:验证程序模型中的每个状态s是否存在一条包含s的状态序列;若对于某个状态s,不存在包含s的状态序列,则此状态为不可达状态;
步骤4)采用模型检测技术自动检测步骤2)中的程序模型,得到不可达状态的集合;
步骤5)根据不可达状态的集合,搜索程序路径是否包含不可达状态,得到不可达路径集合。
进一步的改进,所述步骤2)中,程序模型为包含状态、迁移和迁移标号三大要素的形式化模型,且不包含状态、迁移和标号三大要素以外的性质要素。
进一步的改进,所述改进的广度优先搜索策略具体为:
3.1)遍历控制流图中的每个节点,若该节点是一个赋值语句,则创建一个新的状态,并以该赋值语句为迁移标号,创建一个从前驱状态到新状态的迁移;若该节点是一个判定语句,则创建两个新的状态,分别表示判定条件为真和假两种情况,并依据判定语句的真假两种取值情况生成迁移标号;
3.2)若当前节点的后继节点是遍历过的节点,则创建一个从当前节点到后继节点的前一节点的空标号迁移;
3.3)记录每个节点所对应的状态。
进一步的改进,所述步骤5)中,采用递归策略搜索程序路径是否包含不可达状态。
进一步的改进,采用递归策略搜索程序不可达路径的方法具体为:搜索程序模型的所有状态,若搜索到的状态为终止状态则递归终止,并判断当前生成的路径中是否包含不可达状态,若包含,则当前生成的路径是不可达路径;若搜索到的状态不是终止状态,则将当前状态加入到程序路径中,并检查当前状态的所有后继状态,若后继状态未出现在程序路径中,则对该后继状态继续进行递归。
本发明的优点:
(1)原理与过程较为简单,技术门槛低,易于推广与应用。
(2)自动化程度高,人工干预的成分较少。
(3)能够处理丰富的程序运算与数据类型。
(4)处理过程不受程序结构复杂性的影响。
(5)检测效率存在不断提高的空间。
附图说明
图1为本发明的流程示意图;
图2为示例程序的控制流图;
图3为示例程序的程序模型;
图4为程序模型检测的基本过程;
图5UPPAAL建模语言所描述的程序模型;
图6由UPPAAL模型检测器的验证结果图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细的说明。
实施例1
如图1所示的一种程序不可达路径的自动检测方法,步骤如下:
1.将待检测的计算机程序转化为控制流图。
2.使用程序模型生成算法(算法1),将控制流图转换为包含“状态、迁移、标号”三大要素的形式化模型(即程序模型)。
3.通过可达性分析,得到待验证性质。
4.将程序的自动机模型及待验证性质输入模型检测工具,得到不可达状态集合。
5.由不可达状态集合,通过不可达路径搜索算法(算法2),得到不可达路径集合。
将程序中所有变量的一次取值称为程序状态:
定义1程序变量程序中所定义的变量称为程序变量,将所有程序变量的集合记为Var。
定义2程序状态若Var中具有n个变量v1、v2、…vn,程序状态s=r1r2…rn,且ri∈R,vi=ri。
CFG图包含节点与有向边两类元素,其中节点表示程序的语句。显然任何一条赋值语句的执行,都可能导致一个或多个程序变量发生变化,从而导致程序状态发生变化。
由此,可以将一个程序转换为一台扩展的确定型有限自动机,称为程序模型:
定义3程序模型程序模型是一个PM=(S,s0,se,A,E),其中:
●S为程序状态集合.
●s0为初始程序状态.
●se为终止程序状态.
●A为迁移标号集合,一个迁移标号a=(g,e),g是一个布尔表达式,e是一组赋值表达式.
●为迁移关系.
为了描述程序模型的生成算法,给出控制流图的形式化定义。
定义3控制流图一张控制流图CFG=(N,n0,ne,E),其中:
●N是节点集合,每条节点包含一条语句。若所包含的语句为赋值语句,则称为赋值节点;若所包含的语句为布尔表达式语句,则称为判定节点.
●n0是入口节点,ne是出口节点.
●G是布尔表达式集合,称为控制条件.
●是单向边集合,只有当控制条件为真,该单向边所标识的节点顺序关系才能出现在路径中;控制条件可以为空.
使用算法1由CFG图生成程序模型。
算法1基于改进的广度优先搜索策略,解释如下:
(1)遍历控制流图中的每个节点:若该节点是一个赋值语句(isAssignment()),则创建一个新的状态,并以该赋值语句为迁移标号,创建一个从前驱状态到新状态的迁移;若该节点是一个判定语句(isJudgement()),则创建两个新的状态,分别表示判定条件为真和假两种情况,并依据判定语句的真假两种取值情况生成迁移标号(getTrueJudgement()、getFalseJudgement())。
(2)若当前节点的后继节点是遍历过的节点时,需要创建一个从当前节点到后继节点的前一节点的空标号迁移。
(3)函数f用于记录每个节点所对应的状态。
例如以下的示例程序:
其控制流图如图2所示。
依据算法1将可将图2所示的控制流图转化为如图3所示的程序模型。
也可将广度优先策略改为深度优先策略或层次递归策略等其它通过改变遍历的策略来生成生成程序。
4.可达性分析
由程序模型,可以通过分析每个状态是否可达,来寻找程序中的不可达路径。即验证:对于程序模型中的每个状态s,是否存在一条包含s的状态序列。
定义4状态序列对于一个程序模型PM,其状态序列sq=s0s2…sn,si∈PM.S,且将PM能够出现的所有状态序列集合记为SQ(PM)。
对程序模型PM,验证下列性质:
对于状态s,若该性质不满足,则所有经过该状态的状态序列都可以生成一条不可达路径。
5.自动检测方法
本发明采用模型检测技术作为自动检测方法。模型检测是一类自动验证系统性质的技术,通常基于状态空间搜索方法。它的基本原理是:用形式化的规约语言构成给定系统S的形式化模型M,将给定的性质p同样转化为形式化公式φ,然后通过遍历算法来验证φ在M中是否成立,可用M|=φ表示。如图4所示。
本发明具体选择UPPAAL模型检测技术来实现自动检测。UPPAAL是由瑞典的Uppsala大学与丹麦的Aalborg大学共同研发的一个实时系统模型检测工具,以扩展的时间自动机为建模语言,以TCTL逻辑为性质描述语言。由于时间自动机本身就是传统的确定型有限自动机的扩展,因此可以完全兼容本发明所提出的程序模型。同时,UPPAAL的建模语言还支持多种数据类型与运算符。UPPAAL的性质描述语言也能够完整地描述4.3节中所提出的性质。
UPPAAL所使用的建模语言与4.2节中所提出的程序模型基本一致,只是在一些语法细节上所不同,在具体应用中可参阅相关手册。将图3所示的程序模型用UPPAAL的建模语言进行表达,如图5所示。
将4.3节中所分析的性质,用UPPAAL的性质描述语言描述如下:
●E<>PM.S1
●E<>PM.S2
●E<>PM.S3
●E<>PM.S4
●E<>PM.S5
●E<>PM.S6
●E<>PM.S7
●E<>PM.S8
●E<>PM.S9
●E<>PM.S10
由UPPAAL模型检测器的验证结果可知,性质“E<>PM.S7”与性质“E<>PM.S9”不可满足。如图6(原图为彩色,为符合专利法规定改为黑白)所示:
图中PM.S7和PM.S79后边的圆圈颜色较深(原为红色)表示性质所述状态不可达,其余的圆圈的颜色较浅(原为绿色)表示性质所述状态可达。
也可以通过使用其它的模型检测技术作为自动检测方法。
6.不可达路径生成算法
每一条性质检测一个状态是否可达,使用算法2,可由每个不可达状态生成程序模型的不可达路径。
算法2使用了递归策略搜索程序模型的所有状态:若搜索到的状态为终止状态(se)则递归终止,并判断当前生成的路径中是否包含不可达状态,若包含,则当前生成的路径是不可达路径;若不是终止状态,则将当前状态加入到程序路径中(sq),并检查当前状态的所有后继状态,若后继状态未出现在程序路径中(防止路径中出现回路),则对该后继状态继续进行递归。
已知图5所示的程序模型的不可达状态集合是{s7,s9},则使用算法2得到的不可达路径集合为:{s0s1s2s3s4s6s5s7s9s10,s0s1s2s3s5s7s9s10}。
最后,将状态之间的迁移标号所表示的语句连接在一起,即可得到对应于控制流图的程序不可达路径。例如由上述的不可达路径集合,可以得到下列两条对应于控制流图的程序不可达路径。
●[s=0]→[i=0]→[i<0]→[i%2==0]→[s+=i]→[s<0]→[s=0]
●[s=0]→[i=0]→[i<0]→[i%2!=0]→[s<0]→[s=0]
也可以将算法2的递归策略改为深度优先或广度优先策略等其它通过“搜索程序路径是否包含不可达状态”的思想生成的搜索策略。
(1)以模型检测技术作为可达性检测的方法,而模型检测技术本身就采用了偏序规约、OnTheFly策略、二元判定图等多种高级技术有效降低了算法的复杂度、提高了检测效率。
(2)模型检测技术的建模语言一般都具有强大的描述能力,支持丰富的运算符与数据类型,从而能够很好地构建程序的形式化模型。本发明以模型检测技术为基础,能够解决已有方法难以处理高级数据类型与运算的问题。
(3)以扩展的有限自动机作为控制流图的形式化模型,转化方法与过程直观、简便;通过状态空间搜索技术作为可达性检测的手段,工作原理易于理解。由此,有效降低了技术门槛,有利于本发明的应用与推广。
(4)状态空间搜索算法与不可达路径生成算法都是确定性算法,从而保证了不可达状路径检测结果的确定性与正确性。
(5)提供了控制流图到程序模型的自动转化算法、状态可达性质的自动生成算法以及不可达路径的自动生成算法,而状态搜索过程也基于自动化的模型检测工具,因此本发明具有较高的自动化程度,人工参与与分析的成分大大减少。
(6)控制流图到程序模型的转换,是以控制流的节点为基本元素,通过状态迁移连接在一起,因此能够处理任意复杂程度的程序。
以上实例的说明只是用于帮助理解本发明的核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种程序不可达路径的自动检测方法,其特征在于,包括如下步骤:
步骤1)将待检测的计算机程序转化为控制流图;
步骤2)通过改进的广度优先搜索策略将控制流图转化为程序模型;
步骤3)分析每个状态是否可达,寻找程序中的不可达路径,方法为:验证程序模型中的每个状态s是否存在一条包含s的状态序列;若对于某个状态s,不存在包含s的状态序列,则此状态为不可达状态;
步骤4)采用模型检测技术自动检测步骤2)中的程序模型,得到不可达状态的集合;
步骤5)根据不可达状态的集合,搜索程序路径是否包含不可达状态,得到不可达路径集合。
2.如权利要求1所述的程序不可达路径的自动检测方法,其特征在于,所述步骤2)中,程序模型为包含状态、迁移和迁移标号三大要素的形式化模型,且不包含状态、迁移和标号三大要素以外的性质要素。
3.如权利要求1所述的程序不可达路径的自动检测方法,其特征在于,所述改进的广度优先搜索策略具体为:
3.1)遍历控制流图中的每个节点,若该节点是一个赋值语句,则创建一个新的状态,并以该赋值语句为迁移标号,创建一个从前驱状态到新状态的迁移;若该节点是一个判定语句,则创建两个新的状态,分别表示判定条件为真和假两种情况,并依据判定语句的真假两种取值情况生成迁移标号;
3.2)若当前节点的后继节点是遍历过的节点,则创建一个从当前节点到后继节点的前一节点的空标号迁移;
3.3)记录每个节点所对应的状态。
4.如权利要求1所述的程序不可达路径的自动检测方法,其特征在于,所述步骤5)中,采用递归策略搜索程序路径是否包含不可达状态。
5.如权利要求4所述的程序不可达路径的自动检测方法,其特征在于,采用递归策略搜索程序不可达路径的方法具体为:搜索程序模型的所有状态,若搜索到的状态为终止状态则递归终止,并判断当前生成的路径中是否包含不可达状态,若包含,则当前生成的路径是不可达路径;若搜索到的状态不是终止状态,则将当前状态加入到程序路径中,并检查当前状态的所有后继状态,若后继状态未出现在程序路径中,则对该后继状态继续进行递归。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510843266.7A CN105446881A (zh) | 2015-11-26 | 2015-11-26 | 一种程序不可达路径的自动检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510843266.7A CN105446881A (zh) | 2015-11-26 | 2015-11-26 | 一种程序不可达路径的自动检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105446881A true CN105446881A (zh) | 2016-03-30 |
Family
ID=55557110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510843266.7A Pending CN105446881A (zh) | 2015-11-26 | 2015-11-26 | 一种程序不可达路径的自动检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446881A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650445A (zh) * | 2016-12-16 | 2017-05-10 | 华东师范大学 | 一种恶意程序识别方法 |
CN107844415A (zh) * | 2017-09-28 | 2018-03-27 | 西安电子科技大学 | 一种基于插值的模型检测路径缩减方法、计算机 |
CN110321458A (zh) * | 2019-05-21 | 2019-10-11 | 国家电网有限公司 | 一种基于控制流图的数据流分析方法及装置 |
CN111722539A (zh) * | 2020-06-03 | 2020-09-29 | 西安交通大学 | 一种基于时间自动机的数字孪生制造单元行为建模方法 |
CN111949306A (zh) * | 2020-07-06 | 2020-11-17 | 北京大学 | 一种支持开源项目碎片化学习的推送方法和系统 |
CN112181426A (zh) * | 2020-09-19 | 2021-01-05 | 中国人民解放军战略支援部队信息工程大学 | 一种汇编程序控制流路径检测方法及装置 |
CN112416761A (zh) * | 2020-11-11 | 2021-02-26 | 北京京航计算通讯研究所 | 一种基于广度优先搜索的测试用例生成方法及装置 |
CN113010891A (zh) * | 2021-02-26 | 2021-06-22 | 中科天齐(山西)软件安全技术研究院有限公司 | 一种应用程序安全检测方法、装置、电子设备和存储介质 |
CN113010890A (zh) * | 2021-02-26 | 2021-06-22 | 中科天齐(山西)软件安全技术研究院有限公司 | 一种应用程序安全检测方法、装置、电子设备和存储介质 |
CN115080448A (zh) * | 2022-07-27 | 2022-09-20 | 北京航空航天大学 | 一种软件代码不可达路径自动检测的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901188A (zh) * | 2010-07-23 | 2010-12-01 | 哈尔滨工程大学 | 一种基于可达路径的软件测试方法 |
WO2011151931A1 (ja) * | 2010-06-02 | 2011-12-08 | 株式会社日立製作所 | アプリケーションの解析方法、解析システム及び記録媒体 |
-
2015
- 2015-11-26 CN CN201510843266.7A patent/CN105446881A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011151931A1 (ja) * | 2010-06-02 | 2011-12-08 | 株式会社日立製作所 | アプリケーションの解析方法、解析システム及び記録媒体 |
CN101901188A (zh) * | 2010-07-23 | 2010-12-01 | 哈尔滨工程大学 | 一种基于可达路径的软件测试方法 |
Non-Patent Citations (2)
Title |
---|
喻琴仪 等: "一种改进的程序不可达路径静态检测方法", 《南华大学学报》 * |
李鹏 等: "基于状态图的测试路径自动生成", 《计算机工程》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650445B (zh) * | 2016-12-16 | 2019-05-28 | 华东师范大学 | 一种恶意程序识别方法 |
CN106650445A (zh) * | 2016-12-16 | 2017-05-10 | 华东师范大学 | 一种恶意程序识别方法 |
CN107844415B (zh) * | 2017-09-28 | 2021-02-05 | 西安电子科技大学 | 一种基于插值的模型检测路径缩减方法、计算机 |
CN107844415A (zh) * | 2017-09-28 | 2018-03-27 | 西安电子科技大学 | 一种基于插值的模型检测路径缩减方法、计算机 |
CN110321458A (zh) * | 2019-05-21 | 2019-10-11 | 国家电网有限公司 | 一种基于控制流图的数据流分析方法及装置 |
CN111722539B (zh) * | 2020-06-03 | 2021-05-28 | 西安交通大学 | 一种基于时间自动机的数字孪生制造单元行为建模方法 |
CN111722539A (zh) * | 2020-06-03 | 2020-09-29 | 西安交通大学 | 一种基于时间自动机的数字孪生制造单元行为建模方法 |
CN111949306A (zh) * | 2020-07-06 | 2020-11-17 | 北京大学 | 一种支持开源项目碎片化学习的推送方法和系统 |
CN111949306B (zh) * | 2020-07-06 | 2021-05-28 | 北京大学 | 一种支持开源项目碎片化学习的推送方法和系统 |
CN112181426A (zh) * | 2020-09-19 | 2021-01-05 | 中国人民解放军战略支援部队信息工程大学 | 一种汇编程序控制流路径检测方法及装置 |
CN112416761A (zh) * | 2020-11-11 | 2021-02-26 | 北京京航计算通讯研究所 | 一种基于广度优先搜索的测试用例生成方法及装置 |
CN112416761B (zh) * | 2020-11-11 | 2023-07-07 | 北京京航计算通讯研究所 | 一种基于广度优先搜索的测试用例生成方法及装置 |
CN113010891A (zh) * | 2021-02-26 | 2021-06-22 | 中科天齐(山西)软件安全技术研究院有限公司 | 一种应用程序安全检测方法、装置、电子设备和存储介质 |
CN113010890A (zh) * | 2021-02-26 | 2021-06-22 | 中科天齐(山西)软件安全技术研究院有限公司 | 一种应用程序安全检测方法、装置、电子设备和存储介质 |
CN115080448A (zh) * | 2022-07-27 | 2022-09-20 | 北京航空航天大学 | 一种软件代码不可达路径自动检测的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105446881A (zh) | 一种程序不可达路径的自动检测方法 | |
Alur et al. | Model checking of hierarchical state machines | |
CN102419728B (zh) | 基于覆盖率量化指标确定软件测试过程充分性的方法 | |
CN105022691B (zh) | 一种基于uml图的高度自动化软件测试方法 | |
Walkinshaw et al. | Inferring finite-state models with temporal constraints | |
CN102508780B (zh) | 一种用于软件测试的交叉式动态法和装置 | |
CN103116540B (zh) | 基于全局超级块支配图的动态符号执行方法 | |
CN102231134A (zh) | 基于静态分析的冗余代码缺陷检测方法 | |
CN103617115B (zh) | 一种基于抽象解释和模型验证的运行时错误分析方法 | |
CN105868116A (zh) | 基于语义变异算子的测试用例生成和优化方法 | |
CN102662644A (zh) | 一种使用流程图生成测试案例的方法 | |
CN102968375B (zh) | 基于关联规则挖掘的不可达路径检测方法 | |
Zhonglin et al. | An improved method of acquiring basis path for software testing | |
CN101833499A (zh) | 一种基于可达树的软件测试验证方法 | |
CN106411635A (zh) | 一种实时协议的形式化分析及验证方法 | |
CN111092775A (zh) | 基于模型学习的网络协议安全测试评估方法 | |
CN105958652A (zh) | 基于大数据分析的无人值守变电站预警系统及方法 | |
CN115080448A (zh) | 一种软件代码不可达路径自动检测的方法和装置 | |
CN103391224A (zh) | 基于并行扩展有限状态机的协议层次化测试生成方法 | |
CN105630678A (zh) | 一种智能电能表软件的可靠性检测仪及其检测方法 | |
CN108009298A (zh) | 一种互联网人物搜索信息整合分析控制方法 | |
CN116433018A (zh) | 基于数字孪生的配电网风险态势感知方法及装置 | |
CN105022864A (zh) | 一种基于扩展依赖矩阵的系统测试点选取方法 | |
CN115577364A (zh) | 一种多静态分析工具结果融合的漏洞挖掘方法 | |
CN104751059A (zh) | 基于函数模板的软件行为分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160330 |