CN102103539A - 基于z规格的测试用例生成方法 - Google Patents
基于z规格的测试用例生成方法 Download PDFInfo
- Publication number
- CN102103539A CN102103539A CN 201110059216 CN201110059216A CN102103539A CN 102103539 A CN102103539 A CN 102103539A CN 201110059216 CN201110059216 CN 201110059216 CN 201110059216 A CN201110059216 A CN 201110059216A CN 102103539 A CN102103539 A CN 102103539A
- Authority
- CN
- China
- Prior art keywords
- test case
- test
- code
- input
- precondition
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及数据处理、测试。为实现高效、准确的对测量对象进行测试,本发明采用的技术方案是,基于Z规格的测试方法,包括下列步骤:1、用Z语言来描述一个软件***的规格说明,使形式化方法的描述准确,没有二义性的优势得到充分发挥;2.从Z语言的基本模块模式的谓词部分中生成前置条件,同时保证模块的完整性以及前置条件的无冗余性;3.根据得到的前置条件,采用合适的算法,生成可用的而且覆盖率高的测试用例;4.通过对代码的检测,验证用户的代码是否符合我们对程序的预期,并通过比较目标代码输出与已经得到的测试用例的输出是否相同,给出一个相应的测试报告。本发明主要应用于数据处理、测试。
Description
技术领域
本发明涉及数据处理、测试,具体讲涉及基于Z规格的测试用例生成方法。
背景技术
随着计算机和互联网的普及,软件已经成为信息时代资源获得和利用的重要载体。在这种形势下,软件的安全就成为各项工作正常、高效进行的重要保障。但是,软件不是天生安全的,而解决软件安全问题的根本方法就是改善我们建造软件的方式,即在构建软件的过程中,将安全性作为一个重要的因素考虑,使其成为软件开发各个阶段的一个重点。软件测试是软件开发的一个重要的阶段。而测试用例,即测试数据的生成是软件测试中的一个重要内容,测试用例的质量直接关系到测试效果的质量。因此,测试用例的生成是测试工作的核心。
为了对软件的规格说明进行准确的描述,从而为软件测试用例的生成提供良好的基础,形式化方法应运而生并得以应用。
形式化方法克服了采用自然语言描述规格说明时造成的模糊性、歧义性和不完整性。它是基于数学方法来描述目标软件***性能的一门技术,用严格的数学符号和数学法则对目标软件***的结构与行为进行有效的综合分析和推理。它为***的说明,开发和验证提供了一个框架,以利于发现目标软件***需求中的不一致性,不完整性等情况。用形式化开发软件,能够提高软件***的正确性和可靠性,并且能够提高软件开发的效率。
Z规格是目前适用范围最广的一种规格说明方法。它是基于一阶谓词逻辑和集合论的形式规格说明语言,由于其采用了严格的数学理论,可以产生简明,精确,无歧义且可证明的规格说明。同其他规格说明语言相比,Z语言一个主要的特点是可以对Z规格说明进行推理和证明。
目前未见基于Z规格的测试用例生成方法报道。
发明内容
为克服现有技术的不足,实现高效、准确的对测量对象进行测试,本发明采用的技术方案是,基于Z规格的测试用例生成方法,包括下列步骤:
1、用Z语言来描述一个软件***的规格说明,使形式化方法的描述准确,没有二义性的优势得到充分发挥;
2.从Z语言的基本模块模式的谓词部分中生成前置条件,同时保证模块的完整性以及前置条件的无冗余性;
3.根据得到的前置条件,采用合适的算法,生成可用的而且覆盖率高的测试用例;
4.通过对代码的检测,验证用户的代码是否符合对程序的预期,并通过比较目标代码输出与已经得到的测试用例的输出是否相同,给出一个相应的测试报告。
所述生成可用的而且覆盖率高的测试用例包括下列步骤:首先,对测试用例的等价类进行划分;然后,按照分类的不同,从不同的领域中选取测试用例;最后进行测试用例的汇总。
生成可用的而且覆盖率高的测试用例具体为:
已知op_ClientEncode,是一个方法的名称,表示在网上进行数据交互活动时客户端的加密过程,通过输入不同长度的字符串来测试此方法是否正常工作,其生成的原始测试用例如表1所示。
表1测试用例的原始列表
输入数据 | 输出数据 |
‘’ | 7215ee9c7d9dc229d2921a40e899ec5f |
‘a’ | 0cc175b9c0f1b6a831c399e269772661 |
‘b’ | 92eb5ffee6ae2fec3ad71c777531578f |
‘c’ | 4a8a08f09d37b73795649038408b5f33 |
‘d’ | 8277e0910d750195b448797616e091ad |
‘e’ | e1671797c52e15f763380b45e841ec32 |
... | ... |
‘ab’ | 187ef4436122d1cc2f40dc2b92f0eba0 |
... | ... |
(1)对测试用例的等价类进行划分:
本着等价类划分的原则,将表1中的测试用例等价类划分为三个,分别是:输入为空字符;输入只有一个字符和输入有多个字符;
(2)从不同的领域中选取测试用例:
从三个不同的测试用例等价类中分别选出一个测试用例:‘’;‘a’;‘abcdefghigklmn’;
(3)进行测试用例的汇总;
前述步骤(2)中选取的测试用例,可生成可用的且覆盖率高的测试用例,其结果如表2所示:
表2经过化简的测试用例列表
输入数据 | 输出数据 |
‘’ | 7215ee9c7d9dc229d2921a40e899ec5f |
‘a’ | 0cc175b9c0f1b6a831c399e269772661 |
‘abcdefghigklmn’ | 5fdddbca10d5f9ff15178e1b3e86f2cb |
本发明具有如下技术效果:
Z规格预编辑部分通过利用Z/EVES这一工具,完成了对Z规格模式的编写,并可对Z规格进行解析,语法检测,域检测,及谓词推理,公式证明等。为接下来的Z规格预处理部分的工作提供了输入信息,Z规格预处理部分主要完成对Z规格的化简,它是软件测试用例生成的基础。测试用例的生成是测试工作的核心,而测试用例的生成部分正是用于完成这一核心工作。它通过提供的接口得到指定模式的前置条件数据,然后按等价类划分的准则,生成具有高覆盖率且精简的测试用例。代码验证及报告生成部分将测试用例输入到用户代码中,并通过将方法的名字和文件的位置作为参数,实现了对代码的实际检测这一过程。并将测试报告返回给用户。
通过以上四个部分的协调工作,用户可以进行对***的Z规格描述,并对此Z规格进行初步的分析,利用分析结果自动或者半自动地生成测试用例,并对测试用例进行进一步简化。最终获取用户的真实工程代码,进而将测试用例输入代码当中,完成对代码的测试,找到软件中存在的漏洞和缺陷。从而提高软件开发的效率和安全系数。
附图说明
图1测试用例生成及代码验证模块示意图。
图2Z/EVES编辑示例图。
图3Z规则化简示意图。
图4代码验证及测试报告生成流程图。
具体实施方式
本发明的目的在于以Z规格为基础,利用其描述准确,没有二义性的优点,对目标软件的性能进行描述,通过对Z规格进行研究,将其中出现的数据类型进行分析,并利用分析结果生成测试用例,最后通过代码验证平台予于验证并给出测试报告。从而提高软件测试的效率、精确性及安全性。具体来讲,包括以下几个方面:
1.用Z语言来描述一个软件***的规格说明,同时保证其正确性。使形式化方法的描述准确,没有二义性的优势得到充分发挥;
2.从Z语言的基本模块模式的谓词部分中生成前置条件,同时保证模块的完整性以及前置条件的无冗余性。
3.根据得到的前置条件,采用合适的算法,生成可用的而且覆盖率高的测试用例。
4.通过对代码的检测,验证用户的代码是否符合我们对程序的预期。并通过比较目标代码输出与已经得到的测试用例的输出是否相同,给出一个相应的测试报告。
针对上述目的、目标,本发明提出的基于Z规格的软件测试用例生成大致分为四个部分:Z规格的编辑部分、Z规格预处理部分、测试用例生成部分和代码验证及报告生成部分,如附图1所示。首先要对Z规格进行编辑、检测,并将此Z规格进行简化和其他预处理。接着,利用简化后的Z规格和一些预定义好的规则,可以生成测试用例,并根据等价类划分的原则,对这些测试用例进行化简,得到测试用例最简化集。最后,将测试用例输入到用户提供的目标代码当中,进行检测,并最终生成测试报告,返回给用户。
1.Z规格的编辑:Z规格是对软件的功能的描述,同时也给出了他们对软件性能的限制。在本发明的研究中,主要是使用了Z/EVES这一工具,用它可以方便地编写Z规格模式。它也是分析Z规格的有效工具,可以用来对Z规格进行解析,语法检测,域检测,并且可以进行谓词推理,公式证明等等。用户可以直接在Z/EVES里面对Z规格进行编辑,其编辑界面如附图2所示。
2.Z规格的预处理:这一阶段主要是完成对Z规格的初步扫描,进行一些预处理工作。本部分的主要工作内容包括对Z规格中Z特有的数据类型的声明的处理,对复杂的数据类型的声明的处理,还有对方法的声明的处理,对Z规则进行化简等,如附图3所示。
3.测试用例的生成:测试用例,即测试数据的生成,是软件测试中的一个重要内容。此模块的功能是针对得到的模式前置条件,利用提出的测试用例生成算法,完成测试用例的生成。首先,通过提供的接口得到指定模式的前置条件数据,然后等价类划分的准则,生成具有高覆盖率且精简的测试用例。
4.代码验证及报告的生成:此部分是实际检测代码的部分。主要工作是验证用户的代码是否符合我们对程序的预期,并给出一个测试报告。其过程包含了四个部分:测试用例输入、代码验证平台、结果比较和生成测试报告。它们的功能分别是:利用上一步生成的测试数据,并将其输入部分单独提取出来,作为对目标代码的输入部分;调用测试用例的输入部分,并且通过所调用的方法的名字和路径找到需要测试的目标代码;比较目标代码输出与已经得到的测试用例的输出是否相同,并对不同的项进行记录;如果比较结果相同,则给出测试通过的报告,反之,给出测试失败的结论,并将测试失败的实验数据进行汇总,返回给用户。测试报告生成流程图如附图4所示。
下面以一实例来说明本发明的应用。
一.对目标软件性能进行Z规格描述
图1所示的Z规格描述了在网上进行数据交互时,服务器和客户端所需要满足的安全约束。
以上数据为图1的Z规格描述的数据声明部分。
二.对Z规格进行预处理
1.对上述的Z规格进行分析
(1)对数据类型的声明。
也就是对Resource,EventType,Bool,BlackList_SQL,User以及DB的声明。其中,Resource,EventType和Bool只是简单的枚举类型,而DB和User则是复合类型。我们的第一步工作就是要扫描Z规格,得到对这些数据类型的声明,并且写进数据库,或者对其进行相应的提前处理,为下一步的工作做好准备。
(2)对函数的声明。
在此Z规格中,就是对函数md5的声明。如下公式所示。在扫描这些类型的数据时,我们需要用户提供其相应的函数的定义的真实代码,并将这些函数名字和定义代码一起写进数据库,供后期使用。比如此处,应该提供用于md5的实现代码,以备生成测试用例时使用。
md5:seq Char→seq Char
2.对上述Z规格进行化简
这是对需要我们检测的Z规格的方法实现部分,也是我们工作的重点。其中,op_ClicentEncode说明的客户端加密过程,op_Validate表示的是服务器端安全验证过程。op_Authenticate表示的是服务器端身份验证过程。因为这些过程都没有出现后状态变量,所以可以直接使用生成析取范式的算法,将对方法描述的Z规格化解成析取范式形式。
(1)对op_ClientEncode方法进行析取范式化简可知,因为其谓词部分只有一个表达式,故其析取范式也只有一项,所以其最终形式就是:
output!=md5 input?
(2)对op_Validate的化简,可以得到:
(3)对op_Authenticate进行化简,可以得到其析取范式为,如下式所示:
三.测试用例的生成
对非数字类型的测试点的选取和数字类型数据的测试点的选取思路基本是一样的。首先是对测试用例的等价类进行划分,然后按照分类的不同,从不同的领域中选取测试用例,最后进行测试用例的汇总。
对上述例子的测试用例的选取,我们可以得到如下的结果:
1.op_ClientEncode:
其中,对MD5算法,我们需要用户提供对这个方法的源代码。假设库中已经有了这个方法的源代码。其Z规格的约束非常少,故我们可以通过输入不同长度的字符串来测试此方法是否正常工作。其生成的测试用例如表1所示(假设使用的MD5算法为32位的,并且生成的字母均为小写)。原始测试用例的数量非常庞大,因为程序会对所有字母的组合进行测试用例的生成。
表1测试用例的原始列表
输入数据 | 输出数据 |
‘’ | 7215ee9c7d9dc229d2921a40e899ec5f |
‘a’ | 0cc175b9c0f1b6a831c399e269772661 |
‘b’ | 92eb5ffee6ae2fec3ad71c777531578f |
‘c’ | 4a8a08f09d37b73795649038408b5f33 |
‘d’ | 8277e0910d750195b448797616e091ad |
‘e’ | e1671797c52e15f763380b45e841ec32 |
... | ... |
‘ab’ | 187ef4436122d1cc2f40dc2b92f0eba0 |
... | ... |
本着等价类划分的原则,我们只需要选取其中的三个测试用例,即可以测试所有的情况。分别是:输入为空字符(判断是否对特殊字符做了处理);输入只有一个字符(输入字符长度最短的情况)和输入有多个字符(输入长度大于一的情况)。经过简化的测试用例列表如表2所示。
表2经过化简的测试用例列表
输入数据 | 输出数据 |
‘’ | 7215ee9c7d9dc229d2921a40e899ec5f |
‘a’ | 0cc175b9c0f1b6a831c399e269772661 |
‘abcdefghigklmn’ | 5fdddbca10d5f9ff15178e1b3e86f2cb |
2.op_Validate:
根据其Z规格的描述,生成的原始测试用例同样数量巨大。其中,为了测试用例说明的完整性,在此处将pattern的取值也一并列了出来,但是pattern并不是测试用例的一部分,它是程序运行过程中的中间变量。
表3测试用例的原始列表
Input! | Pattern | Output! |
‘‘ | ‘‘ | True |
a | a | True |
Ab | A | True |
Ab | B | True |
Ab | Ab | True |
... | ... | ... |
Store | S | True |
... | ... | ... |
Store | Store | False |
... | ... | ... |
abcStore | A | True |
abcStore | B | True |
... | ... | ... |
AbcStore | Store | False |
... | ... | ... |
对其利用等价类的划分原则进行化简之后,可以得到如下的少量测试用例:
表4经过化简的测试用例列表
Input? | Output! |
‘‘ | True |
A | True |
Store | False |
aStore | False |
其中第一个测试用例是对空输入的处理,看代码是否能正常运行。第二个测试用例是对只有单个字符的处理情况;第三个测试用例是测试如果输入数据本身就是SQL注入的威胁语句,***是否能检查出来;
3.op_Authenticate:
此测试用例是生成需要借助数据库里面的数据,其中User是存放在数据库里面的用户名和密码两个元素的集合。假设数据库里面已经有User表,其中存在数据:userName:mary;enPassword:123456。则生成是原始的测试用例如表5所示。
表5测试用例的原始列表
Username | enPassword | Success |
‘‘ | ‘‘ | False |
a | a | False |
b | a | False |
... | ... | ... |
Ab | Ab | False |
.. | ... | ... |
Mary | 123456 | True |
... | ... | ... |
对其利用等价类的划分原则进行化简之后,可以得到如表6所示的少量测试用例:
表6经过化简的测试用例列表
Username | enPassword | Success |
‘‘ | ‘‘ | False |
a | a | False |
ab | ab | False |
Mary | 123 | False |
Tom | 123456 | False |
Mary | 123456 | True |
其中,第一个测试用例是用来测试对空输入的处理方式,第二个测试用例是测试当输入长度为1时,代码是否正常运行;第三个是测试输入长度大于1时,代码的运行情况。第四个测试用例是测试如果用户名正确而密码错误,***的反应;第五个测试用例是测试用户名错误而密码正确的情况;最后一个测试用例是测试用户名和密码都正确,代码是否有正确的返回值。
同时,我们也对此测试方法进行了横向的对比,主要对比对象是用Isabelle来穿线测试用例的方式。
下面是对两者生成的测试用例的数量及其测试效果进行的比对,如表7所示。对比主要涉及两个方面:一是生成的测试用例的数量,二是对我们提前在代码中出现的问题,是否都能通过生成的测试用例查找到。
表7经过化简的测试用例列表
四.代码验证及报告生成
最后,是实际检测代码的部分。我们需要将测试用例输入到用户代码中。此时,我们用方法的名字和文件位置作为参数,实现此过程。下面是针对每个方法进行测试的结果:
1.op_ClientEncode的测试结果
假设用户的代码如下:
则由该方法的定义可知,对于我们输入的测试用例,这段代码的返回结果和我们的测试用例的输出应该是一样的。所以,我们对这段代码的测试就会Pass。最终生成顺利通过的报告。
2.op_Validate的测试结果
假设其代码如下:
由此代码可知,此代码并没有正确实现其Z规格描述的功能,在用如下这个测试用例测试的时候,***返回的信息是true,而正确的返回值应该是false,故测试失败。生成下图所示的报告返回给用户:
Test failed!
Test cases are:
1.
Input:aSource
Correct output:False
Current output:True
3.op_Authenticate的测试结果
假设其代码如下:
其代码的实现完全符合Z规格的描述,且通过测试,发现代码能够正确给出输出,得到的测试报告为顺利通过。
Claims (3)
1.一种基于Z规格的测试用例生成方法,其特征是,包括下列步骤:
一、用Z语言来描述一个软件***的规格说明,使形式化方法的描述准确,没有二义性的优势得到充分发挥;
二.从Z语言的基本模块模式的谓词部分中生成前置条件,同时保证模块的完整性以及前置条件的无冗余性;
三.根据得到的前置条件,采用合适的算法,生成可用的而且覆盖率高的测试用例;
四.通过对代码的检测,验证用户的代码是否符合对程序的预期,并通过比较目标代码输出与已经得到的测试用例的输出是否相同,给出一个相应的测试报告。
2.如权利要求1所述的方法,其特征是,生成可用的而且覆盖率高的测试用例包括下列步骤:
首先,对测试用例的等价类进行划分;然后,按照分类的不同,从不同的领域中选取测试用例;最后进行测试用例的汇总。
3.如权利要求2所述的方法,其特征是,生成可用的而且覆盖率高的测试用例具体为:
已知op_ClientEncode,是一个方法的名称,表示在网上进行数据交互活动时客户端的加密过程,通过输入不同长度的字符串来测试此方法是否正常工作,其生成的原始测试用例如表1所示。
表1测试用例的原始列表
(1)对测试用例的等价类进行划分:
本着等价类划分的原则,将表1中的测试用例等价类划分为三个,分别是:输入为空字符;输入只有一个字符和输入有多个字符;
(2)从不同的领域中选取测试用例:
从三个不同的测试用例等价类中分别选出一个测试用例:‘’;‘a’;‘abcdefghigklmn’;
(3)进行测试用例的汇总;
前述步骤(2)中选取的测试用例,可生成可用的且覆盖率高的测试用例,其结果如表2所示:
表2经过化简的测试用例列表
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110059216 CN102103539A (zh) | 2011-03-11 | 2011-03-11 | 基于z规格的测试用例生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110059216 CN102103539A (zh) | 2011-03-11 | 2011-03-11 | 基于z规格的测试用例生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102103539A true CN102103539A (zh) | 2011-06-22 |
Family
ID=44156327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110059216 Pending CN102103539A (zh) | 2011-03-11 | 2011-03-11 | 基于z规格的测试用例生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102103539A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508770A (zh) * | 2011-10-10 | 2012-06-20 | 南京大学 | 一种基于谓词自适应随机测试的测试用例集扩增方法 |
CN105183633A (zh) * | 2015-07-21 | 2015-12-23 | 浪潮电子信息产业股份有限公司 | 一种测试用例的生成方法及*** |
CN109614335A (zh) * | 2018-12-10 | 2019-04-12 | 艾瑞克·李 | 模块灰盒行为规格说明和灰盒测试用例设计方法 |
CN116541854A (zh) * | 2023-07-06 | 2023-08-04 | 北京华云安信息技术有限公司 | 漏洞测试方法、装置、电子设备和存储介质 |
CN116756000A (zh) * | 2023-05-24 | 2023-09-15 | 浙江望安科技有限公司 | 一种对结合形式化验证持续集成的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620566A (zh) * | 2009-07-23 | 2010-01-06 | 北京航空航天大学 | 一种动态随机测试方法 |
CN101833505A (zh) * | 2010-04-30 | 2010-09-15 | 天津大学 | 一种软件***安全缺陷检测方法 |
-
2011
- 2011-03-11 CN CN 201110059216 patent/CN102103539A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620566A (zh) * | 2009-07-23 | 2010-01-06 | 北京航空航天大学 | 一种动态随机测试方法 |
CN101833505A (zh) * | 2010-04-30 | 2010-09-15 | 天津大学 | 一种软件***安全缺陷检测方法 |
Non-Patent Citations (1)
Title |
---|
《应用科学学报》 20060731 朱彬等 Z规格说明的测试用例自动生成 第377-381页 1-3 第24卷, 第4期 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508770A (zh) * | 2011-10-10 | 2012-06-20 | 南京大学 | 一种基于谓词自适应随机测试的测试用例集扩增方法 |
CN102508770B (zh) * | 2011-10-10 | 2015-02-11 | 南京大学 | 一种基于谓词自适应随机测试的测试用例集扩增方法 |
CN105183633A (zh) * | 2015-07-21 | 2015-12-23 | 浪潮电子信息产业股份有限公司 | 一种测试用例的生成方法及*** |
CN109614335A (zh) * | 2018-12-10 | 2019-04-12 | 艾瑞克·李 | 模块灰盒行为规格说明和灰盒测试用例设计方法 |
CN109614335B (zh) * | 2018-12-10 | 2021-10-15 | 艾瑞克·李 | 模块灰盒行为规格说明和灰盒测试用例设计方法 |
CN116756000A (zh) * | 2023-05-24 | 2023-09-15 | 浙江望安科技有限公司 | 一种对结合形式化验证持续集成的方法 |
CN116756000B (zh) * | 2023-05-24 | 2024-02-06 | 浙江望安科技有限公司 | 一种对结合形式化验证持续集成的方法 |
CN116541854A (zh) * | 2023-07-06 | 2023-08-04 | 北京华云安信息技术有限公司 | 漏洞测试方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Apel et al. | Strategies for product-line verification: case studies and experiments | |
CN105022691B (zh) | 一种基于uml图的高度自动化软件测试方法 | |
Liu et al. | Covering code behavior on input validation in functional testing | |
CN102567200A (zh) | 基于函数调用图的并行化安全漏洞检测方法 | |
US8904352B2 (en) | Systems and methods for processing source code during debugging operations | |
CN102103539A (zh) | 基于z规格的测试用例生成方法 | |
CN110543422B (zh) | 一种用于fpr的软件包代码缺陷数据处理方法、***及介质 | |
CN101937396B (zh) | 软件程序中变量的不安全使用的检测方法 | |
CN105159827A (zh) | 一种面向gui软件的可靠性加速测试方法 | |
González et al. | Test data generation for model transformations combining partition and constraint analysis | |
Liu et al. | Invcon: A dynamic invariant detector for ethereum smart contracts | |
Tavares et al. | Semistructured merge in JavaScript systems | |
Zhou et al. | A method for software vulnerability detection based on improved control flow graph | |
ElGamal et al. | Data warehouse testing | |
Sotgiu et al. | Explainability-based debugging of machine learning for vulnerability discovery | |
CN102681932B (zh) | 一种检测软件异常输入处理正确性的方法 | |
CN106991050A (zh) | 一种静态测试空指针引用缺陷假阳性识别方法 | |
CN110554952B (zh) | 一种基于搜索的分层回归测试数据生成方法 | |
Sun et al. | MAF: method-anchored test fragmentation for test code plagiarism detection | |
US20200249929A1 (en) | Automated candidate repair patch generation | |
CN101833505A (zh) | 一种软件***安全缺陷检测方法 | |
Zhang et al. | GoDetector: Detecting concurrent bug in go | |
He et al. | A coverage and slicing dependencies analysis for seeking software security defects | |
CN102129406A (zh) | 一种基于条件值的软件静态预测方法及工具 | |
CN111881055A (zh) | 军用软件评测规范的Simulink模型设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110622 |