CN101937392A - 一种嵌入式软件动态缺陷检测方法 - Google Patents
一种嵌入式软件动态缺陷检测方法 Download PDFInfo
- Publication number
- CN101937392A CN101937392A CN 201010265899 CN201010265899A CN101937392A CN 101937392 A CN101937392 A CN 101937392A CN 201010265899 CN201010265899 CN 201010265899 CN 201010265899 A CN201010265899 A CN 201010265899A CN 101937392 A CN101937392 A CN 101937392A
- Authority
- CN
- China
- Prior art keywords
- module
- client
- data
- test agent
- test
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种精确的嵌入式软件动态缺陷检测方法,包括测试代理端模块和客户端模块,两部分通过网络进行通信。测试代理运行于目标机上,检测被测程序,对所需要的数据和信息进行采样提取,并通过网络发送给客户端。测试代理分为采样模块和测试代理模块,采样模块以Linux内核模块的形式加载到内核空间中,对PMU寄存器进行操作,对指令地址进行采样;测试代理模块负责代理内核模块与客户端进行交互,接收客户端的请求与配置等,对内核模块做出相应的设置,并从内核模块中读取样本数据发送给客户端。客户端以Eclipse插件的形式开发并集成到GDIX嵌入式软件测试平台中。本发明通过测试代理端模块和客户端模块提供嵌入式软件动态缺陷检测服务,并实时在线地进行测试结果数据的处理和显示。
Description
技术领域
本发明属于嵌入式软件测试领域,具体涉及一种基于嵌入式软件动态缺陷检测的方法。
技术背景
在数字家电领域,嵌入式系统需要支持大量的高清视频和音频的播放,提供高清视听娱乐和信息服务。那么嵌入式软件势必存在大量编码、解码等CPU运算,成为CPU消耗型软件,因此运行时的效率成为提高嵌入式软件性能的关键问题之一。
在嵌入式系统中,各种资源相对非常有限,嵌入式软件跟硬件结合紧密,编写高效的嵌入式软件,需要考虑很多跟硬件相关的问题,例如,如何高效地利用RAM、如何合理地使用I/O端口等。然而,许多问题跟目标系统的硬件环境紧密相关,开发人员很难或者根本无法凭借静态编码来解决,如由数据的非局部性而造成的数据缓存频繁缺失、由于编译器和处理器流水线等因素造成的分支预测失效等等,这些事件的产生却能够影响嵌入式软件的运行效率。分支预测失效将造成流水线的冲洗,浪费大量的时钟周期,无法发挥微处理器乱序执行的效能;由于处理器频率和存储器访问速度之间的差异,数据缓存缺失将造成对相对慢速的存储器的大量访问,降低运行效率;等等。
这些影响指令执行效率的缺陷问题通过静态地对代码进行检查是无法消除的,它们可能不是由代码本身引起的,而是由于编译或硬件特性的改变而产生,对于不同的硬件平台、不同的编译器工具链,问题都会有所区别,没有一个统一的、静态的方法来解决,只能通过动态的方式,在软件运行的过程中去统计和定位出现缺陷的关键之处,从而使开发人员能够针对检测的结果去优化代码的实现,减少或消除缺陷所带来的影响,提高嵌入式软件的运行效率。
目前,对于动态缺陷检测技术的研究并不多见。有使用I/O-EFA对软硬件平台本身的故障的一种检测,对于与硬件相关的软件缺陷问题,并不能很好地解决;有源代码插桩技术,能够发现软件中的异常行为,但是对于不可预见的异常行为,以及与硬件相关问题的检测,有很大的局限性;有开源软件OProfile,但是它需要Linux内核的支持,在编译内核的过程中需要指定OProfile选项,并且它需要等到被测程序运行完毕以后,才能得到测试结果,无法进行实时的在线测试。
发明内容
本发明的目的在于克服目前相关工具无法进行动态实时缺陷检测,测试结果精度不高的不足,提出了一种精确的嵌入式软件动态缺陷检测方法。
为了实现发明目的,采用的技术方案如下:
一种嵌入式软件动态缺陷检测方法,分为客户端和测试代理端两部分,所述客户端设置在开发机中,测试代理端设置在linux目标机中,客户端和测试代理端通过网络进行通信,使得测试代理端所采集的样本数据通过网络实时发送给客户端进行分析并实时更新显示。
上述技术方案中,所述测试代理端运行于目标机端的嵌入式操作系统或目标板中。其包括用于采集和统计样本数据的采样模块和进行样本数据传送的测试代理模块。
所述采样模块运行于嵌入式Linux的内核空间中,是测试代理端的核心部分,负责缺陷样本数据的采集,并提供接口供测试代理模块进行配置和读取,分为PMU配置模块、中断处理模块,控制模块,proc文件系统接口,配置表以及样本缓存。
所述PMU配置模块是基于微处理支持的PMU硬件单元,封装PMU硬件单元的操作细节,提供抽象访问接口供上层调用;
所述中断处理模块是对系统运行时发生的多种硬件事件中断进行捕获处理,对引起这些事件的指令地址进行采样,组织为样本并存入样本缓存;
所述控制模块通过proc文件系统与测试代理模块进行交互,接收事件配置信息,经过配置表映射为PMU事件码,通过PMU配置模块写入PMU事件选择单元,通过proc文件系统接口,返回样本缓存中的样本数据信息;
所述proc文件系统接口是内核空间和用户空间进行交互常用的接口,也是测试代理模块和采样模块进行交互的接口。采样模块通过它向测试代理模块提供样本数据访问接口,同时,测试代理模块把它作为采样模块的配置接口;
所述配置表属于内核的共享结构,是一个便于查找的哈希表结构,维护事件配置信息和PMU硬件单元事件码的对应关系;
所述样本缓存采用循环队列来表示,用于存放中断处理模块生成的样本数据信息,供测试代理模块通过proc文件系统接口读取并发送给开发机的客户端。
所述测试代理模块运行于嵌入式Linux的用户空间中,负责监听特定端口,提供嵌入式缺陷检测测试服务,与发起连接的客户端进行交互,读取采样模块采集的样本数据,通过网络实时发送给客户端。测试代理模块包括Slave pool,连接分配器,工作线程与服务进程。
所述Slave pool是一个简单的、专为测试代理模块实现的进程池,Slave pool通过Domain Socket同服务进程通信,传递socket句柄,并了解它们的状态;
所述连接分配器负责监听服务端口,接收连接请求并调用Slave pool的接口对请求进行分配和管理;
所述工作线程通过proc文件系统接口从采样模块的样本缓存中读取测试样本数据信息,并通过客户端连接socket发送给客户端;
所述服务进程负责与客户端进行交互,并且操作与工作线程共享的数据。当它接收到连接分配器发送过来的与客户端连接的socket句柄后,服务进程进入一个循环中,对该句柄select并进行超时处理,同时进行与客户端交互、对共享数据的操作。
所述客户端以Eclipse插件的形式运行于软硬件资源丰富的宿主端开发机中,并通过网络同测试代理模块进行交互,将控制命令或者经过交叉编译工具链编译的可执行文件发送给目标机端的测试代理模块,客户端包括数据收集器和数据处理模块,数据收集器负责为客户端接收样本数据,交给数据处理模块进行数据的处理解析。数据处理模块按照一定的解析算法对数据进行分析处理,更新GUI上相应的组件。在开发机中,同样运行着符号解析器,为客户端插件提供符号解析服务。
所述数据收集器和数据处理模块从测试代理端收集数据,同时,对接收到的二进制数据进行格式的转换,主要是对字节序进行调整,将小端字节序的数据转化为大端字节序的Java结构,并保存在内存中。
本发明通过客户端和测试代理端对嵌入式软件进行了实时在线的动态缺陷检测,并且能将测试数据动态直观地显示给测试用户。
附图说明
图1为交叉测试模型。
图2为嵌入式软件动态缺陷检测的框架图。
图3为测试代理模块框架图。
图4为采样模块结构图。
图5为客户端框架图。
图6为客户端符号解析服务器功能图。
图7为客户端控制层数据处理的过程图。
具体实施方法
下面结合附图对本发明做进一步的说明。
本发明为了实现实时在线的缺陷检测,采用基于交叉测试的测试模式,如图1所示,测试工具运行在软硬件配置丰富的宿主机上,它对被测程序进行处理后,使其运行在软硬件资源相对缺乏的目标机上,产生测试信息,并通过一定的通信连接由测试代理传输到宿主机上,由测试工具接收并显示测试结果。
本发明中的嵌入式软件动态缺陷检测工具总体框架图如图2所示。设计上遵循交叉测试模式,分为客户端和测试代理端,客户端运行于开发机,测试代理端分为测试代理模块和内核采样模块。客户端以eclipse插件的形式运行在开发机JRE环境中,采用SWT/JFACE进行GUI设计。开发人员对程序交叉编译完毕后,可以用客户端将可执行文件上传给测试代理端,并告知测试代理端需要对哪些缺陷事件进行检测。测试代理模块接收可执行文件并将其作为子进程运行,同时将各种必需的配置信息通过字符设备接口写入内核模块中。内核模块通过字符设备接收配置信息,并且对微处理器的PMU硬件单元进行读写,根据配置信息进行各种寄存器进行配置、开始/停止PMU中断等操作;PMU中断处理负责进行具体的采样工作,对中断发生时所保存的用户态栈进行采样,提取其中的pc寄存器值,组织成样本数据结构保存到样本缓存中。测试代理模块进行完配置后,通过字符设备对样本缓存进行读取,并实时发送给客户端数据接收模块。客户端将这些样本数据进行解析,得到一系列的指令地址以及事件,通过调用地址解析服务,将指令地址与具体的源代码行进行对应,并生成渲染信息,交付给渲染模块。渲染模块对GUI进行更新,让开发人员能够从源代码中直观地获得动态缺陷事件的信息。
测试代理端运行于目标机的嵌入式操作系统或目标板中。其包括用于采集和统计样本数据的采样模块和进行样本数据传送的测试代理模块。测试代理模块负责代理内核模块与客户端进行交互,接收客户端的请求与配置等,对内核模块做出相应的设置,并从内核模块中读取样本数据发送给客户端。它的结构如图3所示。包括Slave pool、连接分配器、工作线程与服务进程,所述连接分配器为Dispatcher处理请求和请求队列。
当Dispatcher接收一个客户端连接后,从客户端接收其所请求的服务类型,并生成request结构,放入请求队列中,并开始对队列中已有的请求进行调度,取出一个request交给Slave pool进行处理。Slave pool根据接收的Request类型,生成相应的服务进程,由于本发明所针对的是缺陷检测,所述的服务进程也是缺陷检测服务进程。缺陷检测服务进程只有一种服务状态,即缺陷检测服务。
服务进程负责与客户端进一步交互,处理具体的服务请求。对于缺陷检测来说,有既定的如下服务流程:
(1)接收客户端发送的缺陷事件,将其转换为PMU能够识别的事件编码后,写入采样模块的op_conf接口;
(2)接收客户端发送的经过交叉编译的可执行文件,保存在目标机的本地文件系统中;
(3)接收客户端发送的数据请求命令,将上一步接收的可执行文件作为被测子进程启动,并把它的pid写入采样模块的op_ctr接口;
(4)启动工作线程。等待客户端发送命令,同时通过注册SIGCHLD信号处理函数,等待被测子进程结束。当被测子进程结束时,在信号处理函数中,向采样模块的op_ctr设备写入0,停止采样模块的工作。
由于服务进程需要等待被测子进程的结束,以便停止采样模块的工作,通过向op_ctr写入0来完成,该操作需要对内核样本缓存进行冲洗,可能引起睡眠,等待op_data的读取进程来唤醒。如果服务进程既负责停止采样模块,同时也负责读取样本数据,则将产生死锁,服务进程可能会一直处于睡眠状态。Linux下线程是以独立的调度单元而存在的,因此工作线程的读取操作会唤醒服务进程,从而正常工作。
测试代理端的采样模块以Linux内核模块的形式加载到内核空间中,对PMU寄存器进行操作,对指令地址进行采样。其结构如图4所示。
采样模块加载时在/dev下建立三个字符设备。提供用户空间进程与模块的交互接口,模块负责对被测程序的指令地址采样,所得地址和缺陷事件的结构被称为样本,放置在样本缓存中。测试代理工作进程对这些设备进行读写时,可能引起阻塞而睡眠。在采样模块中共有两个等待队列:wait_for_read和sync_queue。当进程通过op_data设备读取样本缓存、但缓存为空时,进程将在wait_for_read队列上进行睡眠,直到中断处理模块将新的样本加入缓存使缓存为非空状态时,将唤醒睡眠的进程,使进程读取样本数据;当进程试图使采样模块停止采样时,需要对op_ctr进行写操作,此时需要对样本缓存进行冲洗,使缓存中剩余的样本全部被读取。若缓存非空,则需要在sync_queue上进行睡眠,直到缓存为空,则由读取进程唤醒sync_queue上睡眠的进程,对缓存进行冲洗。采样模块中还维护了一个配置表,模块将用户空间传来的对模块的配置信息转换为对PMU进行读写的配置信息后,存放在配置表中。
客户端模块以Eclipse插件的形式开发并集成到GDIX嵌入式软件测试平台中,如附图5所示,按照MVC模式,即模型-视图-控制(Model-View-Control)模式进行设计,并且整个客户端以插件的形式运行于JRE之上。在开发机Linux系统上,同时运行着符号解析器,为客户端插件提供符号解析服务。开发人员将源代码利用交叉编译工具链编译成为可执行文件,并通过对视图层的操作传递给测试代理,以及发送配置信息后,便可从工程视图中打开源文件到编辑区,直观地看到源代码上对于缺陷事件的标记情况。
模型层为客户端提供了几个基本的数据模型,包括进行符号解析需要的地址信息、分析字节流数据转化的结构化符号信息以及更新GUI所需的渲染信息;
在控制层,客户端控制与测试代理端的网络连接、发送和接收网络数据、对接收的字节流数据进行分析以及渲染。在分析渲染的过程中,需要对地址符号进行解析,将指令地址与源文件以及代码行进行对应,才能帮助开发人员找到问题所在;其中,在客户端把符号解析模块独立成符号解析器,通过本地网络与客户端通信,符号解析服务器与客户端控制层的交互如图6所示,当控制层的渲染模块需要对获取的样本中的指令地址进行解析时,如果映射表尚未取得,则连接符号解析服务器,并将所需要解析的可执行文件所在路径告知服务器。后者对相应路径上的ELF可执行文件进行读取,获得在其中记录的地址——代码行映射的调试信息,符号解析服务器将映射关系存储为(地址,文件名,行号)三元组的数组,发送给客户端渲染模块使用。图7清楚地说明了控制层数据处理的过程,采取三个线程、两级缓存进行协作的好处在于,缓解网络数据的收集、分析和渲染之间的速度差异,使得网络访问以及GUI响应更加流畅迅速。
展示层在MVC模式中负责对数据进行显示。它利用Eclipse的扩展点机制,对Eclipse进行扩展,以插件的形式来实现功能。
Claims (8)
1.一种嵌入式软件动态缺陷检测方法,由客户端和测试代理端两部分共同协作完成,所述客户端设置在开发机中,测试代理端设置在目标机中,客户端和测试代理端通过网络进行通信,使得测试代理端所采集的样本数据通过网络实时发送给客户端进行分析并实时更新显示;
所述测试代理端包括用于采集和统计样本数据的采样模块和进行样本数据传送的测试代理模块;
其特征在于:所述采样模块分为PMU配置模块、中断处理模块、控制模块、proc文件系统接口、配置表以及样本缓存;
所述PMU配置模块是基于微处理支持的PMU硬件单元,封装PMU硬件单元的操作细节,提供抽象访问接口供上层调用;
所述中断处理模块是对系统运行时发生的多种硬件事件中断进行捕获处理,对引起这些事件的指令地址进行采样,组织为样本并存入样本缓存;
所述控制模块通过proc文件系统接口与测试代理模块进行交互,接收事件配置信息,经过配置表映射为PMU事件码,通过PMU配置模块写入PMU事件选择单元,通过proc文件系统接口返回样本缓存中的样本数据信息;
所述proc文件系统接口是测试代理模块和采样模块进行交互的接口,采样模块通过它向测试代理模块提供样本数据访问接口,同时,测试代理模块把它作为采样模块的配置接口;
所述配置表是一个便于查找的哈希表结构,维护事件配置信息和PMU硬件单元事件码的对应关系;
所述样本缓存采用循环队列来表示,用于存放中断处理模块生成的样本数据信息,供测试代理模块通过proc文件系统接口读取并发送给开发机的客户端;
所述测试代理模块包括Slave pool、连接分配器、工作线程与服务进程;
所述Slave pool是一个专为测试代理模块实现的进程池,Slave pool通过Domain Socket同服务进程通信,传递socket句柄,并了解它们的状态;
所述连接分配器负责监听服务端口,接收连接请求并调用Slave pool的接口对请求进行分配和管理;
所述工作线程通过proc文件系统接口从采样模块的样本缓存中读取测试样本数据信息,并通过客户端连接socket发送给客户端;
所述服务进程与客户端进行交互,并且操作与工作线程共享的数据,当它接收到连接分配器发送过来的与客户端连接的socket句柄后,服务进程进入一个循环中,对该句柄select并进行超时处理,同时进行与客户端交互、对共享数据的操作;
所述客户端包括数据收集器和数据处理模块,数据收集器为客户端接收样本数据,并交给数据处理模块进行数据的处理解析,数据处理模块按照设定的解析算法对数据进行分析处理,并更新GUI上相应的组件。
2.根据权利要求1所述的嵌入式软件动态缺陷检测方法,其特征在于所述测试代理端运行于目标机的嵌入式操作系统或目标板中。
3.根据权利要求2所述的嵌入式软件动态缺陷检测方法,其特征在于所述采样模块运行于嵌入式Linux的内核空间中,进行缺陷样本数据采集,并提供接口供测试代理模块进行配置和读取。
4.根据权利要求2或3所述的嵌入式软件动态缺陷检测方法,其特征在于所述测试代理模块运行于嵌入式Linux的用户空间中,监听特定端口,并提供嵌入式缺陷检测测试服务,与发起连接的客户端进行交互,读取采样模块采集的样本数据,通过网络实时发送给客户端。
5.根据权利要求1所述的嵌入式软件动态缺陷检测方法,其特征在于所述客户端以Eclipse插件的形式运行于开发机中,并通过网络同测试代理模块进行交互,将控制命令或者经过交叉编译工具链编译的可执行文件发送给目标机的测试代理模块。
6.根据权利要求1或5所述的嵌入式软件动态缺陷检测方法,其特征在于所述数据收集器和数据处理模块从测试代理端收集二进制格式的数据,并对接收到的二进制数据进行格式的转换,包括对字节序进行调整,将小端字节序的数据转化为大端字节序的Java结构,并保存在内存中。
7.根据权利要求1所述的嵌入式软件动态缺陷检测方法,其特征在于所述开发机还设置有符号解析器,为客户端插件提供符号解析服务。
8.根据权利要求7所述的嵌入式软件动态缺陷检测方法,其特征在于所述客户端以Eclipse插件的形式开发并集成到GDIX嵌入式软件测试平台中,按照模型-视图-控制三层模式进行设计,并且整个客户端以插件的形式运行于JRE之上;
所述模型层为客户端提供基本的数据模型,包括进行符号解析需要的地址信息、分析字节流数据转化的结构化符号信息以及更新GUI所需的渲染信息;
所述控制层控制客户端与测试代理端的网络连接、发送和接收网络数据、对接收的字节流数据进行分析以及渲染;
所述展示层在对数据进行显示,其利用Eclipse的扩展点机制,对Eclipse进行扩展,以插件的形式来实现。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2010102658991A CN101937392B (zh) | 2010-08-27 | 2010-08-27 | 一种嵌入式软件动态缺陷检测系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2010102658991A CN101937392B (zh) | 2010-08-27 | 2010-08-27 | 一种嵌入式软件动态缺陷检测系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101937392A true CN101937392A (zh) | 2011-01-05 |
| CN101937392B CN101937392B (zh) | 2012-06-20 |
Family
ID=43390732
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2010102658991A Expired - Fee Related CN101937392B (zh) | 2010-08-27 | 2010-08-27 | 一种嵌入式软件动态缺陷检测系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN101937392B (zh) |
Cited By (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102393829A (zh) * | 2011-10-31 | 2012-03-28 | 华南理工大学 | 一种面向嵌入式系统的磁盘i/o测试系统 |
| CN102654537A (zh) * | 2012-03-31 | 2012-09-05 | 西南大学 | 改进电声脉冲法的交直流空间电荷测量系统及方法 |
| CN103514177A (zh) * | 2012-06-20 | 2014-01-15 | 盛趣信息技术(上海)有限公司 | 数据存储方法及系统 |
| CN103793325A (zh) * | 2014-01-24 | 2014-05-14 | 深圳市同洲电子股份有限公司 | 一种内核调试方法及系统 |
| CN103955424A (zh) * | 2014-03-25 | 2014-07-30 | 杭州电子科技大学 | 一种虚拟化嵌入式二进制软件缺陷检测系统 |
| CN104536745A (zh) * | 2014-12-19 | 2015-04-22 | 用友金融信息技术有限公司 | 任务修改方法和任务修改装置 |
| WO2016019732A1 (zh) * | 2014-08-06 | 2016-02-11 | 中兴通讯股份有限公司 | 操作结果处理方法、装置及系统 |
| CN105846973A (zh) * | 2016-04-25 | 2016-08-10 | 北京智能综电信息技术有限责任公司 | 一种嵌入式软件的协议测试方法和装置 |
| CN106649112A (zh) * | 2016-12-20 | 2017-05-10 | 中国电子科技集团公司第五十四研究所 | 一种面向平台插件技术的测试方法 |
| CN106933661A (zh) * | 2017-02-27 | 2017-07-07 | 百富计算机技术(深圳)有限公司 | 一种调试嵌入式系统多中断的方法和装置 |
| CN108563450A (zh) * | 2018-04-27 | 2018-09-21 | 董利军 | 一种java虚拟机自适应优化方法、装置以及可读存储介质 |
| CN109491923A (zh) * | 2018-12-14 | 2019-03-19 | 东软集团股份有限公司 | 新增异常代码的确定方法、装置、介质及电子设备 |
| CN110427316A (zh) * | 2019-07-04 | 2019-11-08 | 沈阳航空航天大学 | 基于访问行为感知的嵌入式软件缺陷修复方法 |
| CN111324527A (zh) * | 2019-12-09 | 2020-06-23 | 许华敏 | 一种通过数据采集方式测试中断程序的装置及方法 |
| CN112069029A (zh) * | 2020-09-04 | 2020-12-11 | 北京计算机技术及应用研究所 | 国产平台pmu自适应的性能采集监控系统 |
| CN116955044A (zh) * | 2023-09-12 | 2023-10-27 | 北京开源芯片研究院 | 处理器的缓存工作机制的测试方法、装置、设备及介质 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101354675A (zh) * | 2008-08-19 | 2009-01-28 | 华南理工大学 | 一种嵌入式软件动态内存检测的方法 |
| CN101630285A (zh) * | 2009-08-07 | 2010-01-20 | 华南理工大学 | 一种应用于嵌入式系统的软件性能测试方法 |
-
2010
- 2010-08-27 CN CN2010102658991A patent/CN101937392B/zh not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101354675A (zh) * | 2008-08-19 | 2009-01-28 | 华南理工大学 | 一种嵌入式软件动态内存检测的方法 |
| CN101630285A (zh) * | 2009-08-07 | 2010-01-20 | 华南理工大学 | 一种应用于嵌入式系统的软件性能测试方法 |
Non-Patent Citations (1)
| Title |
|---|
| 《计算机工程》 20091031 刘发贵等 嵌入式软件动态内存检测工具的设计与实现 44-46 1-8 第35卷, 第20期 2 * |
Cited By (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102393829B (zh) * | 2011-10-31 | 2014-02-12 | 华南理工大学 | 一种面向嵌入式系统的磁盘i/o测试系统 |
| CN102393829A (zh) * | 2011-10-31 | 2012-03-28 | 华南理工大学 | 一种面向嵌入式系统的磁盘i/o测试系统 |
| CN102654537A (zh) * | 2012-03-31 | 2012-09-05 | 西南大学 | 改进电声脉冲法的交直流空间电荷测量系统及方法 |
| CN103514177A (zh) * | 2012-06-20 | 2014-01-15 | 盛趣信息技术(上海)有限公司 | 数据存储方法及系统 |
| CN103793325A (zh) * | 2014-01-24 | 2014-05-14 | 深圳市同洲电子股份有限公司 | 一种内核调试方法及系统 |
| CN103955424B (zh) * | 2014-03-25 | 2016-08-24 | 杭州电子科技大学 | 一种虚拟化嵌入式二进制软件缺陷检测系统 |
| CN103955424A (zh) * | 2014-03-25 | 2014-07-30 | 杭州电子科技大学 | 一种虚拟化嵌入式二进制软件缺陷检测系统 |
| CN105335145B (zh) * | 2014-08-06 | 2019-06-25 | 中兴通讯股份有限公司 | 操作结果处理方法、装置及系统 |
| WO2016019732A1 (zh) * | 2014-08-06 | 2016-02-11 | 中兴通讯股份有限公司 | 操作结果处理方法、装置及系统 |
| CN105335145A (zh) * | 2014-08-06 | 2016-02-17 | 中兴通讯股份有限公司 | 操作结果处理方法、装置及系统 |
| CN104536745A (zh) * | 2014-12-19 | 2015-04-22 | 用友金融信息技术有限公司 | 任务修改方法和任务修改装置 |
| CN104536745B (zh) * | 2014-12-19 | 2018-01-16 | 用友金融信息技术有限公司 | 任务修改方法和任务修改装置 |
| CN105846973A (zh) * | 2016-04-25 | 2016-08-10 | 北京智能综电信息技术有限责任公司 | 一种嵌入式软件的协议测试方法和装置 |
| CN106649112A (zh) * | 2016-12-20 | 2017-05-10 | 中国电子科技集团公司第五十四研究所 | 一种面向平台插件技术的测试方法 |
| CN106649112B (zh) * | 2016-12-20 | 2019-02-15 | 中国电子科技集团公司第五十四研究所 | 一种面向平台插件技术的测试方法 |
| CN106933661A (zh) * | 2017-02-27 | 2017-07-07 | 百富计算机技术(深圳)有限公司 | 一种调试嵌入式系统多中断的方法和装置 |
| CN108563450A (zh) * | 2018-04-27 | 2018-09-21 | 董利军 | 一种java虚拟机自适应优化方法、装置以及可读存储介质 |
| CN109491923A (zh) * | 2018-12-14 | 2019-03-19 | 东软集团股份有限公司 | 新增异常代码的确定方法、装置、介质及电子设备 |
| CN109491923B (zh) * | 2018-12-14 | 2021-11-12 | 东软集团股份有限公司 | 新增异常代码的确定方法、装置、介质及电子设备 |
| CN110427316A (zh) * | 2019-07-04 | 2019-11-08 | 沈阳航空航天大学 | 基于访问行为感知的嵌入式软件缺陷修复方法 |
| CN110427316B (zh) * | 2019-07-04 | 2023-02-14 | 沈阳航空航天大学 | 基于访问行为感知的嵌入式软件缺陷修复方法 |
| CN111324527A (zh) * | 2019-12-09 | 2020-06-23 | 许华敏 | 一种通过数据采集方式测试中断程序的装置及方法 |
| CN111324527B (zh) * | 2019-12-09 | 2023-08-11 | 武汉滨湖电子有限责任公司 | 一种通过数据采集方式测试中断程序的装置及方法 |
| CN112069029A (zh) * | 2020-09-04 | 2020-12-11 | 北京计算机技术及应用研究所 | 国产平台pmu自适应的性能采集监控系统 |
| CN112069029B (zh) * | 2020-09-04 | 2023-11-14 | 北京计算机技术及应用研究所 | 国产平台pmu自适应的性能采集监控系统 |
| CN116955044A (zh) * | 2023-09-12 | 2023-10-27 | 北京开源芯片研究院 | 处理器的缓存工作机制的测试方法、装置、设备及介质 |
| CN116955044B (zh) * | 2023-09-12 | 2023-12-22 | 北京开源芯片研究院 | 处理器的缓存工作机制的测试方法、装置、设备及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101937392B (zh) | 2012-06-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101937392B (zh) | 一种嵌入式软件动态缺陷检测系统 | |
| CN103729288B (zh) | 一种嵌入式多核环境下应用程序的调试方法 | |
| Pathak et al. | Where is the energy spent inside my app? Fine Grained Energy Accounting on Smartphones with Eprof | |
| Ravindranath et al. | {AppInsight}: Mobile App Performance Monitoring in the Wild | |
| CN104750603B (zh) | 一种多核dsp软件仿真器及其物理层软件测试方法 | |
| Li et al. | From library portability to para-rehosting: Natively executing microcontroller software on commodity hardware | |
| CN100435111C (zh) | 异构环境下支持多语言多平台的并行调试及性能分析方法 | |
| CN101630285A (zh) | 一种应用于嵌入式系统的软件性能测试方法 | |
| Karandikar et al. | FirePerf: FPGA-accelerated full-system hardware/software performance profiling and co-design | |
| JPH0689200A (ja) | デバッグシステム及び方法 | |
| CN102722434A (zh) | 一种针对Linux进程调度的性能测试方法和工具 | |
| CN112052073A (zh) | 脚本性能分析方法及装置、可读存储介质及电子设备 | |
| CN100370432C (zh) | 一种嵌入式软件自动化测试的装置及其方法 | |
| CN120029887A (zh) | 应用程序的插桩方法、系统、电子设备、存储介质和计算机程序产品 | |
| CN101136804A (zh) | 嵌入式应用系统的性能测试装置及其方法 | |
| Koehler et al. | Performance analysis challenges and framework for high-performance reconfigurable computing | |
| Rondeau et al. | Inspecting GNU radio applications with controlport and performance counters | |
| US6986127B1 (en) | Debugging apparatus and method for systems of configurable processors | |
| CN109032947A (zh) | 用于操作系统的测试方法、装置、设备和存储介质 | |
| CN102393829B (zh) | 一种面向嵌入式系统的磁盘i/o测试系统 | |
| CN109542731B (zh) | 一种面向gpu的层次递进下钻的性能监测方法 | |
| CN110231931A (zh) | 一种电源实时控制模块和系统 | |
| US20080141223A1 (en) | Mock source program generation program, method and apparatus | |
| CN118550777A (zh) | 调试系统和获取调试信息的方法 | |
| Khamparia et al. | Program analysis with dynamic instrumentation Pin and performance tools |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120620 Termination date: 20170827 |