CN109635568A - 一种基于静态分析和模糊测试相结合的并发漏洞检测方法 - Google Patents
一种基于静态分析和模糊测试相结合的并发漏洞检测方法 Download PDFInfo
- Publication number
- CN109635568A CN109635568A CN201811419816.2A CN201811419816A CN109635568A CN 109635568 A CN109635568 A CN 109635568A CN 201811419816 A CN201811419816 A CN 201811419816A CN 109635568 A CN109635568 A CN 109635568A
- Authority
- CN
- China
- Prior art keywords
- concurrent
- loophole
- program
- thread
- priority
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于静态分析和模糊测试相结合的并发漏洞检测方法,包括:静态分析并发程序源代码,标记并发程序中与并发漏洞相关的敏感操作及敏感操作的执行顺序;在标记的敏感操作周围插入线程优先级强制调度代码,将插入线程优先级强制调度代码的源代码编译为可执行程序;在模糊测试可执行程序的过程中,利用线程优先级强制调度机制调度敏感操作按照执行顺序执行,使其触发并发漏洞;并发漏洞被触发之后,进行漏洞验证。本发明通过强制调度线程优先级,使得模糊测试中始终按照触发并发漏洞的执行顺序执行,增加了并发漏洞被触发几率;采取线程的优先级随机化调度,使得模糊测试在测试多线程程序时,主动遍历所有的线程之间优先级的可能情况。
Description
技术领域
本发明属于软件安全领域,更具体地,涉及一种基于静态分析和模糊测试相结合的并发漏洞检测方法。
背景技术
随着计算机向多核高并发计算的方向发展,利用多核的并发程序越来越多。虽然并发程序能极大地利用多核提升算力,但其自身也被由并发引起的漏洞的问题所困扰。众所周知,并发引起的漏洞不同于传统单线程下的漏洞,其具有难发现、难重复的特点,一直以来是软件漏洞检测方面的关键问题和难题。
目前几乎所有科技公司在发布软件之前都会用模糊测试或者近似的方式来测试待测软件,看其是否会在其过程中崩溃或者产生异常行为。模糊测试一直是发掘软件漏洞非常有效的手段之一。其能高效率地反复执行程序,并且不断修改执行程序时的输入,目标使得程序各部分都能被执行到。
然而,模糊测试本身由于对程序并发的线程并无感知,使得其在检测并发漏洞时十分低效,并且并发漏洞由于其自身也有难检测,难重现的特点,使其很难与模糊测试相结合。
发明内容
针对现有技术的缺陷,本发明的目的在于解决现有技术中由于模糊测试对并发程序的线程调度没有感知导致在检测并发漏洞方面十分低效的技术问题。
为实现上述目的,第一方面,本发明实施例提供了一种基于静态分析和模糊测试相结合的并发漏洞检测方法,该方法包括以下步骤:
S1.静态分析并发程序源代码,在源代码中标记并发程序中与并发漏洞相关的敏感操作及敏感操作的执行顺序;
S2.编译过程中,在标记的敏感操作周围插入线程优先级强制调度代码,将插入线程优先级强制调度代码的汇编代码编译为可执行程序;
S3.在模糊测试可执行程序的过程中,利用线程优先级强制调度机制调度敏感操作按照执行顺序执行,使其触发并发漏洞;
S4.并发漏洞被触发之后,使用触发并发漏洞的输入去重新运行可执行程序,并根据此进行漏洞验证。
具体地,步骤S1包括以下子步骤:
S101.查找待检测并发程序源代码中被不同线程共享的共享变量;
S102.在所述共享变量的基础上,构建这些变量依赖关系的数据流;
S103.标记所述数据流上可能引发并发漏洞的敏感操作;
S104.根据并发关系合并数据流;
S105.将所述敏感操作根据并发漏洞的类型进行分类;
S106.对于每种类型的并发漏洞,确定触发该类型并发漏洞的敏感操作执行顺序。
具体地,在步骤S2中,还可以插入优先级随机化代码。
具体地,步骤S3包括以下子步骤:
S301.在模糊测试中,标记可执行程序中的不同线程;
S302.每当执行到某个线程时,将其优先级设置为最低或者最高,并且记录下执行的情况;
S303.根据全局所有线程优先级设置的情况,自动调整尚未被测试到的线程的优先级,并且安排相应的线程的优先级去测试那些尚未被测试到的情况。
具体地,步骤S4具体为:根据触发漏洞的程序输入,以及静态检测得到的敏感操作执行顺序,重新执行这个程序,看能否重现异常行为,若异常行为被重现,则可以确认这个漏洞的真实性,否则,则存疑。
第二方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的并发漏洞检测方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
1.本发明通过静态分析源代码,发现与并发漏洞相关的敏感操作及敏感操作的执行顺序,通过强制调度模糊测试的线程优先级,使得模糊测试中始终按照能触发并发漏洞的执行顺序执行,进而极大地增加了并发漏洞在模糊测试过程中被触发的几率。
2.本发明采取将线程的优先级随机化调度引入模糊测试的方法,使得模糊测试在测试多线程程序时,能够主动地去遍历所有的线程之间优先级的可能情况,从而使得模糊测试能够有效地探。
附图说明
图1为本发明实施例提供的一种基于静态分析和模糊测试相结合的并发漏洞检测方法流程图;
图2为本发明实施例提供的步骤S1的子步骤示意图;
图3为本发明实施例提供的线程优先级强制调度过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的整体思路在于,针对由并发引起的漏洞区别于一般在单线程情况下出现的漏洞,只可能在多线程程序中出现。本发明先使用静态扫描发现并发程序中潜在的并发的敏感操作,再对这些并发敏感操作按照并发漏洞类型进行分类。再利用模糊测试插桩去触发这些并发漏洞。在模糊测试阶段,本发明提出了模糊测试和线程优先级强制调度相结合的方式。具体而言,在模糊测试过程中通过随机化线程的优先级使得模糊测试能探索更多的线程优先级强制调度情况,以及在潜在漏洞点,通过强制调度线程来触发漏洞。使得模糊测试在检测并发程序方面更加高效。
如图1所示,一种基于静态分析和模糊测试相结合的并发漏洞检测方法,该方法包括以下步骤:
S1.静态分析并发程序源代码,在源代码中标记并发程序中与并发漏洞相关的敏感操作及敏感操作的执行顺序;
S2.编译过程中,在标记的敏感操作周围插入线程优先级强制调度代码,将插入线程优先级强制调度代码的汇编代码编译为可执行程序;
S3.在模糊测试可执行程序的过程中,利用线程优先级强制调度机制调度敏感操作按照执行顺序执行,使其触发并发漏洞;
S4.并发漏洞被触发之后,使用触发并发漏洞的输入去重新运行可执行程序,并根据此进行漏洞验证。
在步骤S2中,还可以插入优先级随机化代码。
优先级随机化代码可随机化线程的优先级,这样在模糊测试运行的过程中,使得不同线程的优先级随着模糊测试的进行而改变,每次执行时线程的优先级不同,从而模糊测试能探索更多的线程优先级强制调度以及在潜在漏洞点,加大了模糊测试探索线程调度的能力。
步骤S1.静态分析并发程序源代码,在源代码中标记并发程序中与并发漏洞相关的敏感操作及敏感操作的执行顺序。如图2所示,步骤S1具体包括以下子步骤:
S101.查找待检测并发程序源代码中被不同线程共享的共享变量。
利用静态分析工具提取程序控制流、数据流。对于并发程序,进行并发数据流的分析,与传统数据流分析不同的是,只关注可能被不同线程访问的共享变量的数据流。如图2所示,共享变量为:target,a,a1,b,b1。
S102.在所述共享变量的基础上,构建这些变量依赖关系的数据流。
如图2所示,可以构建两条数据流,分别是target->a->a1和target->b->b1。
S103.标记所述数据流上可能引发并发漏洞的敏感操作。
对于每个共享变量的数据流,在这些数据流上进行与漏洞相关的敏感操作的标记。如图2所示,在a1(第四行)处有一个敏感操作,即free,在b1处(第9行)有另外一个敏感操作,即printf操作,将这两个敏感操作标记在上述的数据流中,故现在这两条数据流变成了target->a->a1(free,line:4)和target->b->b1(printf,line:9)。
S104.根据并发关系合并数据流。
如图2所示,当发现这两条数据流有一个共同的父节点,target,则这两条数据流便可以合并为:a1(free,line:4)<-a<-target->b->b1(printf,line:9)。
S105.将所述敏感操作根据并发漏洞的类型进行分类。
并发漏洞存在多种类型,例如,并发缓冲区溢出,use-after-free等。如图2所示,有两个相互并发的敏感操作,且这两个敏感操作都作用于同一块共享变量(即target),其中一个是free,另外一个是printf,故造成一个并发的use-after-free漏洞。
S106.对于每种类型的并发漏洞,确定触发该类型并发漏洞的敏感操作执行顺序。
触发该类型并发漏洞的敏感操作执行顺序使得程序按照这个顺序下执行时,并发漏洞以很大概率被触发。如图2所示,若printf操作在free操作之后执行,则很大概率会触发一个use-after-free漏洞。
步骤S2.编译过程中,在标记的敏感操作周围插入线程优先级强制调度代码,将插入线程优先级强制调度代码的汇编代码编译为可执行程序。
将程序编译为可执行程序,以对其进行模糊测试。在编译过程中,这些标记的敏感操作和敏感操作的顺序、线程优先级强制调度代码会在适当的位置被插入进去,得到一个总的汇编代码,这个过程又被成为“插桩”。汇编代码进一步翻译得到可执行程序。
步骤S3.在模糊测试可执行程序的过程中,利用线程优先级强制调度机制调度敏感操作按照执行顺序执行,使其触发并发漏洞。其具体步骤如下:
S301.在模糊测试中,标记可执行程序中的不同线程。
S302.每当执行到某个线程时,将其优先级设置为最低或者最高,并且记录下执行的情况。
S303.根据全局所有线程优先级设置的情况,自动调整尚未被测试到的线程的优先级,并且安排相应的线程的优先级去测试那些尚未被测试到的情况。
在模糊测试的过程中,标记的敏感操作一定会按照既定的顺序来执行,即以很大概率去触发目标漏洞。若某个漏洞在模糊测试中被触发,主要表现为程序崩溃等异常行为。通过线程优先级强制调度的方式来增加触发这些并发漏洞的可能性。比如模糊测试的第一次执行有三个线程,其优先级分别为低低低,则当第二次执行的时候,就不会重复以这个优先级的排列方式去执行,而是会尽量去覆盖没有被执行的情况。即如果有3个线程,则是2的3次方,即8种可能。这8种可能都被覆盖到了之后,再从头开始。
如图3所示,如果有一对敏感操作A和B,只有当A先于B运行时,漏洞才可能被触发。如果程序先运行到了B时,通过将其优先级降到最低的方式来暂缓它的运行;只有当程序运行到A时,我们通过插桩的代码来恢复B的优先级使得B能够被恢复运行。反之,如果程序先运行到了A,则说明这次执行符合既定的顺序,则不必加入调度,这样就使得这些敏感操作能够按照之前静态分析所确定的顺序执行,从而总体上保证并发漏洞能够被触发。
步骤S4.并发漏洞被触发之后,使用触发并发漏洞的输入去重新运行可执行程序,并根据此进行漏洞验证。
当程序崩溃等异常行为,造成这种行为的不一定是这个漏洞。故为了严谨起见,需要利用触发漏洞后的程序的输入去重新运行,希望能重现这个异常行为,如果能重现就说明,造成异常行为的是这个漏洞,反之则不一定。
漏洞在模糊测试阶段被触发之后,会产生触发这个漏洞时的程序输入,将这个输入保留,作为验证漏洞真实性的主要依据。根据触发漏洞的程序输入,以及静态检测得到的敏感操作执行顺序,重新执行这个程序,看能否重现异常行为,若异常行为被重现,则可以确认这个漏洞的真实性,否则,则存疑。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种基于静态分析和模糊测试相结合的并发漏洞检测方法,其特征在于,该方法包括以下步骤:
S1.静态分析并发程序源代码,在源代码中标记并发程序中与并发漏洞相关的敏感操作及敏感操作的执行顺序;
S2.编译过程中,在标记的敏感操作周围插入线程优先级强制调度代码,将插入线程优先级强制调度代码的汇编代码编译为可执行程序;
S3.在模糊测试可执行程序的过程中,利用线程优先级强制调度机制调度敏感操作按照执行顺序执行,使其触发并发漏洞;
S4.并发漏洞被触发之后,使用触发并发漏洞的输入去重新运行可执行程序,并根据此进行漏洞验证。
2.如权利要求1所述的并发漏洞检测方法,其特征在于,步骤S1包括以下子步骤:
S101.查找待检测并发程序源代码中被不同线程共享的共享变量;
S102.在所述共享变量的基础上,构建这些变量依赖关系的数据流;
S103.标记所述数据流上可能引发并发漏洞的敏感操作;
S104.根据并发关系合并数据流;
S105.将所述敏感操作根据并发漏洞的类型进行分类;
S106.对于每种类型的并发漏洞,确定触发该类型并发漏洞的敏感操作执行顺序。
3.如权利要求1所述的并发漏洞检测方法,其特征在于,在步骤S2中,还可以插入优先级随机化代码。
4.如权利要求1所述的并发漏洞检测方法,其特征在于,步骤S3包括以下子步骤:
S301.在模糊测试中,标记可执行程序中的不同线程;
S302.每当执行到某个线程时,将其优先级设置为最低或者最高,并且记录下执行的情况;
S303.根据全局所有线程优先级设置的情况,自动调整尚未被测试到的线程的优先级,并且安排相应的线程的优先级去测试那些尚未被测试到的情况。
5.如权利要求1所述的并发漏洞检测方法,其特征在于,步骤S4具体为:根据触发漏洞的程序输入,以及静态检测得到的敏感操作执行顺序,重新执行这个程序,看能否重现异常行为,若异常行为被重现,则可以确认这个漏洞的真实性,否则,则存疑。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的并发漏洞检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811419816.2A CN109635568B (zh) | 2018-11-26 | 2018-11-26 | 一种基于静态分析和模糊测试相结合的并发漏洞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811419816.2A CN109635568B (zh) | 2018-11-26 | 2018-11-26 | 一种基于静态分析和模糊测试相结合的并发漏洞检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109635568A true CN109635568A (zh) | 2019-04-16 |
CN109635568B CN109635568B (zh) | 2023-05-26 |
Family
ID=66069265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811419816.2A Active CN109635568B (zh) | 2018-11-26 | 2018-11-26 | 一种基于静态分析和模糊测试相结合的并发漏洞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109635568B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083538A (zh) * | 2019-04-28 | 2019-08-02 | 西安邮电大学 | 一种并发程序噪声注入方法 |
CN112100050A (zh) * | 2019-06-17 | 2020-12-18 | 百度(美国)有限责任公司 | 用于应用程序的漏洞驱动混合测试系统 |
CN113992433A (zh) * | 2021-12-24 | 2022-01-28 | 杭州海康威视数字技术股份有限公司 | 基于变异策略的网络设备并发模糊测试方法及装置 |
CN114491566A (zh) * | 2022-04-18 | 2022-05-13 | 中国长江三峡集团有限公司 | 一种基于代码相似性的模糊测试方法、装置及存储介质 |
CN115033472A (zh) * | 2022-04-18 | 2022-09-09 | 大连理工大学 | 基于线程循环调度顺序化的中断驱动程序模型检测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050177775A1 (en) * | 2004-01-26 | 2005-08-11 | Microsoft Corporation | Data race detection using sequential program analysis |
CN104573524A (zh) * | 2014-12-19 | 2015-04-29 | 中国航天科工集团第二研究院七〇六所 | 一种基于静态检测的模糊测试方法 |
CN105117369A (zh) * | 2015-08-04 | 2015-12-02 | 复旦大学 | 一种基于异构平台的多种并行错误检测体系架构 |
CN106529304A (zh) * | 2016-10-27 | 2017-03-22 | 南京大学 | 一种安卓应用并发漏洞检测系统 |
CN107391381A (zh) * | 2017-07-31 | 2017-11-24 | 东南大学 | 一种基于锁对象拆分策略的并发程序测试方法及其测试系统 |
CN107562616A (zh) * | 2017-07-21 | 2018-01-09 | 中国科学院信息工程研究所 | 一种uaf漏洞利用判断方法及装置 |
CN108845944A (zh) * | 2018-06-28 | 2018-11-20 | 中国人民解放军国防科技大学 | 一种结合符号执行提高软件模糊测试效率的方法 |
-
2018
- 2018-11-26 CN CN201811419816.2A patent/CN109635568B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050177775A1 (en) * | 2004-01-26 | 2005-08-11 | Microsoft Corporation | Data race detection using sequential program analysis |
CN104573524A (zh) * | 2014-12-19 | 2015-04-29 | 中国航天科工集团第二研究院七〇六所 | 一种基于静态检测的模糊测试方法 |
CN105117369A (zh) * | 2015-08-04 | 2015-12-02 | 复旦大学 | 一种基于异构平台的多种并行错误检测体系架构 |
CN106529304A (zh) * | 2016-10-27 | 2017-03-22 | 南京大学 | 一种安卓应用并发漏洞检测系统 |
CN107562616A (zh) * | 2017-07-21 | 2018-01-09 | 中国科学院信息工程研究所 | 一种uaf漏洞利用判断方法及装置 |
CN107391381A (zh) * | 2017-07-31 | 2017-11-24 | 东南大学 | 一种基于锁对象拆分策略的并发程序测试方法及其测试系统 |
CN108845944A (zh) * | 2018-06-28 | 2018-11-20 | 中国人民解放军国防科技大学 | 一种结合符号执行提高软件模糊测试效率的方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083538A (zh) * | 2019-04-28 | 2019-08-02 | 西安邮电大学 | 一种并发程序噪声注入方法 |
CN110083538B (zh) * | 2019-04-28 | 2022-09-30 | 西安邮电大学 | 一种并发程序噪声注入方法 |
CN112100050A (zh) * | 2019-06-17 | 2020-12-18 | 百度(美国)有限责任公司 | 用于应用程序的漏洞驱动混合测试系统 |
CN112100050B (zh) * | 2019-06-17 | 2023-12-29 | 百度(美国)有限责任公司 | 用于应用程序的漏洞驱动混合测试系统 |
CN113992433A (zh) * | 2021-12-24 | 2022-01-28 | 杭州海康威视数字技术股份有限公司 | 基于变异策略的网络设备并发模糊测试方法及装置 |
CN113992433B (zh) * | 2021-12-24 | 2022-03-25 | 杭州海康威视数字技术股份有限公司 | 基于变异策略的网络设备并发模糊测试方法及装置 |
CN114491566A (zh) * | 2022-04-18 | 2022-05-13 | 中国长江三峡集团有限公司 | 一种基于代码相似性的模糊测试方法、装置及存储介质 |
CN114491566B (zh) * | 2022-04-18 | 2022-07-05 | 中国长江三峡集团有限公司 | 一种基于代码相似性的模糊测试方法、装置及存储介质 |
CN115033472A (zh) * | 2022-04-18 | 2022-09-09 | 大连理工大学 | 基于线程循环调度顺序化的中断驱动程序模型检测方法 |
CN115033472B (zh) * | 2022-04-18 | 2024-03-22 | 大连理工大学 | 基于线程循环调度顺序化的中断驱动程序模型检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109635568B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109635568A (zh) | 一种基于静态分析和模糊测试相结合的并发漏洞检测方法 | |
US10379989B2 (en) | Processing apparatus, trace unit and diagnostic apparatus | |
US7962798B2 (en) | Methods, systems and media for software self-healing | |
US8954807B2 (en) | Fault-based software testing method and system | |
US20080313602A1 (en) | Bounded program failure analysis and correction | |
CN110363004B (zh) | 一种代码漏洞检测方法、装置、介质及设备 | |
JP2017102912A (ja) | 機械学習ベースのソフトウェアプログラム修復 | |
CN112817787B (zh) | 中断驱动嵌入式系统数据竞争的自动检测方法 | |
CN109255240B (zh) | 一种漏洞处理方法和装置 | |
US20150161030A1 (en) | Detecting method and system for concurrency bugs | |
WO2016127566A1 (zh) | 补丁处理方法及装置 | |
KR102118236B1 (ko) | 컨트랙트에 대한 운영 체제 지원 기법 | |
EP2713277B1 (en) | Latent defect identification | |
US20140372803A1 (en) | Apparatus and method for analyzing abnormal states of component-based system | |
CN106709335B (zh) | 漏洞检测方法和装置 | |
US9158665B2 (en) | Unit test of multi-threaded object-oriented applications using mocks | |
US8966455B2 (en) | Flow analysis in program execution | |
US10061681B2 (en) | System for discovering bugs using interval algebra query language | |
US20220335135A1 (en) | Vulnerability analysis and reporting for embedded systems | |
US8806448B2 (en) | Dynamic instrumentation method and apparatus for tracing and analyzing a program | |
Gong et al. | Who Should We Blame for Android App Crashes? An In-Depth Study at Scale and Practical Resolutions | |
CN104199778A (zh) | 测试软件注册算法错误的方法 | |
Yuan et al. | Test case generation based on program invariant and adaptive random algorithm | |
CN109445913A (zh) | 资源对象泄漏检测方法及装置 | |
CN109426601B (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 |