CN104156311A - 一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法 - Google Patents

一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法 Download PDF

Info

Publication number
CN104156311A
CN104156311A CN201410381755.0A CN201410381755A CN104156311A CN 104156311 A CN104156311 A CN 104156311A CN 201410381755 A CN201410381755 A CN 201410381755A CN 104156311 A CN104156311 A CN 104156311A
Authority
CN
China
Prior art keywords
output
address
cpu simulator
file
tested
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
CN201410381755.0A
Other languages
English (en)
Other versions
CN104156311B (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 Institute of Control Engineering
Original Assignee
Beijing Institute of Control Engineering
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 Institute of Control Engineering filed Critical Beijing Institute of Control Engineering
Priority to CN201410381755.0A priority Critical patent/CN104156311B/zh
Publication of CN104156311A publication Critical patent/CN104156311A/zh
Application granted granted Critical
Publication of CN104156311B publication Critical patent/CN104156311B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于CPU模拟器的嵌入式C语言目标码级单元测试方法。本发明采用CPU模拟器技术,解决了不同嵌入式处理器的目标码在通用PC机上的执行问题,使得可以在通用PC机上进行嵌入式C语言目标码级的单元测试,本发明利用CPU模拟器,配合测试驱动程序的编写约定,实现了被测函数目标码覆盖率的自动记录和输出,能够统计测试用例执行的目标码语句和分支覆盖率。本与现有技术相比,本发明保证被测试的C语言目标码与真实处理器上执行的目标码一致,确保了测试结果的有效性,同时与现有的C语言单元测试工具结合可以构建自动化的嵌入式C语言目标码级单元测试解决方案。

Description

一种基于CPU模拟器的嵌入式C语言目标码级单元测试方法
技术领域
本发明涉及一种嵌入式C语言单元测试方法,尤其涉及一种基于CPU模拟器的嵌入式C语言目标码级单元测试方法,属于计算机软件检测技术领域。
背景技术
单元测试目的是完成对软件的最小设计单元进行验证,充分的单元测试对发现软件中的缺陷,以及定位和排除这些缺陷都相对比较容易,所花的成本最小,这是因为单元测试中只包含较少的软件代码,所以软件缺陷比较容易隔离出来,因此对于排除软件缺陷,单元测试是最有效的一类测试。经验表明,单元测试具有不可替代的重要性,这个阶段发现的问题有相当大的一部分是在其后的测试阶段中很难发现的。
对于安全性和可靠性要求较高的嵌入式系统,单元测试是软件开发过程中的重要环节,日益受到软件设计师的重视。C语言目前仍是嵌入式软件开发的主流编程语言。C语言等高级语言编写的程序不能直接在目标系统上运行,其必须经过编译器的编译生成特定处理器的目标码才可以执行。而由于编译器的解释、优化等因素,使得编译器产生的目标码的控制流结构多少会与源代码不一致,二者之间控制流结构的不同在测试过程中会产生较大的差异。因此,仅对高级语言源代码验证并不能保证目标码执行的正确性。
目前,很多安全性和可靠性要求高的软件,都要求进行目标码级的验证。目标码验证确保真正在处理器上执行的代码是正确的,并建议在单元测试阶段就开始进行目标码验证,在开发阶段的早期识别出目标码和源代码结构覆盖的差异/不足,通过设计针对性的测试用例来对目标码进行验证。
针对嵌入式C语言的单元测试方案一般是手工或者利用C语言单元测试工具,如CANTATA、TestBed TBRun、Rational TestRealTime等辅助编写测试C语言函数用的测试驱动程序,然后利用PC机上的x86C语言编译器将测试驱动程序编译成可执行程序,执行该程序后,查看结果和统计C语言级的覆盖率。利用这种方法,被测试的程序实际是编译后的x86处理器上的程序,如果目标机的处理器与x86处理器不同,则测试的程序并不是真实的目标程序。目前,嵌入式系统的中使用的处理器多为TSC695、8051、C3X、PowerPC等不同于x86的处理器。因此,利用上述方法由于实际测试的目标码不同于真实的目标码,测试结果只对C语言源代码级的程序有效,而不能保证对真实的目标码有效。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供一种基于CPU模拟器的嵌入式C语言目标码级单元测试方法,该方法利用CPU模拟器解决被测的真实目标码在宿主机(通用PC机)上的运行以及目标码覆盖率统计问题。
本发明的技术解决方案是:一种基于CPU模拟器的嵌入式C语言目标码级单元测试方法,步骤如下:
(1)利用C语言单元测试工具生成被测程序的测试驱动程序;
(2)调用与目标处理器对应的嵌入式C语言编译器,将测试驱动程序编译成目标处理器运行的带调试信息的目标码;
(3)调用与目标处理器对应的CPU模拟器软件运行带调试信息的目标码,生成输出端口输出文件、反汇编程序和覆盖率文件;
(4)利用结果及覆盖率分析工具对CPU模拟器软件生成的输出端口输出文件、反汇编程序和覆盖率文件进行分析,获得测试结果和测试覆盖信息。
步骤(1)中测试驱动程序的基本结构包括将被测函数名称赋值给一个全局变量tested_proc_name的句柄、测试用例输入句柄Input_handle、调用被测函数test_proc句柄、测试结果输出句柄Output_handle和调用退出点函数EXIT_POINT句柄。
所述步骤(3)中的CPU模拟器软件为一个命令行程序,包括3个参数:
参数1:为输出信息的地址,为16进制,记为OUT_PORT;
参数2:为目标码的全路径名,记为Target_File;
参数3:为输出结果保存的路径,记为Out_Path;
CPU模拟器软件的工作过程为:
(1)CPU模拟器软件解析带调试信息的目标码,从带调试信息的目标码的路径Target_File中,获得EXIT_POINT函数的地址并记录在Stop_Addr变量中;获得tested_proc_name变量的地址并记录在ProcPointer变量中;
(2)CPU模拟器软件逐条执行Target_File中的目标码指令;
(3)在执行目标码的过程中,CPU模拟器软件监视输出信息的地址OUT_PORT,当该地址有输出时,在输出缓冲中记下输出值,当输出值为0时,将输出缓冲中记录的值输出到文件中,并清除输出缓冲;
(4)在执行目标码的过程中,CPU模拟器软件监视ProcPointer存储的tested_proc_name变量的地址,当tested_proc_name变量被写入时,获得写入的值,写入的值为包含被测函数名称的字符串地址,根据字符串地址获得被测函数名称的字符串,根据被测函数名称从调试信息中获得被测函数的开始地址和结束地址,并记录在开始地址Func_Start_Addr和结束地址Func_End_Addr中,CPU模拟器软件记录开始地址Func_Start_Addr和结束地址Func_End_Addr之间的语句和分支覆盖信息;
(5)在执行目标码的过程中,CPU模拟器软件监视当前运行的PC指针,当PC指针不等于Stop_Addr时,返回执行步骤(2),当PC指针等于Stop_Addr时,CPU模拟器软件停止运行,输出被测试函数的反汇编语句到文件中、输出被测试函数的覆盖率信息到文件中、输出OUT_PORT端口到文件中,三个文件保存在Out_Path目录中。
本发明与现有技术相比的优点在于:本发明充分利用现有的常用C语言单元测试工具的功能,构建自动化的嵌入式C语言目标码级单元测试解决方案。例如,步骤(1)可利用商用C语言单元测试工具都提供的测试驱动程序的辅助生成功能。步骤(2)可利用现有的商用C语言单元测试工具都提供的调用编译器编译源代码的功能;步骤(3)可利用现有的商用C语言单元测试工具都提供的调用程序执行的功能。针对不同的目标处理器只需要开发对应的CPU模拟器软件。利用商用C语言单元测试工具和CPU模拟器软件就可以形成自动化的嵌入式C语言目标码级单元测试解决方案。
本发明采用CPU模拟器技术,解决了不同嵌入式处理器的目标码在通用PC机上的执行问题,使得可以在通用PC机上进行嵌入式C语言目标码级的单元测试,本发明利用CPU模拟器,配合测试驱动程序的编写约定,实现了被测函数目标码覆盖率的自动记录和输出,能够统计测试用例执行的目标码语句和分支覆盖率。
本发明利用CPU模拟器运行被测试的真实目标码,并利用CPU模拟器输出运行时的目标码覆盖率信息,可以在宿主机(通用PC机)上进行C语言目标码级的单元测试。与现有技术相比,本发明保证被测试的C语言目标码与真实处理器上执行的目标码一致,确保了测试结果的有效性,同时与现有的C语言单元测试工具结合可以构建自动化的嵌入式C语言目标码级单元测试解决方案。
附图说明
图1是本发明的流程示意图;
图2是CPU模拟器软件执行的流程示意图;
图3是输出端口OUT_PORT地址监视的流程示意图;
图4是函数地址ProcPointer地址监视的流程示意图。
具体实施方式
如图1所述,本发明的实现方法为:
(1)利用C语言单元测试工具生成被测程序的测试驱动程序;
(2)调用与目标处理器对应的嵌入式C语言编译器,将测试驱动程序编译成目标处理器运行的带调试信息的目标码;
(3)调用与目标处理器对应的CPU模拟器软件运行带调试信息的目标码,生成输出端口输出文件、反汇编程序和覆盖率文件;
(4)利用结果及覆盖率分析工具对CPU模拟器软件生成的输出端口输出文件、反汇编程序和覆盖率文件进行分析,获得测试结果和测试覆盖信息。
步骤(1)中测试驱动程序的基本结构包括将被测函数名称赋值给一个全局变量tested_proc_name、测试用例输入Input_handle、调用被测函数test_proc、测试结果输出Output_handle和调用退出点函数EXIT_POINT。
步骤(3)中的CPU模拟器软件为一个命令行程序,包括3个参数:
参数1:为输出信息的地址,为16进制,记为OUT_PORT;
参数2:为目标码的全路径名,记为Target_File;
参数3:为输出结果保存的路径,记为Out_Path;
CPU模拟器软件的工作过程为:
(a)CPU模拟器软件解析带调试信息的目标码,从带调试信息的目标码的路径Target_File中,获得EXIT_POINT函数的地址并记录在Stop_Addr变量中;获得tested_proc_name变量的地址并记录在ProcPointer变量中;
(b)CPU模拟器软件逐条执行Target_File中的目标码指令;
(c)如图3所示,在执行目标码的过程中,CPU模拟器软件监视输出信息的地址OUT_PORT,当该地址有输出时,在输出缓冲中记下输出值,当输出值为0时,将输出缓冲中记录的值输出到文件中,并清除输出缓冲;
(d)如图4所示,在执行目标码的过程中,CPU模拟器软件监视ProcPointer存储的tested_proc_name变量的地址,当tested_proc_name变量被写入时,获得写入的值,写入的值为包含被测函数名称的字符串地址,根据字符串地址获得被测函数名称的字符串,根据被测函数名称从调试信息中获得被测函数的开始地址和结束地址,并记录在开始地址Func_Start_Addr和结束地址Func_End_Addr中,CPU模拟器软件记录开始地址Func_Start_Addr和结束地址Func_End_Addr之间的语句和分支覆盖信息;
(e)在执行目标码的过程中,CPU模拟器软件监视当前运行的PC指针,当PC指针不等于Stop_Addr时,返回执行步骤(b),当PC指针等于Stop_Addr时,CPU模拟器软件停止运行,输出被测试函数的反汇编语句到文件中、输出被测试函数的覆盖率信息到文件中、输出OUT_PORT端口到文件中,三个文件保存在Out_Path目录中。
在下面结合实例来进一步说明本发明的技术方案,在以下的说明中,将针对TSC695处理器上执行的C语言程序说明目标码级的单元测试方法。
被测函数的示例如下:
该函数的名称为add_proc,输入参数为两个单精度浮点数,功能为执行两个单精度浮点数的加,并返回。
步骤(1):编写测试驱动程序的示例如下:
该测试驱动程序中具有约定语句:
1)tested_proc_name="add_proc";对tested_proc_name变量的赋值语句。
2)EXIT_POINT();退出空函数的调用语句。
为了方便记录测试结果,在测试驱动程序中增加了info_output这样一个输出函数。该函数向0xE000地址输出字符串,并以0为输出结束标志。
步骤(2):调用支持TSC695处理器的GCC C语言编译器,将测试驱动程序编译为带调试信息的目标码,目标文件名为a.out。
步骤(3):调用TSC796处理器的CPU模拟软件。
调用已开发的TSC695处理器的CPU模拟器软件,软件名称为Sim695.exe。它是一个命令行程序,其参数包括3个。
参数1:为输出信息的地址,为16进制,记为OUT_PORT;
参数2:为目标码的全路径名,记为Target_File;
参数3:为输出结果保存的路径,记为Out_Path。
Sim695.exe运行结束后,会在Out_Path目录下生成四个文件,分别为:
1)disassemble.txt为被测函数的反汇编文件;
2)coverage.cov为被测函数执行后的覆盖率文件;
3)outInfo.txt为out_port地址的输出信息文件。
调用Sim695.exe执行目标文件。命令调用为:
Sim695.exe0xE000a.out c:\out_path
其中0xE000为输出信息的地址;a.out为目标文件名;c:\out_path为输出文件名。
Sim695.exe执行结束后,在c:\out_path目录下生成三个文件,分别为:
disassemble.txt为被测函数add_proc的反汇编文件;
在disassemble.txt反汇编文件中的函数名称为add_proc,反汇编文件中第一行对应的地址为0x2001518,第二行对应的地址为0x200151C,….,其中第8行对应的地址为0x2001534,并且该地址的语句是一个分支语句。
根据这个文件可以统计出被测函数中总的目标码语句数和分支数。
coverage.cov为被测函数执行后的覆盖率文件;
覆盖率文件的具体格式如下:
1)覆盖率文件是一个DWORD类型数组的存储。
2)每个DWORD的值与0xFFFFFFFC0为执行过的地址;
3)DWORD&0x3!=0x0表示该地址为一个条件跳转;
4)DWORD&0x1==0x1表示执行了条件跳转的真分支;
5)DWORD&0x2==0x2表示执行了条件跳转的假分支。
根据这个文件中,可以统计出测试驱动程序执行后,被测函数执行过的目标码语句数和分支数,并根据被测函数中总目标码语句数和分支数,获得本次执行的目标码语句和分支覆盖率。
outInfo.txt为out_port地址的输出信息。
该文件记录了从0xE000地址输出的字符串。可以用于记录测试状态,分析测试结果。在以上示例中,记录了测试用例的输入和输出,可用于分析测试用例执行结果是否通过。
步骤(4)通过分析disassemble.txt、disassemble.txt.line、coverage.cov、outInfo.txt文件,可以得到测试用例是否通过的结论,以及测试用例执行后的目标码级的语句和分支覆盖率。
以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

Claims (3)

1.一种基于CPU模拟器的嵌入式C语言目标码级单元测试方法,其特征在于步骤如下:
(1)利用C语言单元测试工具生成被测程序的测试驱动程序;
(2)调用与目标处理器对应的嵌入式C语言编译器,将测试驱动程序编译成目标处理器运行的带调试信息的目标码;
(3)调用与目标处理器对应的CPU模拟器软件运行带调试信息的目标码,生成输出端口输出文件、反汇编程序和覆盖率文件;
(4)利用结果及覆盖率分析工具对CPU模拟器软件生成的输出端口输出文件、反汇编程序和覆盖率文件进行分析,获得测试结果和测试覆盖信息。
2.根据权利要求1所述的一种基于CPU模拟器的嵌入式C语言目标码级单元测试方法,其特征在于:步骤(1)中测试驱动程序的基本结构包括将被测函数名称赋值给一个全局变量tested_proc_name的句柄、测试用例输入句柄Input_handle、调用被测函数test_proc句柄、测试结果输出句柄Output_handle和调用退出点函数EXIT_POINT句柄。
3.根据权利要求1所述的一种基于CPU模拟器的嵌入式C语言目标码级单元测试方法,其特征在于:所述步骤(3)中的CPU模拟器软件为一个命令行程序,包括3个参数:
参数1:为输出信息的地址,为16进制,记为OUT_PORT;
参数2:为目标码的全路径名,记为Target_File;
参数3:为输出结果保存的路径,记为Out_Path;
CPU模拟器软件的工作过程为:
(a)CPU模拟器软件解析带调试信息的目标码,从带调试信息的目标码的路径Target_File中,获得EXIT_POINT函数的地址并记录在Stop_Addr变量中;获得tested_proc_name变量的地址并记录在ProcPointer变量中;
(b)CPU模拟器软件逐条执行Target_File中的目标码指令;
(c)在执行目标码的过程中,CPU模拟器软件监视输出信息的地址OUT_PORT,当该地址有输出时,在输出缓冲中记下输出值,当输出值为0时,将输出缓冲中记录的值输出到文件中,并清除输出缓冲;
(d)在执行目标码的过程中,CPU模拟器软件监视ProcPointer存储的tested_proc_name变量的地址,当tested_proc_name变量被写入时,获得写入的值,写入的值为包含被测函数名称的字符串地址,根据字符串地址获得被测函数名称的字符串,根据被测函数名称从调试信息中获得被测函数的开始地址和结束地址,并记录在开始地址Func_Start_Addr和结束地址Func_End_Addr中,CPU模拟器软件记录开始地址Func_Start_Addr和结束地址Func_End_Addr之间的语句和分支覆盖信息;
(e)在执行目标码的过程中,CPU模拟器软件监视当前运行的PC指针,当PC指针不等于Stop_Addr时,返回执行步骤(b),当PC指针等于Stop_Addr时,CPU模拟器软件停止运行,输出被测试函数的反汇编语句到文件中、输出被测试函数的覆盖率信息到文件中、输出OUT_PORT端口到文件中,三个文件保存在Out_Path目录中。
CN201410381755.0A 2014-08-05 2014-08-05 一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法 Active CN104156311B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410381755.0A CN104156311B (zh) 2014-08-05 2014-08-05 一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410381755.0A CN104156311B (zh) 2014-08-05 2014-08-05 一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法

Publications (2)

Publication Number Publication Date
CN104156311A true CN104156311A (zh) 2014-11-19
CN104156311B CN104156311B (zh) 2017-09-29

Family

ID=51881816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410381755.0A Active CN104156311B (zh) 2014-08-05 2014-08-05 一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法

Country Status (1)

Country Link
CN (1) CN104156311B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677557A (zh) * 2014-11-20 2016-06-15 国核(北京)科学技术研究院有限公司 核电软件测试系统和方法
CN106445803A (zh) * 2016-08-17 2017-02-22 中国航空工业集团公司西安飞行自动控制研究所 一种安全关键嵌入式软件目标码覆盖率分析方法
CN106843993A (zh) * 2016-12-26 2017-06-13 中国科学院计算技术研究所 一种逆向解析gpu指令的方法及系统
CN106844221A (zh) * 2017-03-10 2017-06-13 深圳航天科技创新研究院 一种实现虚拟验证系统覆盖率分析的方法
CN107977315A (zh) * 2017-12-07 2018-05-01 中国航发控制系统研究所 一种基于Bootloader方式的嵌入式软件目标码单元测试方法
CN110647467A (zh) * 2019-09-23 2020-01-03 上海创景信息科技有限公司 基于单步异常的目标码覆盖率测试方法、系统及介质
CN112597007A (zh) * 2020-12-14 2021-04-02 中国航发控制系统研究所 一种嵌入式软件集成测试完整性分析方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201392526Y (zh) * 2009-03-25 2010-01-27 大连海事大学 用于移动应用程序的机上测试系统
CN101706750A (zh) * 2009-11-16 2010-05-12 西安邮电学院 一种基于嵌入式模拟器的测试桩获取方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201392526Y (zh) * 2009-03-25 2010-01-27 大连海事大学 用于移动应用程序的机上测试系统
CN101706750A (zh) * 2009-11-16 2010-05-12 西安邮电学院 一种基于嵌入式模拟器的测试桩获取方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭向英,刘景炜: "汇编语言自动单元测试工具设计方法研究", 《质量与可靠性》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677557A (zh) * 2014-11-20 2016-06-15 国核(北京)科学技术研究院有限公司 核电软件测试系统和方法
CN106445803A (zh) * 2016-08-17 2017-02-22 中国航空工业集团公司西安飞行自动控制研究所 一种安全关键嵌入式软件目标码覆盖率分析方法
CN106445803B (zh) * 2016-08-17 2019-03-01 中国航空工业集团公司西安飞行自动控制研究所 一种安全关键嵌入式软件目标码覆盖率分析方法
CN106843993A (zh) * 2016-12-26 2017-06-13 中国科学院计算技术研究所 一种逆向解析gpu指令的方法及系统
CN106843993B (zh) * 2016-12-26 2019-07-30 中国科学院计算技术研究所 一种逆向解析gpu指令的方法及系统
CN106844221A (zh) * 2017-03-10 2017-06-13 深圳航天科技创新研究院 一种实现虚拟验证系统覆盖率分析的方法
CN107977315A (zh) * 2017-12-07 2018-05-01 中国航发控制系统研究所 一种基于Bootloader方式的嵌入式软件目标码单元测试方法
CN107977315B (zh) * 2017-12-07 2021-02-09 中国航发控制系统研究所 一种基于Bootloader方式的嵌入式软件目标码单元测试方法
CN110647467A (zh) * 2019-09-23 2020-01-03 上海创景信息科技有限公司 基于单步异常的目标码覆盖率测试方法、系统及介质
CN110647467B (zh) * 2019-09-23 2021-05-28 上海创景信息科技有限公司 基于单步异常的目标码覆盖率测试方法、系统及介质
CN112597007A (zh) * 2020-12-14 2021-04-02 中国航发控制系统研究所 一种嵌入式软件集成测试完整性分析方法
CN112597007B (zh) * 2020-12-14 2023-10-03 中国航发控制系统研究所 一种嵌入式软件集成测试完整性分析方法

Also Published As

Publication number Publication date
CN104156311B (zh) 2017-09-29

Similar Documents

Publication Publication Date Title
CN104156311A (zh) 一种基于cpu模拟器的嵌入式c语言目标码级单元测试方法
CN101739339B (zh) 一种基于程序动态依赖关系的软件故障定位方法
US20190171423A1 (en) Reconstructing a High Level Compilable Program from an Instruction Trace
CN102360334B (zh) 一种动静态结合的软件安全性测试方法
US9898387B2 (en) Development tools for logging and analyzing software bugs
CN102063328B (zh) 一种用于检测中断驱动型程序数据竞争的系统
CN103389939B (zh) 一种针对堆可控分配漏洞的检测方法及系统
JP6342129B2 (ja) 混合モードプログラムのソースコードエラー位置検出装置及び方法
CN110750459B (zh) 基于白盒分析的测试用例自动生成和测试进程管理方法
CN102243609A (zh) 一种基于嵌入式软件的测试分析方法及系统
CN102567164A (zh) 用于处理器的指令集批量测试装置与方法
US20100275185A1 (en) System and Method for High Performance Coverage Analysis
CN110419031B (zh) 用于微控制器程序的代码覆盖范围跟踪
CN101706750A (zh) 一种基于嵌入式模拟器的测试桩获取方法
CN103294596A (zh) 一种基于程序不变量的合约式软件故障预警方法
CN104699523A (zh) 用于硬件平台所开发的应用程序的调试方法和系统
CN102722438B (zh) 一种内核调试的方法和设备
CN104699605A (zh) 一种驱动程序的代码覆盖率测量方法及装置
Gerasimov et al. Anxiety: A dynamic symbolic execution framework
CN102520984B (zh) 目标软件在指定硬件环境中最差时间的计算方法
Gerasimov et al. An approach to reachability determination for static analysis defects with the help of dynamic symbolic execution
KR20070087400A (ko) 운영 체제 소프트웨어의 테스트 커버리지 분석 방법 및시스템
Jianming et al. PVDF: An automatic patch-based vulnerability description and fuzzing method
CN102662829B (zh) 一种复杂数据结构在代码静态测试中的处理方法和装置
CN113836023B (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
GR01 Patent grant
GR01 Patent grant