CN106326107A - 基于仿真环境的非侵入式嵌入式软件异常处理验证方法 - Google Patents

基于仿真环境的非侵入式嵌入式软件异常处理验证方法 Download PDF

Info

Publication number
CN106326107A
CN106326107A CN201610602254.XA CN201610602254A CN106326107A CN 106326107 A CN106326107 A CN 106326107A CN 201610602254 A CN201610602254 A CN 201610602254A CN 106326107 A CN106326107 A CN 106326107A
Authority
CN
China
Prior art keywords
test case
instruction
embedded software
address
abnormality processing
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
CN201610602254.XA
Other languages
English (en)
Other versions
CN106326107B (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 Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201610602254.XA priority Critical patent/CN106326107B/zh
Publication of CN106326107A publication Critical patent/CN106326107A/zh
Application granted granted Critical
Publication of CN106326107B publication Critical patent/CN106326107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于仿真环境的非侵入式嵌入式软件异常处理验证方法,包括:搭建嵌入式软件仿真运行环境;设计异常处理验证测试用例,执行异常处理测试用例,采集嵌入式软件异常信息以及对采集的嵌入式软件异常信息进行分析与验证。

Description

基于仿真环境的非侵入式嵌入式软件异常处理验证方法
技术领域
本发明涉及针对嵌入式软件异常处理机制测试技术,给出了一种基于仿真环境的非侵入式嵌入式软件异常处理验证方法。
背景技术
在高可靠、高安全性的嵌入式应用中,异常处理机制对嵌入式系统的容错性、可靠性起着重要作用;在针对嵌入式系统进行软件测试时,需要验证嵌入式软件异常处理机制。
目前针对嵌入式软件的异常处理验证方法主要有:基于硬件环境的异常验证方式和基于软件插桩的异常验证方式。
基于硬件环境的异常验证方式的典型特点是采用附加的硬件,通过直接物理接触或者辐射、电磁干扰等物理现象将异常激励引入到目标系统中,通过改变目标系统的硬件状态验证软件的异常响应;该种方法在具备较强真实性的同时,存在设计成本高、对硬件影响较大、过程控制困难等特点,适用范围较小。
基于软件插桩的异常验证方式典型特点是通过向目标程序植入监控模块的形式搜集程序执行信息,该种方法改变了目标程序的原始状态,占用了目标系统的计算和存储资源,尤其对基于高频信号处理器的深嵌入式系统,在计算资源有限、实时性要求较高时不再适用。
发明内容
发明的目的在于提供一种基于仿真环境的非侵入式嵌入式软件异常处理验证方法,用于解决现有嵌入式软件动态测试方法无法充分验证嵌入式软件异常处理机制的问题。
本发明一种基于仿真环境的非侵入式嵌入式软件异常处理验证方法,包括:搭建嵌入式软件仿真运行环境;设计异常处理验证测试用例,包括:对嵌入式软件的关键要素进行识别和提取;设计测试用例索引结构设计和异常处理数据;该测试用例索引结构包括:测试用例编号、测试工程信息、测试时间信息、测试人员信息、测试用例格式以及测试用例存储位置;该异常处理数据包括:异常类型、异常触发位置、异常触发时刻以及异常持续时间;以及设计异常处理数据触发形式,异常处理数据触发形式包括基于地址读访问的触发、基于地址写访问的触发、基于全局变量的触发、基于时间点的周期性触发以及基于时间点的非周期性触发;执行异常处理测试用例,包括:将异常处理测试用例运行于嵌入式软件仿真运行环境之上,嵌入式软件的可执行文件作为目标文件,包括仿真环境复位、目标文件加载与解析、测试用例选择与加载以及基于仿真的测试用例执行;仿真环境复位包括:理器内核复位以及外围设备复位,复位过程将重置处理器、内存以及外围设备的寄存器为初始状态;目标文件加载与解析包括:通过仿真运行环境存储系统仿真接口实现目标文件位置和路径的选择,通过解析目标文件实现目标文件到虚拟环境的映射;以及测试用例选择与加载包括:通过测试用例索引结构,根据需要选择单个测试用例或者多个测试用例;将测试用例加载到仿真运行环境中;在目标文件及测试用例加载完毕后对信息采集结构进行初始化;采集嵌入式软件异常信息;以及对采集的嵌入式软件异常信息进行分析与验证。
根据本发明的基于仿真环境的非侵入式嵌入式软件异常处理验证方法的一实施例,其中,该关键要素包括全局变量、寄存器地址、内存排列以及函数地址的信息。
根据本发明的基于仿真环境的非侵入式嵌入式软件异常处理验证方法的一实施例,其中,该嵌入式软件仿真运行环境包括:目标处理器内核指令集仿真模块,用于进行目标指令的动态二进制编译;嵌入式系统外设仿真模块,用于向目标处理器内核指令仿真模块以模拟外设的形式提供输入输出接口;仿真过程控制模块,用于协调目标处理器内核以及外设的仿真过程;测试数据输入接口,用于将测试数据直接输入给目标处理器内核指令集仿真模块。
根据本发明的基于仿真环境的非侵入式嵌入式软件异常处理验证方法的一实施例,其中,基于地址读访问的触发包括:在指令执行过程中对寄存器及内存地址进行监测,在指令执行到达寄存器及内存地址并进行读访问时执行触发过程;基于地址写访问的触发包括在指令执行过程中对寄存器及内存地址进行监测,在指令执行到达寄存器及内存地址时并进行写访问时执行触发过程;基于时间点的周期性触发包括在指令执行过程中对预设时间点进行监测,在指令执行时间到达预设时间点时按照周期性的参数重复执行触发过程;基于时间点的非周期性触发包括在指令执行过程中对预设时间点进行监测,在指令执行时间到达预设时间点时按照非周期性的参数重复执行触发过程。
根据本发明的基于仿真环境的非侵入式嵌入式软件异常处理验证方法的一实施例,其中,该采集嵌入式软件异常信息包括:在仿真过程控制中每一个指令周期入口对测试用例进行搜索,包括每个指令周期搜索当前测试用例是否有时间注入、每个指令周期搜索当前测试用例中是否有指令地址注入、每个指令周期搜索当前测试用例中是否有时间采集以及每个指令周期搜索当前测试用例中是否有指令地址采集;若上述任一条件为是,则时采用增量的方式对信息采集结构进行数据刷新。
根据本发明的基于仿真环境的非侵入式嵌入式软件异常处理验证方法的一实施例,其中,对采集的嵌入式软件异常信息进行分析与验证包括:异常处理验证测试用例执行完毕后,将采集到的信息进行解析,得到异常处理执行结果,包括程序执行流、程序执行次数、跳转指令的地址以及软件计算结果;对软件功能逻辑分析或与正常测试用例执行结果比对进行嵌入式软件异常处理机制的验证。
根据本发明的基于仿真环境的非侵入式嵌入式软件异常处理验证方法的一实施例,其中,用增量的方式对信息采集结构进行数据刷新包括:若当前指令不是跳转指令则不记录,否则记录当前的处理器执行信息、测试用例索引以及软件计算结果索引;软件计算结果由嵌入式软件逻辑确定,通过外围设备仿真接口进行输出,通过计算结果索引与采集信息关联。
综上,本发明的一种基于仿真环境的非侵入式嵌入式软件异常处理验证方法具有如下优点:广泛采用仿真技术,从时间和空间上减少嵌入式软件异常处理验证过程对目标硬件环境的依赖;可在保证嵌入式软件目标文件不受改动的情况下,采用非侵入式的方式实现嵌入式软件的异常处理验证;具备灵活的异常激励注入和执行手段,可提升嵌入式软件异常处理验证的效率和充分性;支持目标系统容错机制有效性验证,可提供嵌入式软件后续更改的参考依据。
附图说明
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明一种基于仿真环境的非侵入式嵌入式软件异常处理验证方法的一实施例,包括:
第一步搭建嵌入式软件仿真运行环境
嵌入式软件仿真运行环境采用虚拟化仿真技术实现目标系统的高精度高性能仿真,提供嵌入式软件的虚拟化运行环境,并提供指令执行过程及状态的监测手段,是嵌入式软件异常处理测试用例的执行平台,主要包括:目标处理器内核指令集仿真、嵌入式系统外设仿真以及仿真过程控制。
第二步异常处理验证测试用例设计
异常处理验证测试用例设计由嵌入式软件仿真运行环境提供用户接口,主要过程包括嵌入式软件关键要素提取、异常处理测试用例设计及测试用例生成。
第三步基于仿真的非侵入式异常处理测试用例执行
基于仿真的非侵入式异常处理测试用例执行通过将设计完毕的异常处理测试用例运行于嵌入式软件仿真运行环境之上,在保证不改变目标文件的情况下实现异常的响应。主要过程包括仿真环境复位、目标文件加载与解析、测试用例选择与加载、基于仿真的测试用例执行。
第四步嵌入式软件异常信息采集
嵌入式软件异常信息采集起始于仿真执行过程中对信息采集结构的初始化,在仿真过程控制中每一个指令周期入口对测试用例进行搜索,包括每个指令周期搜索当前测试用例是否有时间注入、每个指令周期搜索当前测试用例中是否有指令地址注入、每个指令周期搜索当前测试用例中是否有时间采集、每个指令周期搜索当前测试用例中是否有指令地址采集等;同时采用增量的方式对信息采集结构进行数据刷新,若信息采集结构中异常处理执行路径没有变化则不记录,否则记录当前的处理器执行信息、测试用例索引、软件计算结果索引;软件计算结果由嵌入式软件逻辑确定,通过外围设备仿真接口进行输出,如RS-422、RS-485等,通过计算结果索引与采集信息关联。嵌入式软件异常信息采集与仿真运行过程同步进行,采集结果实时缓存在宿主机中,仿真过程结束的同时完成异常信息采集。
第五步嵌入式软件异常处理结果分析与验证
异常处理验证测试用例执行完毕后,将采集到的信息进行解析,生成可视化的异常处理执行结果,包括程序执行流、程序执行次数、程序跳转地址、数据计算结果等;通过对软件功能逻辑分析或与正常测试用例执行结果比对实现嵌入式软件异常处理机制的验证。
本发明一种基于仿真环境的非侵入式嵌入式软件异常处理验证方法的另一实施例,其具体步骤包括:
第一步搭建嵌入式软件仿真运行环境
嵌入式软件仿真运行环境采用虚拟化仿真技术实现目标系统的高精度高性能仿真,提供嵌入式软件的虚拟化运行环境,并提供指令执行过程及状态的监测手段,是嵌入式软件异常处理测试用例的执行平台,主要包括:目标处理器内核指令集仿真、嵌入式系统外设仿真以及仿真过程控制。
其中,目标处理器内核指令集仿真采用基于LLVM的动态二进制编译方法实现目标指令在Windows/Intel宿主机架构下的异构执行,实现目标代码脱离原始硬件执行环境;嵌入式系统外设仿真用于实现目标处理器外围设备的仿真,包括RS-422、RS-485串口设备仿真、开关量设备仿真、存储系统仿真等,支持数据激励的注入与采集;仿真过程控制采用统一的时钟调度算法实现虚拟环境各组成部分的执行控制与协同运行。
目标处理器内核指令集仿真模块,用于进行目标文件的加载与解析以及目标文件的目标指令的动态二进制编译;
其中目标文件的加载指:将目标文件的映射到嵌入式系统外设仿真模块的存储空间;其中目标文件的解析指:将目标文件的二进制格式转换到目标文件的反汇编格式;
嵌入式系统外设仿真模块,用于向目标处理器内核指令仿真模块以模拟外设的形式提供输入输出接口;
仿真过程控制模块,用于协调目标处理器内核以及外设的仿真过程;
测试数据输入接口,用于将测试数据直接输入给目标处理器内核指令集仿真模块;
测试结果采集接口,用于采集目标处理器内核指令集仿真模块的处理器执行信息、异常处理执行路径(指令的执行路径)、测试用例索引、软件计算结果索引。
第二步异常处理验证测试用例设计
异常处理验证测试用例设计由嵌入式软件仿真运行环境提供用户接口,主要过程包括嵌入式软件关键要素提取、异常处理测试用例设计。
首先对嵌入式软件的关键要素进行识别和提取,包括全局变量、寄存器地址、内存排列、函数地址等。
测试用例用于提供包含测试意图的嵌入式软件的输入;异常处理测试用例设计包括测试用例索引结构设计和异常处理数据设计两部分。测试用例索引结构包括:测试用例编号(如字符串型、数字型、不规则表达式型等)、测试工程信息、测试时间信息、测试人员信息、测试用例格式(如*.csv、*.txt、*.dat、*.bin、*.xml等)、测试用例存储位置等。异常处理数据包括:异常类型(出现的异常是针对全局变量、寄存器地址、内存排列、函数地址测试的异常)、异常触发位置(出现异常的指令对应的寄存器地址)、异常触发时刻以及异常持续时间。异常类型、异常触发位置、异常触发时刻以及异常持续时间输入给嵌入式软件执行上述内容。
异常处理数据触发形式包括基于地址读访问的触发、基于地址写访问的触发、基于全局变量的触发、基于时间点的周期性触发、基于时间点的非周期性触发。
其中基于地址读访问的触发指在指令执行过程中对寄存器及内存地址进行监测,在指令执行到达寄存器及内存地址并进行读访问时执行触发过程;基于地址写访问的触发指在指令执行过程中对寄存器及内存地址进行监测,在指令执行到达寄存器及内存地址时并进行写访问时执行触发过程;基于时间点的周期性触发指在指令执行过程中对预设时间点进行监测,在指令执行时间到达预设时间点时按照周期性的参数重复执行触发过程;基于时间点的非周期性触发指在指令执行过程中对预设时间点进行监测,在指令执行时间到达预设时间点时按照非周期性的参数重复执行触发过程。
通过运行测试数据输入接口以及嵌入式系统外设仿真模块将异常处理数据触发形式输入给目标处理器内核指令集仿真模块,由目标处理器内核指令集仿真模块将上述异常处理数据触发形式输入给测试的嵌入式软件。
第三步基于仿真的非侵入式异常处理测试用例执行
基于仿真的非侵入式异常处理测试用例执行通过将设计完毕的异常处理测试用例运行于嵌入式软件仿真运行环境之上,嵌入式软件的可执行文件作为目标文件,在保证不改变目标文件的情况下实现异常的响应。主要过程包括仿真环境复位、目标文件加载与解析、测试用例选择与加载、基于仿真的测试用例执行。
为保证测试用例执行的独立性,基于仿真的非侵入式异常处理测试用例执行每一次过程需要进行仿真环境复位,包括处理器内核复位、外围设备复位,复位过程将重置处理器、内存以及外围设备的寄存器,为初始状态。
将目标文件的映射到嵌入式系统外设仿真模块的存储空间,具体可以包括:
目标文件加载与解析首先通过仿真运行环境存储系统仿真接口实现目标文件位置和路径的选择,实现包含COFF、ELF文件格式的目标代码向目标处理器内核的加载,通过解析目标文件代码段(.text)、数据段(.data)、BSS段(.bss)、自定义段、其它段的内容以及段表、重定位表、字符串表等结构实现目标文件到虚拟环境的映射,包括处理器内核的存储映射、外围设备的地址空间映射、嵌入式软件的启动地址、中断向量映射等;
将测试用例映射到嵌入式系统外设仿真模块的存储空间,具体可以包括:
仿真运行环境通过测试用例索引结构提供测试用例筛选排序和选择列表,实现包括按照测试用例编号选择、按照测试人员选择等。根据需要可选择单个测试用例或者多个测试用例;选择完毕后,相应的测试用例会自动加载到仿真运行环境中,仿真运行环境定义了信息采集结构,其定义了所需采集的内容,包括处理器执行信息、异常处理执行路径、测试用例索引、软件计算结果索引等;在目标文件及测试用例加载完毕后对信息采集结构进行初始化,包括时间数据初始化、地址数据初始化、时间变量初始化、时间寄存器初始化、时间内存初始化、地址变量初始化、地址寄存器初始化。该软件计算结构索引包括:外围设备仿真接口的设备类型以及所要输出的文件。
基于仿真的测试用例执行以加载的目标文件和所选的测试用例为依据,每一个执行过程处理目标文件和一个测试用例的组合。首先仿真运行环境从嵌入式软件启动地址开始解析目标文件指令,基于目标处理器内核指令集仿真方法实现目标文件指令与宿主机指令的动态二进制编译,通过外围设备仿真接口实现外部数据的注入,同时在指令执行过程中动态维护程序指令地址和下一程序地址的跳转直至程序结束或者用户中断仿真过程。对于选择多个测试用例的情况则根据测试用例个数按顺序执行,每一次执行过程重复执行仿真环境复位、目标文件加载与解析。
第四步嵌入式软件异常信息采集
嵌入式软件异常信息采集起始于仿真执行过程中对信息采集结构的初始化,在仿真过程控制中每一个指令周期入口对测试用例进行搜索,包括每个指令周期搜索当前测试用例是否有时间注入、每个指令周期搜索当前测试用例中是否有指令地址注入、每个指令周期搜索当前测试用例中是否有时间采集、每个指令周期搜索当前测试用例中是否有指令地址采集等;
若上述任一条件为是,则时采用增量的方式对信息采集结构进行数据刷新,具体包括:若当前指令不是跳转指令则不记录,否则记录当前的处理器执行信息、测试用例索引、软件计算结果索引;软件计算结果由嵌入式软件逻辑确定,通过外围设备仿真接口进行输出,如RS-422、RS-485等,通过计算结果索引与采集信息关联。嵌入式软件异常信息采集与仿真运行过程同步进行,采集结果实时缓存在宿主机中,仿真过程结束的同时完成异常信息采集。
第五步嵌入式软件异常处理结果分析与验证
异常处理验证测试用例执行完毕后,将采集到的信息进行解析,生成可视化的异常处理执行结果,包括程序执行流、程序执行次数、跳转指令的地址、软件计算结果等;通过对软件功能逻辑分析或与正常测试用例执行结果比对实现嵌入式软件异常处理机制的验证。
本发明的一种基于仿真环境的非侵入式嵌入式软件异常处理验证方法具有如下特点:
广泛采用仿真技术,从时间和空间上减少嵌入式软件异常处理验证过程对目标硬件环境的依赖;
可在保证嵌入式软件目标文件不受改动的情况下,采用非侵入式的方式实现嵌入式软件的异常处理验证;
具备灵活的异常激励注入和执行手段,可提升嵌入式软件异常处理验证的效率和充分性;
支持目标系统容错机制有效性验证,可提供嵌入式软件后续更改的参考依据。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (7)

1.一种基于仿真环境的非侵入式嵌入式软件异常处理验证方法,包括:
搭建嵌入式软件仿真运行环境;
设计异常处理验证测试用例,包括:
对嵌入式软件的关键要素进行识别和提取;
设计测试用例索引结构设计和异常处理数据;
该测试用例索引结构包括:测试用例编号、测试工程信息、测试时间信息、测试人员信息、测试用例格式以及测试用例存储位置;该异常处理数据包括:异常类型、异常触发位置、异常触发时刻以及异常持续时间;以及
设计异常处理数据触发形式,异常处理数据触发形式包括基于地址读访问的触发、基于地址写访问的触发、基于全局变量的触发、基于时间点的周期性触发以及基于时间点的非周期性触发;
执行异常处理测试用例,包括:
将异常处理测试用例运行于嵌入式软件仿真运行环境之上,嵌入式软件的可执行文件作为目标文件,包括仿真环境复位、目标文件加载与解析、测试用例选择与加载以及基于仿真的测试用例执行;
仿真环境复位包括:理器内核复位以及外围设备复位,复位过程将重置处理器、内存以及外围设备的寄存器为初始状态;
目标文件加载与解析包括:通过仿真运行环境存储系统仿真接口实现目标文件位置和路径的选择,通过解析目标文件实现目标文件到虚拟环境的映射;以及
测试用例选择与加载包括:通过测试用例索引结构,根据需要选择单个测试用例或者多个测试用例;将测试用例加载到仿真运行环境中;在目标文件及测试用例加载完毕后对信息采集结构进行初始化;
采集嵌入式软件异常信息;以及
对采集的嵌入式软件异常信息进行分析与验证。
2.如权利要求1所述的基于仿真环境的非侵入式嵌入式软件异常处理验证方法,其特征在于,该关键要素包括全局变量、寄存器地址、内存排列以及函数地址的信息。
3.如权利要求1所述的基于仿真环境的非侵入式嵌入式软件异常处理验证方法,其特征在于,该嵌入式软件仿真运行环境包括:目标处理器内核指令集仿真模块,用于进行目标指令的动态二进制编译;嵌入式系统外设仿真模块,用于向目标处理器内核指令仿真模块以模拟外设的形式提供输入输出接口;仿真过程控制模块,用于协调目标处理器内核以及外设的仿真过程;测试数据输入接口,用于将测试数据直接输入给目标处理器内核指令集仿真模块。
4.如权利要求1所述的基于仿真环境的非侵入式嵌入式软件异常处理验证方法,其特征在于,基于地址读访问的触发包括:在指令执行过程中对寄存器及内存地址进行监测,在指令执行到达寄存器及内存地址并进行读访问时执行触发过程;基于地址写访问的触发包括在指令执行过程中对寄存器及内存地址进行监测,在指令执行到达寄存器及内存地址时并进行写访问时执行触发过程;基于时间点的周期性触发包括在指令执行过程中对预设时间点进行监测,在指令执行时间到达预设时间点时按照周期性的参数重复执行触发过程;基于时间点的非周期性触发包括在指令执行过程中对预设时间点进行监测,在指令执行时间到达预设时间点时按照非周期性的参数重复执行触发过程。
5.如权利要求1所述的基于仿真环境的非侵入式嵌入式软件异常处理验证方法,其特征在于,该采集嵌入式软件异常信息包括:
在仿真过程控制中每一个指令周期入口对测试用例进行搜索,包括每个指令周期搜索当前测试用例是否有时间注入、每个指令周期搜索当前测试用例中是否有指令地址注入、每个指令周期搜索当前测试用例中是否有时间采集以及每个指令周期搜索当前测试用例中是否有指令地址采集;
若上述任一条件为是,则时采用增量的方式对信息采集结构进行数据刷新。
6.如权利要求1所述的基于仿真环境的非侵入式嵌入式软件异常处理验证方法,其特征在于,对采集的嵌入式软件异常信息进行分析与验证包括:异常处理验证测试用例执行完毕后,将采集到的信息进行解析,得到异常处理执行结果,包括程序执行流、程序执行次数、跳转指令的地址以及软件计算结果;对软件功能逻辑分析或与正常测试用例执行结果比对进行嵌入式软件异常处理机制的验证。
7.如权利要求1所述的基于仿真环境的非侵入式嵌入式软件异常处理验证方法,其特征在于,用增量的方式对信息采集结构进行数据刷新包括:若当前指令不是跳转指令则不记录,否则记录当前的处理器执行信息、测试用例索引以及软件计算结果索引;软件计算结果由嵌入式软件逻辑确定,通过外围设备仿真接口进行输出,通过计算结果索引与采集信息关联。
CN201610602254.XA 2016-07-27 2016-07-27 基于仿真环境的非侵入式嵌入式软件异常处理验证方法 Active CN106326107B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610602254.XA CN106326107B (zh) 2016-07-27 2016-07-27 基于仿真环境的非侵入式嵌入式软件异常处理验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610602254.XA CN106326107B (zh) 2016-07-27 2016-07-27 基于仿真环境的非侵入式嵌入式软件异常处理验证方法

Publications (2)

Publication Number Publication Date
CN106326107A true CN106326107A (zh) 2017-01-11
CN106326107B CN106326107B (zh) 2019-03-08

Family

ID=57739289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610602254.XA Active CN106326107B (zh) 2016-07-27 2016-07-27 基于仿真环境的非侵入式嵌入式软件异常处理验证方法

Country Status (1)

Country Link
CN (1) CN106326107B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106959883A (zh) * 2017-03-10 2017-07-18 深圳航天科技创新研究院 一种实现虚拟验证系统数据采集的方法
CN107992406A (zh) * 2017-11-09 2018-05-04 北京东土科技股份有限公司 一种软件测试方法、相关系统及计算机可读存储介质
CN109032928A (zh) * 2018-07-03 2018-12-18 中国电子科技集团公司第十四研究所 嵌入式软件构件监测方法
CN109213680A (zh) * 2018-08-28 2019-01-15 康烁 基于嵌入式软件仿真器的自动化测试方法
CN109933480A (zh) * 2019-03-15 2019-06-25 捷德(中国)信息科技有限公司 一种cos嵌入式开发盲调方法、系统、设备及存储介质
CN111813670A (zh) * 2020-07-03 2020-10-23 北京计算机技术及应用研究所 一种非侵入式mc/dc覆盖率统计分析方法
CN112084113A (zh) * 2020-09-16 2020-12-15 上海创景信息科技有限公司 基于嵌入式仿真验证软件的可配置自动化测试方法及系统
CN112463614A (zh) * 2020-12-01 2021-03-09 北京计算机技术及应用研究所 一种基于硬件板卡接入的软件虚拟化测试环境构建方法
CN112685277A (zh) * 2020-12-31 2021-04-20 海光信息技术股份有限公司 警告信息检查方法、装置、电子设备和可读存储介质
CN115062496A (zh) * 2022-08-08 2022-09-16 北京智芯半导体科技有限公司 嵌入式应用的验证方法、装置、电子设备及芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070282556A1 (en) * 2004-03-05 2007-12-06 Hani Achkar Testing of Embedded Systems
CN101183335A (zh) * 2007-12-25 2008-05-21 中兴通讯股份有限公司 一种实现嵌入式软件异常测试的方法及系统
US20080270840A1 (en) * 2007-04-25 2008-10-30 Samsung Electronics Co., Ltd. Device and method for testing embedded software using emulator
CN105528290A (zh) * 2015-12-04 2016-04-27 中国航空综合技术研究所 基于脚本的嵌入式软件仿真及测试一体化平台的构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070282556A1 (en) * 2004-03-05 2007-12-06 Hani Achkar Testing of Embedded Systems
US20080270840A1 (en) * 2007-04-25 2008-10-30 Samsung Electronics Co., Ltd. Device and method for testing embedded software using emulator
CN101183335A (zh) * 2007-12-25 2008-05-21 中兴通讯股份有限公司 一种实现嵌入式软件异常测试的方法及系统
CN105528290A (zh) * 2015-12-04 2016-04-27 中国航空综合技术研究所 基于脚本的嵌入式软件仿真及测试一体化平台的构建方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106959883A (zh) * 2017-03-10 2017-07-18 深圳航天科技创新研究院 一种实现虚拟验证系统数据采集的方法
CN107992406A (zh) * 2017-11-09 2018-05-04 北京东土科技股份有限公司 一种软件测试方法、相关系统及计算机可读存储介质
CN109032928A (zh) * 2018-07-03 2018-12-18 中国电子科技集团公司第十四研究所 嵌入式软件构件监测方法
CN109213680B (zh) * 2018-08-28 2022-01-25 康烁 基于嵌入式软件仿真器的自动化测试方法
CN109213680A (zh) * 2018-08-28 2019-01-15 康烁 基于嵌入式软件仿真器的自动化测试方法
CN109933480A (zh) * 2019-03-15 2019-06-25 捷德(中国)信息科技有限公司 一种cos嵌入式开发盲调方法、系统、设备及存储介质
CN109933480B (zh) * 2019-03-15 2023-04-21 捷德(中国)科技有限公司 一种cos嵌入式开发盲调方法、系统、设备及存储介质
CN111813670A (zh) * 2020-07-03 2020-10-23 北京计算机技术及应用研究所 一种非侵入式mc/dc覆盖率统计分析方法
CN112084113A (zh) * 2020-09-16 2020-12-15 上海创景信息科技有限公司 基于嵌入式仿真验证软件的可配置自动化测试方法及系统
CN112463614A (zh) * 2020-12-01 2021-03-09 北京计算机技术及应用研究所 一种基于硬件板卡接入的软件虚拟化测试环境构建方法
CN112685277A (zh) * 2020-12-31 2021-04-20 海光信息技术股份有限公司 警告信息检查方法、装置、电子设备和可读存储介质
CN112685277B (zh) * 2020-12-31 2023-01-24 海光信息技术股份有限公司 警告信息检查方法、装置、电子设备和可读存储介质
CN115062496A (zh) * 2022-08-08 2022-09-16 北京智芯半导体科技有限公司 嵌入式应用的验证方法、装置、电子设备及芯片
CN115062496B (zh) * 2022-08-08 2023-01-17 北京智芯半导体科技有限公司 嵌入式应用的验证方法、装置、电子设备及芯片

Also Published As

Publication number Publication date
CN106326107B (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
CN106326107A (zh) 基于仿真环境的非侵入式嵌入式软件异常处理验证方法
CN104364770B (zh) 来自较小特权状态的运行时检测仪器的控制操作
CN110175454B (zh) 一种基于人工智能的智能合约安全漏洞挖掘方法及系统
CN104662514B (zh) 基于模型关联关系的遗产软件系统的现代化
CN110287702A (zh) 一种二进制漏洞克隆检测方法及装置
CN104169888B (zh) 用于实现运行时间检测定向采样的方法和系统
CN104364771B (zh) 修改来自较小特权状态的运行时间仪表控制
CN109933991A (zh) 一种智能合约漏洞检测的方法、装置
CN104364768B (zh) 用于确定运行时间检测控制的状态的方法和系统
CN109948345A (zh) 一种智能合约漏洞检测的方法、系统
CN103649907B (zh) 高度并发处理任务的记录和执行
CN108647145A (zh) 软件内存安全检测方法及系统
CN105022958B (zh) 一种安卓应用中基于代码库安全规约的应用程序漏洞检测分析方法
CN102622536A (zh) 一种恶意代码捕获方法
CN108681908A (zh) 反作弊方法、装置、计算设备及存储介质
CN106598866A (zh) 一种基于smali中间语言的静态检测系统及方法
CN106775913B (zh) 一种目标代码控制流图生成方法
EP3432229A1 (en) Ability imparting data generation device
CN113672515A (zh) 一种基于符号执行的wasm智能合约漏洞检测方法
CN1987821A (zh) 一种实现单元测试的方法及系统
CN111133434B (zh) 用于受密码保护地运行虚拟机的设备和方法
CN105159828B (zh) 源代码级的上下文敏感性检测方法
Buinevich et al. Method for partial recovering source code of telecommunication devices for vulnerability search
CN107741907A (zh) 结合底层指令和系统信息的模拟器检测方法及装置
CN101388055A (zh) 一种用于漏洞模型检测的程序操作特征提取方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant