CN111124723A - 基于干扰变量的中断驱动型程序整数溢出模型检测方法 - Google Patents

基于干扰变量的中断驱动型程序整数溢出模型检测方法 Download PDF

Info

Publication number
CN111124723A
CN111124723A CN201911067304.9A CN201911067304A CN111124723A CN 111124723 A CN111124723 A CN 111124723A CN 201911067304 A CN201911067304 A CN 201911067304A CN 111124723 A CN111124723 A CN 111124723A
Authority
CN
China
Prior art keywords
program
interrupt
variable
integer overflow
interference
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
CN201911067304.9A
Other languages
English (en)
Other versions
CN111124723B (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.)
Beijing Sunwise Information Technology Ltd
Original Assignee
Beijing Sunwise Information Technology Ltd
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 Beijing Sunwise Information Technology Ltd filed Critical Beijing Sunwise Information Technology Ltd
Priority to CN201911067304.9A priority Critical patent/CN111124723B/zh
Publication of CN111124723A publication Critical patent/CN111124723A/zh
Application granted granted Critical
Publication of CN111124723B publication Critical patent/CN111124723B/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于干扰变量的中断驱动型程序整数溢出模型检测方法,该方法包括:对待处理程序进行解析,得到干扰变量集合;根据干扰变量集合中的干扰变量信息,对中断函数进行抽象处理,得到中断函数摘要;在主程序中插入中断函数摘要,得到顺序化后的程序;获得顺序化程序的静态单赋值形式SSA,并进行程序模型状态空间约简处理,得到约简后的程序;使用有界模型检测工具CBMC,对约简后的程序进行整数溢出检测。本发明在保证整数溢出问题检出率的前提下,不仅能够提高分析效率,还使得已有的模型检测技术能够适用于中断驱动型程序整数溢出检测。

Description

基于干扰变量的中断驱动型程序整数溢出模型检测方法
技术领域
本发明涉及一种中断驱动型程序整数溢出模型检测,特别是一种基于干扰变量的中断驱动型程序整数溢出模型检测方法。
背景技术
航天器控制功能涉及大量复杂的数学运算,其运算结果的正确性作为航天器可靠性和安全性的关键部分,不仅取决于算法所对应的数学模型正确描述,也取决于运算过程的正确性。受计算机内存和CPU等硬件环境的限制,软件中变量和数据只能使用有限字节,意味着变量和数据的取值范围是有严格要求的,运算结果一旦失真,即使是精心设计的算法也无法正确地实现相关功能。
整数溢出错误被认为是导致软件运算结果出错的重要原因之一。由于整数溢出错误往往与特殊的软件运行状态有关,只有在特定的执行条件下才会触发,传统的以测试用例生成为核心的测试技术很难覆盖所有程序执行路径,导致不能有效地暴露和检测上述错误。
另外,中断驱动型程序通常采用中断驱动机制进行设计。由于中断机制具有并发性和不确定性,即主程序与中断服务程序之间交替执行且中断服务程序能够发生在主程序执行过程中任一时刻。对于中断驱动程序的整数溢出自动检测研究不多,尚没有能够应用于一线工作的成果,目前仍以人工为主,检测结果依赖于测试人员的经验和能力。
目前对于中断驱动型程序整数溢出错误的模型检测研究尚处于不成熟阶段,方法存在一定局限。一方面,随着程序规模增大,存在状态空间爆炸问题;另一方面,已有的模型检测技术不能有效支持中断驱动型程序的整数溢出检测。极大地限制了模型检测技术在中断驱动型程序整数溢出错误检测中的工程应用。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种基于干扰变量的中断驱动型程序整数溢出模型检测方法,旨在解决已有的模型检测技术存在状态空间爆炸、且不能有效支持中断驱动型程序检测的不足。在保证中断驱动程序逻辑正确性的同时有效降低顺序化后程序规模,使得目前现有的模型检测技术能够适用于中断驱动型程序整数溢出检测。
本发明的技术解决方案是:本发明公开了一种基于干扰变量的中断驱动型程序整数溢出模型检测方法,包括:
对待处理程序进行解析,得到干扰变量集合;
根据干扰变量集合中的干扰变量信息,对中断函数进行抽象处理,得到中断函数摘要;
在主程序中插入中断函数摘要,得到顺序化后的程序;
获得顺序化程序的静态单赋值形式SSA,并进行程序模型状态空间约简处理,得到约简后的程序;
使用有界模型检测工具CBMC,对约简后的程序进行整数溢出检测。
进一步地,对待处理程序进行解析,得到干扰变量集合,包括:
对待处理程序进行解析,得到待处理程序中的全部干扰变量信息;
对得到的各干扰变量信息进行记录,直至获得所有主程序和中断函数的干扰变量信息;
根据获得的所有主程序和中断函数的干扰变量信息,构建得到干扰变量集合。
进一步地,每个干扰变量信息包括:干扰变量V、主程序上使用干扰变量V的主程序语句ST、主程序数语句ST对应的位置LOC和中断函数对应的中断向量号VEC。
进一步地,干扰变量V满足如下条件:
存在一个全局变量A,在主程序中对所述全局变量A进行读操作,在至少一个中断函数中对所述全局变量A进行写操作或读写操作。
进一步地,根据干扰变量集合中的干扰变量信息,对中断函数进行抽象处理,得到中断函数摘要,包括:
将中断函数ISR作为被调用函数进行抽象解释迭代分析,计算得到中断函数ISR上的各干扰变量值区间不变式;
根据干扰变量集合中的干扰变量信息、以及计算得到的中断函数ISR上的各干扰变量值区间不变式,生成中断函数摘要;其中,中断函数摘要包括:中断向量号VEC、干扰变量V、干扰变量值区间不变式。
进一步地,在主程序中插入中断函数摘要,得到顺序化后的程序,包括:
对干扰变量集合中的干扰变量进行遍历,并根据干扰变量集合中的中断向量号VEC找到对应的干扰变量所对应的中断函数;
将找到的中断函数所对应的中断函数摘要插入到主程序语句ST之前,完成顺序化操作,得到顺序化后的程序。
进一步地,获得顺序化程序的静态单赋值形式SSA,并进行程序模型状态空间约简处理,得到约简后的程序,包括:
对顺序化后的程序进行语法分析、循环按K边界展开、控制流分析,得到静态单赋值形式SSA的中间表示;其中,K边界表示顺序化后的程序中循环语句执行次数的上界;
对静态单赋值形式SSA中的语句集合进行遍历,选取对整数溢出变量进行写操作的语句,并记录到约束集合C中,作为约简后的程序。
进一步地,整数溢出变量为与整数溢出操作存在数据依赖关系的变量,满足如下任一条件:
(a)整数溢出断言语句中的使用变量为整数溢出变量;
(b)对于主程序语句ST,若定义干扰变量V为整数溢出变量,则使用干扰变量V均为整数溢出变量。
进一步地,使用有界模型检测工具CBMC,对约简后的程序进行整数溢出检测,包括:
对约束集合C中的语句进行合取操作,得到程序模型CM;
将待验证的整数溢出断言语句转换为整数溢出性质P;
将程序模型CM与整数溢出性质P的CNF公式进行合取操作,构成布尔公式,并编码为SAT模型;
通过SAT求解器对SAT模型进行求解;
根据SAT模型的求解结果,确定是否存在整数溢出错误。
进一步地,根据SAT模型的求解结果,确定是否存在整数溢出错误,包括:
若SAT模型有解,则确定存在整数溢出错误;否则,确定不存在整数溢出错误。
本发明与现有技术相比的优点在于:
(1)本发明基于干扰变量分析,采用了抽象解释、摘要机制对中断函数进行抽象,当遇到中断函数触发时,用计算得到的中断函数摘要替代原中断函数,不仅能够降低分析复杂度,而且能够避免对中断函数调用进行多次迭代分析,在保证中断驱动程序正确性的同时也有效降低了顺序化后程序规模,提高了分析性能。
(2)本发明提出的基于静态单赋值形式SSA的程序模型约简技术,能够保证约简后的程序模型只包含整数溢出相关的语句,使得约简后的程序模型不仅不会影响程序执行到断言语句处的状态和性质,而且有效降低验证时要遍历的状态空间数量,提高模型检测分析效率。
(3)本发明提出了将中断驱动型程序顺序化的方法,使得目前现有的模型检测技术能够适用于中断驱动型程序整数溢出检测,从而提升了方法的实用价值。
附图说明
图1为本发明实施例所述的一种基于干扰变量的中断驱动型程序整数溢出模型检测方法的流程图。
具体实施方式
参照图1,示出了本发明实施例所述的一种基于干扰变量的中断驱动型程序整数溢出模型检测方法的流程图。该基于干扰变量的中断驱动型程序整数溢出模型检测方法,包括:
步骤S1,对待处理程序进行解析,得到干扰变量集合。
在本实施例中,步骤S1具体执行流程如下:对待处理程序进行解析,得到待处理程序中的全部干扰变量信息;对得到的各干扰变量信息进行记录,直至获得所有主程序和中断函数的干扰变量信息;根据获得的所有主程序和中断函数的干扰变量信息,构建得到干扰变量集合。其中,干扰变量V满足如下条件:存在一个全局变量A,在主程序中对所述全局变量A进行读操作,在至少一个中断函数中对所述全局变量A进行写操作或读写操作。
每个干扰变量信息包括:干扰变量V、主程序上使用干扰变量V的主程序语句ST、主程序数语句ST对应的位置LOC和中断函数对应的中断向量号VEC。
步骤S2,根据干扰变量集合中的干扰变量信息,对中断函数进行抽象处理,得到中断函数摘要。
在本实施例中,步骤S2具体执行流程如下:将中断函数ISR作为被调用函数,函数体可描述为:while(true){ISR();},对以上函数进行抽象解释迭代分析,计算得到中断函数ISR上的各干扰变量值区间不变式;根据干扰变量集合中的干扰变量信息、以及计算得到的中断函数ISR上的各干扰变量值区间不变式,生成中断函数摘要。其中,中断函数摘要包括:中断向量号VEC、干扰变量V、干扰变量值区间不变式。
步骤S3,在主程序中插入中断函数摘要,得到顺序化后的程序。
在本实施例中,步骤S3具体执行流程如下:对干扰变量集合中的干扰变量进行遍历,并根据干扰变量集合中的中断向量号VEC找到对应的干扰变量所对应的中断函数;将找到的中断函数所对应的中断函数摘要插入到主程序语句ST之前,完成顺序化操作,得到顺序化后的程序。
步骤S4,获得顺序化程序的静态单赋值形式SSA,并进行程序模型状态空间约简处理,得到约简后的程序。
在本实施例中,步骤S4具体执行流程如下:对顺序化后的程序进行语法分析、循环按K边界展开、控制流分析,得到静态单赋值形式SSA的中间表示;对静态单赋值形式SSA中的语句集合进行遍历,选取对整数溢出变量进行写操作的语句,并记录到约束集合C中,作为约简后的程序。其中,K边界表示顺序化后的程序中循环语句执行次数的上界。
整数溢出变量是指与整数溢出操作存在数据依赖关系的变量,满足如下任一条件:
(a)整数溢出断言语句中的使用变量为整数溢出变量;
(b)对于主程序语句ST,若定义干扰变量V为整数溢出变量,则使用干扰变量V均为整数溢出变量。
步骤S5,使用有界模型检测工具CBMC,对约简后的程序进行整数溢出检测。
在本实施例中,步骤S4具体执行流程如下:对约束集合C中的语句进行合取操作,得到程序模型CM;将待验证的整数溢出断言语句转换为整数溢出性质P;将程序模型CM与整数溢出性质P的CNF公式进行合取操作,构成布尔公式,并编码为SAT模型;通过SAT求解器对SAT模型进行求解;根据SAT模型的求解结果,确定是否存在整数溢出错误。
若SAT模型有解,则表明存在一条错误执行路径并给出相应的反例,即存在整数溢出错误;否则,表明在K边界之内不存在整数溢出错误。
下面通过一个程序约简后的静态单赋值形式SSA具体实例进行说明。其中语句(1)~(8)为约束集合C中的语句,语句(9)为待验证的整数溢出断言语句。
(1)y0=6;
(2)x1=8;
(3)guard0=z0>10;
(4)x2=2;
(5)x3=guard0?x2:x1
(6)guard1=z0>0;
(7)x4=10;
(8)x5=guard1?x4:x3
(9)assert(x5-y0>0);
程序模型CM以及整数溢出性质P内容如下所示:
CM:=y0=6∧
x1=8∧
guard0=z0>10∧
x2=2∧
x3=guard0?x2:x1
guard1=z0>0∧
x4=10∧
x5=guard1?x4:x3
P:=x5<y0
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

Claims (10)

1.基于干扰变量的中断驱动型程序整数溢出模型检测方法,其特征在于,包括:
对待处理程序进行解析,得到干扰变量集合;
根据干扰变量集合中的干扰变量信息,对中断函数进行抽象处理,得到中断函数摘要;
在主程序中插入中断函数摘要,得到顺序化后的程序;
获得顺序化程序的静态单赋值形式SSA,并进行程序模型状态空间约简处理,得到约简后的程序;
使用有界模型检测工具CBMC,对约简后的程序进行整数溢出检测。
2.根据权利要求1所述的基于干扰变量的中断驱动型程序整数溢出模型检测方法,其特征在于,对待处理程序进行解析,得到干扰变量集合,包括:
对待处理程序进行解析,得到待处理程序中的全部干扰变量信息;
对得到的各干扰变量信息进行记录,直至获得所有主程序和中断函数的干扰变量信息;
根据获得的所有主程序和中断函数的干扰变量信息,构建得到干扰变量集合。
3.根据权利要求2所述的基于干扰变量的中断驱动型程序整数溢出模型检测方法,其特征在于,每个干扰变量信息包括:干扰变量V、主程序上使用干扰变量V的主程序语句ST、主程序数语句ST对应的位置LOC和中断函数对应的中断向量号VEC。
4.根据权利要求3所述的基于干扰变量的中断驱动型程序整数溢出模型检测方法,其特征在于,干扰变量V满足如下条件:
存在一个全局变量A,在主程序中对所述全局变量A进行读操作,在至少一个中断函数中对所述全局变量A进行写操作或读写操作。
5.根据权利要求3所述的基于干扰变量的中断驱动型程序整数溢出模型检测方法,其特征在于,根据干扰变量集合中的干扰变量信息,对中断函数进行抽象处理,得到中断函数摘要,包括:
将中断函数ISR作为被调用函数进行抽象解释迭代分析,计算得到中断函数ISR上的各干扰变量值区间不变式;
根据干扰变量集合中的干扰变量信息、以及计算得到的中断函数ISR上的各干扰变量值区间不变式,生成中断函数摘要;其中,中断函数摘要包括:中断向量号VEC、干扰变量V、干扰变量值区间不变式。
6.根据权利要求5所述的基于干扰变量的中断驱动型程序整数溢出模型检测方法,其特征在于,在主程序中插入中断函数摘要,得到顺序化后的程序,包括:
对干扰变量集合中的干扰变量进行遍历,并根据干扰变量集合中的中断向量号VEC找到对应的干扰变量所对应的中断函数;
将找到的中断函数所对应的中断函数摘要插入到主程序语句ST之前,完成顺序化操作,得到顺序化后的程序。
7.根据权利要求1所述的基于干扰变量的中断驱动型程序整数溢出模型检测方法,其特征在于,获得顺序化程序的静态单赋值形式SSA,并进行程序模型状态空间约简处理,得到约简后的程序,包括:
对顺序化后的程序进行语法分析、循环按K边界展开、控制流分析,得到静态单赋值形式SSA的中间表示;其中,K边界表示顺序化后的程序中循环语句执行次数的上界;
对静态单赋值形式SSA中的语句集合进行遍历,选取对整数溢出变量进行写操作的语句,并记录到约束集合C中,作为约简后的程序。
8.根据权利要求7所述的基于干扰变量的中断驱动型程序整数溢出模型检测方法,其特征在于,整数溢出变量为与整数溢出操作存在数据依赖关系的变量,满足如下任一条件:
(a)整数溢出断言语句中的使用变量为整数溢出变量;
(b)对于主程序语句ST,若定义干扰变量V为整数溢出变量,则使用干扰变量V均为整数溢出变量。
9.根据权利要求7所述的基于干扰变量的中断驱动型程序整数溢出模型检测方法,其特征在于,使用有界模型检测工具CBMC,对约简后的程序进行整数溢出检测,包括:
对约束集合C中的语句进行合取操作,得到程序模型CM;
将待验证的整数溢出断言语句转换为整数溢出性质P;
将程序模型CM与整数溢出性质P的CNF公式进行合取操作,构成布尔公式,并编码为SAT模型;
通过SAT求解器对SAT模型进行求解;
根据SAT模型的求解结果,确定是否存在整数溢出错误。
10.根据权利要求9所述的基于干扰变量的中断驱动型程序整数溢出模型检测方法,其特征在于,根据SAT模型的求解结果,确定是否存在整数溢出错误,包括:
若SAT模型有解,则确定存在整数溢出错误;否则,确定不存在整数溢出错误。
CN201911067304.9A 2019-11-04 2019-11-04 基于干扰变量的中断驱动型程序整数溢出模型检测方法 Active CN111124723B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911067304.9A CN111124723B (zh) 2019-11-04 2019-11-04 基于干扰变量的中断驱动型程序整数溢出模型检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911067304.9A CN111124723B (zh) 2019-11-04 2019-11-04 基于干扰变量的中断驱动型程序整数溢出模型检测方法

Publications (2)

Publication Number Publication Date
CN111124723A true CN111124723A (zh) 2020-05-08
CN111124723B CN111124723B (zh) 2023-04-14

Family

ID=70495505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911067304.9A Active CN111124723B (zh) 2019-11-04 2019-11-04 基于干扰变量的中断驱动型程序整数溢出模型检测方法

Country Status (1)

Country Link
CN (1) CN111124723B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110066783A1 (en) * 2009-09-14 2011-03-17 International Business Machines Corporation Secure Handling and Routing of Message-Signaled Interrupts
US20110179400A1 (en) * 2010-01-15 2011-07-21 Sun Microsystems, Inc. System and method for overflow detection USING PARTIAL EVALUATIONS
CN102385550A (zh) * 2010-08-30 2012-03-21 北京理工大学 一种针对软件缺陷的检测方法
CN103399780A (zh) * 2013-07-03 2013-11-20 清华大学 一种基于虚拟机技术和动态符号执行的整数溢出检测方法
CN103778062A (zh) * 2014-01-23 2014-05-07 中国人民解放军国防科学技术大学 基于抽象解释的多中断程序数据访问冲突检测方法
CN104572470A (zh) * 2015-01-26 2015-04-29 中国人民解放军理工大学 一种基于蜕变关系的整数溢出故障检测方法
CN105740149A (zh) * 2016-01-29 2016-07-06 中国人民解放军信息工程大学 基于脆弱性模型和符号执行结合的软件安全检测方法
CN109388573A (zh) * 2018-10-23 2019-02-26 北京轩宇信息技术有限公司 一种无漏报的中断驱动型程序运行时错误检测方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110066783A1 (en) * 2009-09-14 2011-03-17 International Business Machines Corporation Secure Handling and Routing of Message-Signaled Interrupts
US20110179400A1 (en) * 2010-01-15 2011-07-21 Sun Microsystems, Inc. System and method for overflow detection USING PARTIAL EVALUATIONS
CN102385550A (zh) * 2010-08-30 2012-03-21 北京理工大学 一种针对软件缺陷的检测方法
CN103399780A (zh) * 2013-07-03 2013-11-20 清华大学 一种基于虚拟机技术和动态符号执行的整数溢出检测方法
CN103778062A (zh) * 2014-01-23 2014-05-07 中国人民解放军国防科学技术大学 基于抽象解释的多中断程序数据访问冲突检测方法
CN104572470A (zh) * 2015-01-26 2015-04-29 中国人民解放军理工大学 一种基于蜕变关系的整数溢出故障检测方法
CN105740149A (zh) * 2016-01-29 2016-07-06 中国人民解放军信息工程大学 基于脆弱性模型和符号执行结合的软件安全检测方法
CN109388573A (zh) * 2018-10-23 2019-02-26 北京轩宇信息技术有限公司 一种无漏报的中断驱动型程序运行时错误检测方法和系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BASTIAN SCHLICH 等: "Reduction of interrupt handler executions for model checking embedded software", 《PROC. OF THE 5TH INT’L HAIFA VERIFICATION CONF. ON HARDWARE AND SOFTWARE: VERIFICATION AND TESTING (HVC 2009)》 *
XUEGUANG WU 等: "Data Race Detection for Interrupt-Driven Programs via Bounded Model Checking", 《PROC. OF THE 7TH INT’L CONF. ON SOFTWARE SECURITY AND RELIABILITY COMPANION (SERE 2013)》 *
吴学光等: "多重中断C程序中数据竞争及原子性检测", 《计算机科学与探索》 *
段永颢等: "基于启发式的静态中断数据竞争检测方法", 《计算机工程与设计》 *

Also Published As

Publication number Publication date
CN111124723B (zh) 2023-04-14

Similar Documents

Publication Publication Date Title
US7320114B1 (en) Method and system for verification of soft error handling with application to CMT processors
Hoskote et al. Coverage estimation for symbolic model checking
US7844953B2 (en) Program, apparatus and method for verifying program
US7647572B1 (en) Managing formal verification complexity of designs with multiple related counters
US8572527B1 (en) Generating properties for circuit designs
WO2000079421A2 (en) Property coverage in formal verification
US20170010957A1 (en) Method for Multithreaded Program Output Uniqueness Testing and Proof-Generation, Based on Program Constraint Construction
Kim et al. A comparative study of software model checkers as unit testing tools: An industrial case study
CN108491317B (zh) 一种基于指令脆弱性分析的sdc错误检测方法
US20080008021A1 (en) Method for recognizing and verifying fifo structures in integrated circuit designs
JP3822044B2 (ja) 設計検証システム、設計検証方法および設計検証プログラムを格納したコンピュータ読取り可能な記録媒体
US10635767B2 (en) Glitch detection at clock domain crossing
CN111124723B (zh) 基于干扰变量的中断驱动型程序整数溢出模型检测方法
US7428712B1 (en) Design optimization using approximate reachability analysis
CN115268853A (zh) 一种基于约束求解器的自动形式验证方法与装置
Hoskote Formal techniques for verification of synchronous sequential circuits
Hunt et al. Verifying the FM9801 microarchitecture
US7130784B2 (en) Logic simulation
US11023357B1 (en) Method and system for sequential equivalence checking
EP3553681B1 (en) Method and apparatus for error test coverage determination for a circuit by simulation
Malburg et al. Tuning dynamic data flow analysis to support design understanding
US8539403B2 (en) Reducing observability of memory elements in circuits
CN112765917A (zh) 基于内存回收方案的非阻塞算法的形式化验证方法
Ferreira et al. Compiler optimizations impact the reliability of the control-flow of radiation-hardened software
Aidemark et al. Path-based error coverage prediction

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