CN110633204A - 一种程序缺陷检测方法及装置 - Google Patents

一种程序缺陷检测方法及装置 Download PDF

Info

Publication number
CN110633204A
CN110633204A CN201910450219.4A CN201910450219A CN110633204A CN 110633204 A CN110633204 A CN 110633204A CN 201910450219 A CN201910450219 A CN 201910450219A CN 110633204 A CN110633204 A CN 110633204A
Authority
CN
China
Prior art keywords
program
defect
potential
detected
assertion
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
Application number
CN201910450219.4A
Other languages
English (en)
Other versions
CN110633204B (zh
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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN201910450219.4A priority Critical patent/CN110633204B/zh
Publication of CN110633204A publication Critical patent/CN110633204A/zh
Application granted granted Critical
Publication of CN110633204B publication Critical patent/CN110633204B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • 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/3644Software debugging by instrumenting at runtime

Abstract

本发明实施例提供一种程序缺陷检测方法及装置,获取待检测程序的潜在缺陷;根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式;对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷。本发明实施例根据待检测程序中潜在缺陷的缺陷类型和缺陷位置,在待检测程序的相应位置插入断言表达式,从而更加快速的确定待检测程序中的真实程序缺陷,提高缺陷定位的准确性。

Description

一种程序缺陷检测方法及装置
技术领域
本发明涉及程序分析技术领域,尤其涉及一种程序缺陷检测方法及装置。
背景技术
程序分析技术在工业界得到广泛应用,包括静态分析、动态测试和形式化验证等技术。其中,静态分析技术是指在不执行程序的前提下,通过语法分析、控制流处理等方法对代码进行分析,对程序的规范性、安全性和可靠性等指标进行检验的程序分析技术。由于静态分析的应用受限于其高误报率和高漏报率,因此,高效率识别静态分析报告中的真实缺陷是非常重要的。
目前,程序断言在程序分析技术中起到很大的辅助作用,然而,现有的断言插入工作都是基于人工进行的,导致断言插入非常耗时,特别在大规模项目中,人工编写程序断言也极容易出现错误。
因此,现在亟需一种程序缺陷检测方法及装置来解决上述问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种程序缺陷检测方法及装置。
第一方面,本发明实施例提供了一种程序缺陷检测方法,包括:
获取待检测程序的潜在缺陷;
根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式;
对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷。
进一步地,所述获取待检测程序的潜在缺陷,包括:
根据静态分析方法,对待检测程序进行扫描,得到所述待检测程序的潜在缺陷。
进一步地,所述获取待检测程序的潜在缺陷,还包括:
根据预设程序缺陷类型,对所述待检测程序进行匹配,以根据匹配结果得到所述待检测程序的潜在缺陷。
具体地,所述根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式,包括:
根据通用缺陷枚举法,获取所述潜在缺陷的缺陷类型;
根据所述缺陷类型,以及所述潜在缺陷位于所述待检测程序的缺陷位置,获取所述潜在缺陷对应的第一断言表达式;
将所述第一断言表达式插入到所述待检测程序的相应位置,以对所述待检测程序进行修改,获取第二断言表达式。
进一步地,所述对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷,包括:
根据形式化验证方法,对所述第二断言表达式进行验证,若所述第二断言表达式的验证结果是错误结果,则判断获知所述潜在缺陷是真实程序缺陷。
进一步地,所述对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷,还包括:
根据动态测试方法,对所述第二断言表达式进行验证,若所述第二断言表达式的验证结果是错误结果,则判断获知所述潜在缺陷是真实程序缺陷。
第二方面,本发明实施例提供了一种程序缺陷检测装置,包括:
潜在缺陷获取模块,用于获取待检测程序的潜在缺陷;
断言生成和插入模块,用于根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式;
缺陷确认模块,用于对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的一种程序缺陷检测方法及装置,根据待检测程序中潜在缺陷的缺陷类型和缺陷位置,在待检测程序的相应位置插入断言表达式,从而更加快速的确定待检测程序中的真实程序缺陷,提高缺陷定位的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的程序缺陷检测方法的流程示意图;
图2为本发明实施例提供的程序缺陷检测装置的结构示意图;
图3为本发明实施例提供的电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在软硬件程序的设计、开发和维护阶段中,将出现的不安全因素称为缺陷。由于缺陷和程序漏洞密不可分,以软硬件程序设计阶段的缺陷为例,在这一阶段,对程序中的缺陷进行分析,可以使得程序中的漏洞得到及时发现,减少程序漏洞在后期运用时可能造成的危害。现有的程序分析技术包括静态分析、动态测试和形式化验证,其中,静态分析技术是指在不执行程序的前提下,通过语法分析、控制流处理等方法对代码进行分析,对程序的规范性、安全性和可靠性等指标进行检验的程序分析技术;动态测试技术通过生成大量测试用例,使用测试的方法对程序执行中的缺陷进行检查;形式化验证技术是用于检查程序行为特征的有效方法。需要说明的是,在本发明实施中,适用对象是可编译执行的软硬件程序,包括但不限于运用程序静态分析技术的软硬件程序。
图1为本发明实施例提供的程序缺陷检测方法的流程示意图,如图1所示,本发明实施例提供了一种程序缺陷检测方法,包括:
步骤101,获取待检测程序的潜在缺陷。
在本发明实施例中,通过步骤101,获取待检测程序的潜在缺陷,具体地,通过静态分析或者动态测试的方法,从而获取待检测程序的潜在缺陷。在本发明实施例中,将静态分析方法作为优选方法,对潜在缺陷进行扫描,以得到关于潜在缺陷的缺陷报告。另外,对于一些无法运用静态分析技术的程序,可通过预设的程序缺陷类型,为该程序匹配缺陷,并根据匹配的结果生成关于潜在缺陷的缺陷报告。
步骤102,根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式。
在本发明实施例中,编写代码时,需要做出一些缺陷假设,断言就是用于在代码中捕捉这些缺陷假设的,因此,可以将断言看作是异常处理的一种高级形式,使用断言可以创建更稳定,品质更好且不易于出错的代码。在本发明实施例中首,根据上述步骤101中潜在缺陷的缺陷类型,以及该潜在缺陷位于待检测程序的代码位置,生成相应的断言表达式,即第一断言表达式,然后,根据相应的变量信息,将该断言表达式插入到潜在缺陷所在的代码位置,从而得到插入位置后的断言表达式,即第二断言表达式,从而对该待检测程序进行了改写,以用于后续对断言进行验证。
步骤103,对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷。
在本发明实施例中,断言表达式可以反映待检测程序的正确性所应满足的条件,在对第二断言表达时进行验证之后,若得到断言错误的结果,则表示待检测程序的潜在缺陷是真实程序缺陷。
本发明实施例提供的一种程序缺陷检测方法,根据待检测程序中潜在缺陷的缺陷类型和缺陷位置,在待检测程序的相应位置插入断言表达式,从而更加快速的确定待检测程序中的真实程序缺陷,提高缺陷定位的准确性。
在上述实施例的基础上,所述获取待检测程序的潜在缺陷,包括:
根据静态分析方法,对待检测程序进行扫描,得到所述待检测程序的潜在缺陷。
在本发明实施例中,静态分析方法(Program Static Analysis)是指在不运行代码的方式下,通过词法分析、语法分析、控制流和数据流分析等技术对程序代码进行扫描,从而验证代码是否满足规范性、安全性、可靠性和可维护性等指标的一种代码分析技术。在本发明实施例中,可将待检测程序输入到静态分析工具中,例如,Coverity静态分析工具,这些静态分析工具会对输入的待检测程序进行扫描,从而得到若干处潜在的程序缺陷。
在上述实施例的基础上,所述获取待检测程序的潜在缺陷,还包括:
根据预设程序缺陷类型,对所述待检测程序进行匹配,以根据匹配结果得到所述待检测程序的潜在缺陷。
在本发明实施例中,对于一些无法运用静态分析方法的待检测程序,可以通过自定义的方式进行缺陷匹配,并根据匹配的结果得到潜在缺陷。在本发明实施例中,可根据现有的软件缺陷描述体系,例如,通用缺陷枚举体系(Common Weakness Enumeration,简称CWE)中定义的程序缺陷类型,设计自定义模式,得到预设程序缺陷类型,并根据自定义模式对无法运用静态分析方法的待检测程序进行匹配,根据匹配得到的结果,得到多组疑是缺陷的程序位置和缺陷类型。
在上述实施例的基础上,所述根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式,包括:
根据通用缺陷枚举法,获取所述潜在缺陷的缺陷类型;
根据所述缺陷类型,以及所述潜在缺陷位于所述待检测程序的缺陷位置,获取所述潜在缺陷对应的第一断言表达式;
将所述第一断言表达式插入到所述待检测程序的相应位置,以对所述待检测程序进行修改,获取第二断言表达式。
在本发明实施例中,潜在缺陷并不全是真实程序缺陷,也就是说,这些潜在缺陷中可能存在误报的情况。因此,需要根据这些潜在缺陷的缺陷类型和缺陷位置,生成相应的断言表达式,在本发明实施例中,可根据CWE体系确定程序的缺陷类型,并将断言表达式插入到对应潜在缺陷的代码位置,从而对待检测程序进行改写,以使得插入后的断言表达式用于后续的断言验证和确认。
本发明实施例通过待检测程序的缺陷类型和缺陷位置,生成对应的断言表达式,并将该断言表达式插入到待检测程序的相应位置,实现了断言表达式的自动生成和自动插入,避免因人工操作导致的错误。
在上述实施例的基础上,所述对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷,包括:
根据形式化验证方法,对所述第二断言表达式进行验证,若所述第二断言表达式的验证结果是错误结果,则判断获知所述潜在缺陷是真实程序缺陷。
在上述实施例的基础上,所述对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷,还包括:
根据动态测试方法,对所述第二断言表达式进行验证,若所述第二断言表达式的验证结果是错误结果,则判断获知所述潜在缺陷是真实程序缺陷。
在本发明实施例中,在对待检测程序进行断言插入之后,通过形式化验证方法或动态测试方法,对第二断言表达式进行验证测试,并将得到的验证测试结果作为缺陷检测的依据。在本发明实施例中,以C语言为例,可通过形式化验证工具,例如CBMC工具,对第二断言表达式进行验证;或者,通过动态测试工具,例如AFL,对待检测程序中的断言进行集成测试,将最终得到的检测结果作为缺陷检测的依据,即识别潜在缺陷是否是真实程序缺陷。在本发明实施例中,若在得到的验证结果中,断言表达式的值是错误,则表示该潜在缺陷为真实程序缺陷。
在本发明实施例中,通过形式化验证方法或动态测试方法对断言表达式进行测试,能够更加快速和准确的确定潜在缺陷是否为真实程序性缺陷,提高了了程序分析方法的准确性。
在本发明另一实施例中,对某网站中26个C语言真实软件项目进行代码缺陷检测,确认CWE-195类型的代码缺陷共125个,可参考表1所示:
表1
Figure BDA0002074910060000071
在表1中,第一列是项目名称(Project Name-Branch Name),第二列是该项目对应的源文件数量(Number of C Files),第三列是插入的断言数量(AN),第四列是断言表达式的值是错误断言的数量(CN),第五列是人工确认真实程序缺陷的数量(WN),第六列真实程序缺陷在插入断言数的比例(WP),第七列是断言表达式的值是错误断言的正确率(Accuracy),第八列至第十列分别代表三类CWE-195缺陷的场景(W1-W3),分别代表:不确定的运算,有符号的定义,以及受输入变量影响。从表1数据中可以看出,本发明实施例成功检测出真实项目中的真实程序缺陷,整个过程是自动化的,节约了人工检查可能产生的大量时间消耗。
图2为本发明实施例提供的程序缺陷检测装置的结构示意图,如图2所示,本发明实施例提供了一种程序缺陷检测装置,包括潜在缺陷获取模块201、断言生成和插入模块202和缺陷确认模块203,其中,潜在缺陷获取模块201用于获取待检测程序的潜在缺陷;断言生成和插入模块202用于根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式;缺陷确认模块203用于对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷。
在本发明实施例中,潜在缺陷获取模块201通过静态分析或者动态测试的方法,从而获取待检测程序的潜在缺陷。在本发明实施例中,将静态分析方法作为优选方法,对潜在缺陷进行扫描,以得到关于潜在缺陷的缺陷报告。另外,对于一些无法运用静态分析技术的程序,潜在缺陷获取模块201可通过预设的程序缺陷类型,为该程序匹配缺陷,并根据匹配的结果生成关于潜在缺陷的缺陷报告。然后,断言生成和插入模块202根据潜在缺陷的缺陷类型,以及该潜在缺陷位于待检测程序的代码位置,生成相应的断言表达式,即第一断言表达式,并将该断言表达式插入到潜在缺陷所在的代码位置,从而得到插入位置后的断言表达式,即第二断言表达式,从而对该待检测程序进行了改写,以用于后续对断言进行验证。最后,缺陷确认模块203对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷。
在本发明实施例中,断言表达式可以反映待检测程序的正确性所应满足的条件,在对第二断言表达时进行验证之后,若得到断言错误的结果,则表示待检测程序的潜在缺陷是真实程序缺陷。
本发明实施例提供的一种程序缺陷检测装置,根据待检测程序中潜在缺陷的缺陷类型和缺陷位置,在待检测程序的相应位置插入断言表达式,从而更加快速的确定待检测程序中的真实程序缺陷,提高缺陷定位的准确性。
本发明实施例提供的装置是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
图3为本发明实施例提供的电子设备结构示意图,如图3所示,该服务器可以包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301可以调用存储器303中的逻辑指令,以执行如下方法:获取待检测程序的潜在缺陷;根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式;对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷。
此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的程序缺陷检测方法,例如包括:获取待检测程序的潜在缺陷;根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式;对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种程序缺陷检测方法,其特征在于,包括:
获取待检测程序的潜在缺陷;
根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式;
对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷。
2.根据权利要求1所述的程序缺陷检测方法,其特征在于,所述获取待检测程序的潜在缺陷,包括:
根据静态分析方法,对待检测程序进行扫描,得到所述待检测程序的潜在缺陷。
3.根据权利要求1所述的程序缺陷检测方法,其特征在于,所述获取待检测程序的潜在缺陷,还包括:
根据预设程序缺陷类型,对所述待检测程序进行匹配,以根据匹配结果得到所述待检测程序的潜在缺陷。
4.根据权利要求1所述的程序缺陷检测方法,其特征在于,所述根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式,包括:
根据通用缺陷枚举法,获取所述潜在缺陷的缺陷类型;
根据所述缺陷类型,以及所述潜在缺陷位于所述待检测程序的缺陷位置,获取所述潜在缺陷对应的第一断言表达式;
将所述第一断言表达式插入到所述待检测程序的相应位置,以对所述待检测程序进行修改,获取第二断言表达式。
5.根据权利要求1所述的程序缺陷检测方法,其特征在于,所述对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷,包括:
根据形式化验证方法,对所述第二断言表达式进行验证,若所述第二断言表达式的验证结果是错误结果,则判断获知所述潜在缺陷是真实程序缺陷。
6.根据权利要求1所述的程序缺陷检测方法,其特征在于,所述对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷,还包括:
根据动态测试方法,对所述第二断言表达式进行验证,若所述第二断言表达式的验证结果是错误结果,则判断获知所述潜在缺陷是真实程序缺陷。
7.一种程序缺陷检测装置,其特征在于,包括:
潜在缺陷获取模块,用于获取待检测程序的潜在缺陷;
断言生成和插入模块,用于根据所述潜在缺陷的缺陷类型和缺陷位置,获取第一断言表达式,并将所述第一断言表达式插入到所述待检测程序的相应位置,得到第二断言表达式;
缺陷确认模块,用于对所述第二断言表达式进行验证,若验证结果满足预设条件,则判断获知所述潜在缺陷是真实程序缺陷。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述程序缺陷检测方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述程序缺陷检测方法的步骤。
CN201910450219.4A 2019-05-28 2019-05-28 一种程序缺陷检测方法及装置 Active CN110633204B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910450219.4A CN110633204B (zh) 2019-05-28 2019-05-28 一种程序缺陷检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910450219.4A CN110633204B (zh) 2019-05-28 2019-05-28 一种程序缺陷检测方法及装置

Publications (2)

Publication Number Publication Date
CN110633204A true CN110633204A (zh) 2019-12-31
CN110633204B CN110633204B (zh) 2020-05-05

Family

ID=68968410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910450219.4A Active CN110633204B (zh) 2019-05-28 2019-05-28 一种程序缺陷检测方法及装置

Country Status (1)

Country Link
CN (1) CN110633204B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112658454A (zh) * 2020-12-09 2021-04-16 清华大学 一种电子束熔丝沉积缺陷在线检测系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697144A (zh) * 2009-10-28 2010-04-21 中兴通讯股份有限公司 一种软件测试方法及测试装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697144A (zh) * 2009-10-28 2010-04-21 中兴通讯股份有限公司 一种软件测试方法及测试装置
WO2011050657A1 (zh) * 2009-10-28 2011-05-05 中兴通讯股份有限公司 一种软件测试方法及测试装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JEFFREY VOAS等: "Using assertions to make untestable software more testable", 《IEEE》 *
黄晖等: "基于动态符号执行的二进制程序缺陷发现系统", 《计算机应用研究》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112658454A (zh) * 2020-12-09 2021-04-16 清华大学 一种电子束熔丝沉积缺陷在线检测系统及方法

Also Published As

Publication number Publication date
CN110633204B (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
CN110704297B (zh) 代码评审方法、装置、计算机设备及存储介质
CN110704304B (zh) 一种应用程序测试方法、装置、存储介质和服务器
JP7404839B2 (ja) ソフトウェアプログラム不良位置の識別
CN112925524A (zh) 一种检测驱动程序中不安全直接存储器访问的方法及装置
CN111198811A (zh) 一种页面自动化测试的方法、装置、电子设备及存储介质
CN111382077B (zh) 应用程序崩溃原因定位方法、装置、电子设备及存储介质
CN110633204B (zh) 一种程序缺陷检测方法及装置
CN114238980A (zh) 一种工控设备漏洞挖掘方法、系统、设备及存储介质
JP2013218492A (ja) ソフトウェアテスト自動評価装置および方法
CN116431522A (zh) 一种低代码对象存储网关自动化测试方法及系统
CN117171741A (zh) 代码缺陷分析方法及装置
JP2020126603A (ja) 自動候補修正パッチ生成
CN113722238B (zh) 一种实现对源码文件快速开源成分检测的方法和系统
CN115391230A (zh) 一种测试脚本生成、渗透测试方法、装置、设备及介质
CN113127874A (zh) 内网敏感信息处理方法及装置
US10803219B1 (en) Method and system for combined formal static analysis of a design code
CN113946828A (zh) 一种工业控制系统的漏洞扫描方法及漏洞扫描装置
CN112580334A (zh) 一种文案处理方法、装置、服务器及存储介质
CN112148581A (zh) 代码规范检查方法、装置、系统及存储介质
CN111752823A (zh) 一种车载电源应用软件的测试方法、装置及设备
CN111026631A (zh) 接口自动化检测方法、装置和服务器
CN110716855B (zh) 处理器指令集测试方法及装置
CN116483377B (zh) 一种代码检测方法、装置、电子设备及存储介质
US20220100732A1 (en) Big data regression verification method and big data regression verification apparatus
CN111611153B (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