CN103914379A - 故障自动注入与故障检测的方法及其系统 - Google Patents
故障自动注入与故障检测的方法及其系统 Download PDFInfo
- Publication number
- CN103914379A CN103914379A CN201410114863.1A CN201410114863A CN103914379A CN 103914379 A CN103914379 A CN 103914379A CN 201410114863 A CN201410114863 A CN 201410114863A CN 103914379 A CN103914379 A CN 103914379A
- Authority
- CN
- China
- Prior art keywords
- fault
- file
- files
- injection
- automatic
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种故障自动注入与故障检测的方法及其系统,该方法包括:S1,对被测文件进行故障自动化注入,进行分析并生成多个故障文件;S2,对所述多个故障文件分别进行处理,生成多个可执行文件;S3,根据所述被测文件选择特定的用例库,将所述用例库中的用例逐一在所述每个可执行文件上运行,进行故障检测,并计算故障检测率。本发明使用源代码故障注入的方法,可以加速错误的发生,进而判断出软件中是否存在故障,并且检错能力强,尤其对于一些小概率错误具有较好的测试效果。
Description
技术领域
本发明涉及软件测试技术,尤其涉及一种在软件测试中的故障自动注入与故障检测方法及其系统。
背景技术
故障注入(Fault Injection)技术作为一种特殊测试技术,通常是指按照一定的故障模型产生故障,并可控地施加到待测目标系统中,以加速该系统的错误和失效的发生。故障检测,是观测并检验系统对所注入错误的响应信息,判断是否检测出所注入的故障。两者相结合可以分析目标系统的错误处理、错误容忍能力以及系统的鲁棒性,并对系统进行验证和评价。
虽然故障注入方法有很高的检错能力,但如何自动化注入大规模的故障,及如何有效地执行大量的故障文件、比对结果,是妨碍故障注入方法广泛应用的主要原因。目前实际应用中,大都是人工进行故障注入或半自动注入,耗费了大量的人力成本,测试效率也很低。并且只能进行小规模的源代码故障注入,无法对大型程序或整个项目进行全面的源代码故障注入和检测,无法充分发挥该方法的高检错能力。
发明内容
本发明提供一种故障自动注入与故障检测方法及其系统,通过使用源代码故障注入的方法,可以加速错误的发生,进而判断出软件中是否存在故障,并且检错能力强,尤其对于一些小概率错误具有较好的测试效果。
根据上述目的,本发明提供了一种故障自动注入与故障检测的方法,其包括:S1,对被测文件进行故障自动化注入,进行分析并生成多个故障文件;S2,对所述多个故障文件分别进行处理,生成多个可执行文件;S3,根据所述被测文件选择特定的测试用例库,将所述测试用例库中的用例逐一在所述每个可执行文件上运行,进行故障检测,并计算故障检测率。
其中,所述步骤S1包括:S11,输入被测文件,对所述被测文件进行语法分析、词法分析和语义分析,生成抽象语法树;S12,基于所述抽象语法树,对变异算子进行建模,生成程序变异模型;S13,遍历所述抽象语法树,提取所述抽象语法树的节点信息;S14,根据所述抽象语法树的节点信息和所述程序变异模型,生成相应的故障注入点,并在所述故障注入点进行故障自动注入;S15,进行文件IO操作,生成多个故障文件。
其中,所述步骤S2包括:对所述多个故障文件分别进行预处理、编译、汇编和链接,生成对应的多个可执行文件。
其中,所述测试用例库包括与所述被测文件的程序相对应的用例。
其中,所述测试用例库还包括所述被测文件运行所述每个用例后的执行结果。
其中,所述测试用例库中的所述用例满足覆盖准则,所述覆盖准则可以是对原被测试文件的100%分支覆盖。
根据本发明的另一个方面,提供了一种故障自动注入与故障检测系统,所述系统包括:故障自动注入模块,用于对被测文件进行自动化注入,进行分析并生成多个故障文件;执行文件生成模块,用于对所述多个故障文件进行处理,生成多个可执行文件;故障检测模块,用于根据所述被测文件选择特定的测试用例库,将所述测试用例库中的用例逐一在所述每个可执行文件上运行,进行故障检测,并计算故障检测率。
其中,所述故障自动注入模块包括:抽象树生成单元,用于对所述被测文件进行语法分析、词法分析和语义分析,生成抽象语法树;程序变异模型生成单元,用于基于所述抽象语法树,对变异算子进行建模,生成程序变异模型;抽象语法树遍历单元,用于遍历所述抽象语法树,提取所述抽象语法树的节点信息;故障自动注入单元,用于根据所述抽象语法树的节点信息和所述程序变异模型,生成相应的故障注入点,并在所述故障注入点进行故障自动注入;故障文件生成单元,用于进行文件IO操作,生成多个故障文件。
本发明所述的故障自动注入与故障检测的方法及其系统,使用源代码故障注入的方法,可以加速错误的发生,进而判断出软件中是否存在故障,并且检错能力较高,尤其对于一些小概率错误具有较好的测试效果,同时,使用本发明进行测试时,对系统鲁棒性和可靠性测试具有较好的测试效果。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明的故障自动注入与故障检测的方法的流程图;
图2示出了本发明的故障自动注入与故障检测的方法的步骤S1的具体流程图;
图3示出了本发明的故障自动注入与故障检测系统的结构框图;
图4是示出了本发明的故障自动注入与故障检测系统的故障自动注入模块的结构框图。
具体实施方式
下面将结合附图对本发明的实施例进行详细描述。
图1示出了本发明的故障自动注入与故障检测的方法的流程图。
参照图1,本发明的实施例的故障自动注入与故障检测的方法包括:
步骤S1,对被测文件进行自动化注入,经过分析并生成多个故障文件。
故障注入是使用故障算子,对被测原代码进行微小的语法改变,来模拟程序员在真实环境中可能产生的各类错误。
图2示出了本发明的故障自动注入与故障检测的方法的步骤S1的具体流程图。
参照图2,其具体步骤包括:
S11,输入被测文件,对被测文件进行语法分析、词法分析和语义分析,生成抽象语法树(Abstract Syntax Tree)。
抽象语法树是程序编译阶段的一种中间表示形式。作为一种良好的数据结构,AST可以直观地表示出源程序的语法结构,且包含源程序语法分析所需的全部静态信息,是故障注入所需信息的主要载体。其具体过程如下:
在读取被测文件后,对被测文件进行语法分析,语法分析是对读入的程序的字符流作为输入,通过一系列的规则,将字符流映射成单词Token,然后输出单词串和符号表。
然后将单词串组合成各类语法短语,如“语句”,“表达式”等等,语法分析程序判断源程序在结构上是否正确,具体使用自顶向下分析分析方法,然后输出无类型信息的抽象语法树。
然后使用上述生成的抽象语法树和符号表的信息,检测源程序是否和语言定义的语义一致,同时收集类型信息并保存起来,从而形成最终的抽象语法树。
S12,基于所述抽象语法树,对变异算子进行建模,生成程序变异模型;
变异算子,也称故障算子,是人们经过长期的实践总结出的模拟实际故障的一种源代码语法替换规则。例如对C语言,有关系算子、逻辑算子、算术算子、赋值算子、位运算算子等等。
本实施例对变异算子进行建模,不仅对传统的故障类型进行建模,还针对C语言中常使用的循环结构也进行了相应的建模。此外,为满足用户注入自定义的故障类型,还提供了相应的扩充接口。
S13,遍历抽象语法树,提取所述抽象语法树的节点信息;
本实施例使用访问者(Visitor)模式来对抽象语法树进行遍历。
访问者(Visitor)模式是设计模式的一种,它可以在不改变各元素类的前提下,定义作用于这些元素的新操作。Visitor模式把抽象语法树和作用于该结构上的操作之间的耦合解开,使得操作集合可以相对自由地定义。抽象语法树的每一个节点都可以接受一个访问者的调用,此节点向访问者对象传入节点对象,而访问者对象则反过来执行节点对象的操作。
在本实施例中,面向抽象语法树的访问者(Visitor)的具体设计:首先访问者实现一个具体操作,访问者对象针对AST中每类节点都包含一个Visit方法,AST对象自身包含一个Accept方法,访问者调用这个Accept方法,Accept方法再调用访问者的Visit方法。
S14,根据上述抽象语法树的节点信息和程序变异模型,生成相应的故障注入点,并在故障注入点进行故障自动注入。
提取语法树节点信息后,再根据标准算子提供的程序变异模型,生成对应的故障注入点(Injection Point)。该故障注入点包含了程序结构信息,故障信息等。故障注入点为变异算子指定了具体的注入位置,故障注入点确定下来后,在故障注入点使用变异算子,进行具体的语法内容替换,即开始故障自动注入。
S16,进行文件IO操作,生成多个故障文件。
故障注入完成后,将注入故障的文件转换为文本序列流,从而生成多个故障文件。
下面是本发明的一个故障注入的实施例。
本实施例使用的变异算子是REOR关系类算子,由==替换为>=,本实施例的源程序是:
上述程序生成的抽象语法树(局部)为:
进行故障注入后生成的故障文件为:
通过上述故障注入,将源程序中的“year%4==0”替换为“year%4>=0”,从而形成故障文件。
步骤S2,对上述多个故障文件进行处理,生成多个可执行文件。
为了自动化检测被测程序是否包含错误,需要在故障文件上执行用例,将其输出结果和源程序的输出进行比对。在上述步骤S1中,只是生成了一组包含故障的源代码文件,是以文本文件格式存在,还不能直接执行。因此,需要将其转化为可执行的文件,为下一步自动化比对做准备。
本实施例在c语言标准编译可执行文件的基础上,对故障文件进行了相应的处理,具体步骤如下:
1)预处理。
预处理主要针对.c源程序,对其中的预处理指令(preprocessingdirector,即以#开头的指令)和特殊符号进行处理。
本实施例主要对以下四种类型进行预处理:
A,宏定义指令,如#define Pai3.1415,#undef等。
C语言源程序中,允许使用一个标识符来表示一个字符串,该标识符称做“宏”。预处理时,对程序中出现的所有“宏”名,都使用宏定义中的字符串去代替。
B,条件编译指令,如#ifdef,#ifndef,#if等。
条件编译指令,用于在预处理中进行条件控制,根据所求条件的值,有选择地包含不同程序部分,因而产生不同的目标代码。
C,头文件包含指令,如#include"Headfile1.h"
多人合作的大型项目中,往往将公用函数写在头文件中,使代码简洁,便于维护。有指向系统目录的<>格式和指向用户定义目录的“”格式。
D,特殊字符,如行号标识。
如对goto语句指定的跳转目标语句的标识等特殊符号,在预处理时,也会进行相应的内部标识替换。
2)编译
编译过程主要工作就是通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价的中间代码表示或汇编代码。
3)汇编
汇编过程是指把汇编语言代码翻译成目标机器指令的过程。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。目标文件的内容是与源程序等效的机器语言代码。
4)链接
链接过程主要工作就是将有关的目标文件彼此相连接,即将在一个文件中引用的库函数包含进来,使得所有的这些目标文件成为一个能够被操作系统载入并执行的可执行文件。
步骤S3,根据所述被测文件选择特定的测试用例库,将所述测试用例库中的用例逐一在所述可执行文件上运行,进行故障检测,并计算故障检测率。
在获得了注入故障的可执行文件后,选择特定的测试用例库,在每个故障文件上,运行测试用例库中的每一个用例,将每一个执行结果,与原被测文件的相应执行结果进行比对。如果比对结果不一致,表明该故障被用例库中的该用例检测出来;如果结果一致,则该故障未被检测出来,此时再人工介入,判断原程序中该注入点是否存在故障。
将检测出的故障文件进行统计,从而可以计算出故障检测率。
测试用例库主要包含针对原被测程序的一组测试用例。这些用例整体满足一定的覆盖准则,例如满足对原被测试程序的100%分支覆盖。测试用例库还包含具体每个用例的其他属性,如具体输入数值、是否为全局变量等等。以库的形式管理用例,便于自动化执行。
此外,为提高检测效率,测试用例库中还记录了原被测文件运行每一个用例的执行结果。这样,在故障文件上执行用例后,就无需在原被测文件上再执行一遍用例,而直接将故障文件的执行结果与用例库中保存的执行结果进行比对。
图3示出了本发明的故障自动注入与故障检测系统的结构框图。
本发明的另一个实施例中,提供了一种故障自动注入与故障检测的系统,该系统包括:
故障自动注入模块100,用于对被测文件进行自动化注入,经过分析并生成故障文件;
执行文件生成模块200,用于对所述故障文件进行处理,生成可执行文件;
故障检测模块300,用于根据所述被测文件选择特定的用例库,将所述用例库中的用例逐一在所述可执行文件上运行,进行故障检测,并计算故障检测率。
图4示出了本发明的故障自动注入与故障检测系统的故障自动注入模块100的结构框图。
参照图4,故障自动注入模块100包括:
抽象树生成单元110,用于对所述被测文件进行语法分析、词法分析和语义分析,生成抽象语法树;
程序变异模型生成单元120,用于基于所述抽象语法树,对变异算子进行建模,生成程序变异模型;
抽象语法树遍历单元130,用于遍历所述抽象语法树,提取所述抽象语法树的节点信息;
故障自动注入单元140,用于根据所述抽象语法树的节点信息和所述程序变异模型,生成相应的故障注入点,并在所述故障注入点进行故障自动注入;
故障文件生成单元150,用于进行文件IO操作,生成多个故障文件。
本发明的实施例的故障注入与故障检测方法及其系统,使用了多种故障算子进行建模,其中除了常见故障,还包含了多种新的故障类型。表一是示出了本发明的实施例的各种算子的类型。
表一各种算子的类型表
编号 | 故障类型 | 英文解释 | 中文翻译 |
1 | AROR | arithmetic operator replacement | 算术运算符替换 |
2 | ASOR | assignment operator replacement | 赋值运算符替换 |
3 | BIOR | binary operator replacement | 位运算符替换 |
4 | CORP | constant replacement | 常量替换 |
5 | LOOR | logical operator replacement | 逻辑运算符替换 |
6 | REOR | relational operator replacement | 关系运算符替换 |
7 | VARP | variable replacement | 变量替换 |
8 | TIAS | to insert a semicolon | 插入分号 |
9 | TDBS | to delete the break statement | 删除break语句 |
10 | TDGS | to delete the goto statement | 删除goto语句 |
11 | LOCN | logical context negation | 逻辑上下文否定 |
12 | ARER | array element replacement | 数组元素替换 |
13 | STER | structure element replacement | 结构体元素替换 |
14 | RERP | reference replacement | 引用替换 |
15 | LIV | loop initial value | 改变循环变量的初始赋值 |
16 | LBV | loop boundary value | 改变循环条件的边界值 |
17 | LCV | loop condition value | 改变循环条件值 |
18 | LET | loop execution times | 改变循环执行次数 |
本发明所述的故障自动注入与故障检测的方法及其系统,使用源代码故障注入的方法,可以加速错误的发生,进而判断出软件中是否存在故障,并且检错能力较高,尤其对于一些小概率错误具有较好的测试效果,同时,使用本发明进行测试时,对系统鲁棒性和可靠性测试具有较好的测试效果。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (8)
1.故障自动注入与故障检测的方法,其特征在于,包括:
S1,对被测文件进行故障自动化注入,进行分析并生成多个故障文件;
S2,对所述多个故障文件分别进行处理,生成多个可执行文件;
S3,根据所述被测文件选择特定的测试用例库,将所述测试用例库中的用例逐一在所述每个可执行文件上运行,进行故障检测,并计算故障检测率。
2.根据权利要求1所述的故障自动注入与故障检测的方法,其特征在于,所述步骤S1包括:
S11,输入被测文件,对所述被测文件进行语法分析、词法分析和语义分析,生成抽象语法树;
S12,基于所述抽象语法树,对变异算子进行建模,生成程序变异模型;
S13,遍历所述抽象语法树,提取所述抽象语法树的节点信息;
S14,根据所述抽象语法树的节点信息和所述程序变异模型,生成相应的故障注入点,并在所述故障注入点进行故障自动注入;
S15,进行文件IO操作,生成多个故障文件。
3.根据权利要求1所述的故障自动注入与故障检测的方法,其特征在于,所述步骤S2包括:
对所述多个故障文件分别进行预处理、编译、汇编和链接,生成对应的多个可执行文件。
4.根据权利要求1所述的故障自动注入与故障检测的方法,其特征在于,所述测试用例库包括与所述被测文件的程序相对应的用例。
5.根据权利要求4所述的故障自动注入与故障检测的方法,其特征在于,所述测试用例库还包括所述被测文件运行所述每个用例后的执行结果。
6.根据权利要求1所述的故障自动注入与故障检测的方法,其特征在于,所述测试用例库中的所述用例满足覆盖准则,所述覆盖准则可以是对所述被测试文件的100%分支覆盖。
7.故障自动注入与故障检测系统,其特征在于,所述系统包括:
故障自动注入模块,用于对被测文件进行自动化注入,进行分析并生成多个故障文件;
执行文件生成模块,用于对所述多个故障文件进行处理,生成多个可执行文件;
故障检测模块,用于根据所述被测文件选择特定的测试用例库,将所述测试用例库中的用例逐一在所述每个可执行文件上运行,进行故障检测,并计算故障检测率。
8.根据权利要求7所述的故障自动注入与故障检测系统,其特征在于,所述故障自动注入模块包括:
抽象树生成单元,用于对所述被测文件进行语法分析、词法分析和语义分析,生成抽象语法树;
程序变异模型生成单元,用于基于所述抽象语法树,对变异算子进行建模,生成程序变异模型;
抽象语法树遍历单元,用于遍历所述抽象语法树,提取所述抽象语法树的节点信息;
故障自动注入单元,用于根据所述抽象语法树的节点信息和所述程序变异模型,生成相应的故障注入点,并在所述故障注入点进行故障自动注入;
故障文件生成单元,用于进行文件IO操作,生成多个故障文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410114863.1A CN103914379B (zh) | 2014-03-25 | 2014-03-25 | 故障自动注入与故障检测的方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410114863.1A CN103914379B (zh) | 2014-03-25 | 2014-03-25 | 故障自动注入与故障检测的方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103914379A true CN103914379A (zh) | 2014-07-09 |
CN103914379B CN103914379B (zh) | 2016-10-26 |
Family
ID=51040081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410114863.1A Expired - Fee Related CN103914379B (zh) | 2014-03-25 | 2014-03-25 | 故障自动注入与故障检测的方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103914379B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354035A (zh) * | 2015-11-17 | 2016-02-24 | 天津橙子科技有限公司 | 用于编写web工程测试用例的方法 |
CN106681901A (zh) * | 2015-11-10 | 2017-05-17 | 中国电信股份有限公司 | 一种测试样本生成的方法和装置 |
CN107451057A (zh) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种分支确定方法及装置 |
CN107797540A (zh) * | 2016-09-07 | 2018-03-13 | 上海汽车集团股份有限公司 | 变速器故障测试方法、装置及终端 |
CN108255736A (zh) * | 2018-02-12 | 2018-07-06 | 盛科网络(苏州)有限公司 | 一种电路测试平台的质量评估方法及装置 |
CN109585012A (zh) * | 2018-11-02 | 2019-04-05 | 成都飞机工业(集团)有限责任公司 | 一种健康诊断专家知识库自动编码方法 |
CN110908819A (zh) * | 2018-09-17 | 2020-03-24 | 千寻位置网络有限公司 | 定位代码运行崩溃的方法及装置、终端、存储器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760098A (zh) * | 2012-06-13 | 2012-10-31 | 北京航空航天大学 | 面向bit软件测试的处理器故障注入方法及其模拟器 |
-
2014
- 2014-03-25 CN CN201410114863.1A patent/CN103914379B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760098A (zh) * | 2012-06-13 | 2012-10-31 | 北京航空航天大学 | 面向bit软件测试的处理器故障注入方法及其模拟器 |
Non-Patent Citations (2)
Title |
---|
韩春晓: "单元测试中自动故障定位技术的研究与设计", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
高传平,谈利群,宫云战: "基于抽象语法树的代码静态自动测试方法研究", 《北京化工大学学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681901A (zh) * | 2015-11-10 | 2017-05-17 | 中国电信股份有限公司 | 一种测试样本生成的方法和装置 |
CN106681901B (zh) * | 2015-11-10 | 2019-12-06 | 中国电信股份有限公司 | 一种测试样本生成的方法和装置 |
CN105354035A (zh) * | 2015-11-17 | 2016-02-24 | 天津橙子科技有限公司 | 用于编写web工程测试用例的方法 |
CN107797540A (zh) * | 2016-09-07 | 2018-03-13 | 上海汽车集团股份有限公司 | 变速器故障测试方法、装置及终端 |
CN107797540B (zh) * | 2016-09-07 | 2021-03-16 | 上海汽车集团股份有限公司 | 变速器故障测试方法、装置及终端 |
CN107451057A (zh) * | 2017-07-31 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种分支确定方法及装置 |
CN108255736A (zh) * | 2018-02-12 | 2018-07-06 | 盛科网络(苏州)有限公司 | 一种电路测试平台的质量评估方法及装置 |
CN108255736B (zh) * | 2018-02-12 | 2022-02-08 | 苏州盛科通信股份有限公司 | 一种电路测试平台的质量评估方法及装置 |
CN110908819A (zh) * | 2018-09-17 | 2020-03-24 | 千寻位置网络有限公司 | 定位代码运行崩溃的方法及装置、终端、存储器 |
CN110908819B (zh) * | 2018-09-17 | 2023-07-04 | 千寻位置网络有限公司 | 定位代码运行崩溃的方法及装置、终端、存储器 |
CN109585012A (zh) * | 2018-11-02 | 2019-04-05 | 成都飞机工业(集团)有限责任公司 | 一种健康诊断专家知识库自动编码方法 |
CN109585012B (zh) * | 2018-11-02 | 2023-06-16 | 成都飞机工业(集团)有限责任公司 | 一种健康诊断专家知识库自动编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103914379B (zh) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103914379B (zh) | 故障自动注入与故障检测的方法及其系统 | |
US11775414B2 (en) | Automated bug fixing using deep learning | |
KR101989802B1 (ko) | 테스트 케이스를 이용하여 테스트를 수행하는 방법 및 장치 | |
CN111382070B (zh) | 兼容性测试方法、装置、存储介质和计算机设备 | |
CN104536883B (zh) | 一种静态缺陷检测方法及其系统 | |
Hassan et al. | Rudsea: recommending updates of dockerfiles via software environment analysis | |
CN111026433A (zh) | 基于代码变更历史的软件代码质量问题自动修复方法、系统及介质 | |
CN106843840A (zh) | 一种基于相似度分析的源代码版本演化注释复用方法 | |
Islam et al. | What changes in where? an empirical study of bug-fixing change patterns | |
CN105095304A (zh) | 日志模板生成方法及设备 | |
De Roover et al. | Building development tools interactively using the ekeko meta-programming library | |
CN117909984A (zh) | 基于相似性分析的实时操作系统驱动漏洞挖掘系统及方法 | |
JP2007052625A (ja) | ソースコード脆弱性検査装置 | |
Zhang et al. | How effective are they? Exploring large language model based fuzz driver generation | |
CN105354035A (zh) | 用于编写web工程测试用例的方法 | |
CN104536880B (zh) | 基于符号执行的gui程序测试用例扩增方法 | |
CN104820587B (zh) | 细粒度的基于频繁项集挖掘产生api替换规则的方法 | |
CN109471637B (zh) | 电路图的审查脚本调试方法 | |
Moghadam et al. | Resolving conflict and dependency in refactoring to a desired design | |
CN117610023A (zh) | 一种融入DevOps的软件静态分析系统 | |
Zou et al. | {D-Helix}: A Generic Decompiler Testing Framework Using Symbolic Differentiation | |
Alshanqiti et al. | Visual contract extractor: a tool for reverse engineering visual contracts using dynamic analysis | |
CN113946339A (zh) | 应用工程文件的处理方法、装置、电子设备及可读介质 | |
Shi et al. | Cross-browser compatibility testing based on model comparison | |
CN115310095A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161026 |