CN102063370A - 一种从总线指令流中提取实际执行指令和预取指令的方法 - Google Patents

一种从总线指令流中提取实际执行指令和预取指令的方法 Download PDF

Info

Publication number
CN102063370A
CN102063370A CN2010106112549A CN201010611254A CN102063370A CN 102063370 A CN102063370 A CN 102063370A CN 2010106112549 A CN2010106112549 A CN 2010106112549A CN 201010611254 A CN201010611254 A CN 201010611254A CN 102063370 A CN102063370 A CN 102063370A
Authority
CN
China
Prior art keywords
instruction
buffer area
address
emulation processor
processor buffer
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
CN2010106112549A
Other languages
English (en)
Other versions
CN102063370B (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 CN 201010611254 priority Critical patent/CN102063370B/zh
Publication of CN102063370A publication Critical patent/CN102063370A/zh
Application granted granted Critical
Publication of CN102063370B publication Critical patent/CN102063370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

一种从总线指令流中提取实际执行指令和预取指令的方法,本发明根据8086/186/386处理器的片上缓存行为,仅在8086/186/386处理器总线指令流断裂时进行预取指令分析,且仅对当前缓存内指令流遍历一遍,能够准确而有效地过滤总线上出现的预取指令,分析得到处理器实际执行指令,从而提高了测试效率。由于8086、80186、80386处理器指令集的一致性、处理器缓存操作的相似性(仅缓存大小略有不同),本发明完全可以通用于这3款处理器的目标码覆盖率测试。

Description

一种从总线指令流中提取实际执行指令和预取指令的方法
技术领域
本发明涉及一种从总线指令流中提取实际执行指令和预取指令的方法,尤其涉及一种从8086/186/386处理器总线指令流中提取实际执行指令和预取指令的方法,主要用于测试软件目标码覆盖率。
背景技术
在现有的软件测试领域中,一般通过软件执行覆盖率反映软件测试的质量和进度。软件覆盖率自上至下一般分为3个层次:功能覆盖率、源代码覆盖率和目标码覆盖率。目前大多数覆盖率工具都是针对源代码级的,一般采用软件插桩技术(如华为技术有限公司03101273.6号专利“一种嵌入式系统覆盖率统计方法”、李周的200710123818.2号专利“一种嵌入式系统测试方法”),这种方法的原理是对源代码进行修改,插入桩点,在软件执行时,根据桩点输出信息统计软件的源代码覆盖率。这种方法中,桩点的代码不可避免地对软件本身的执行造成影响,导致软件相关性能指标失真,而且桩点为了输出执行信息,必然会占用软件部分外围端口或通信通道。
而针对目标码的覆盖率工具(如逻辑分析仪、白盒测试工具SystemVerify)一般采用内存总线监测技术(即使用硬件探头连接处理器内存总线,监测处理器从内存读取指令的地址,结合软件目标码进行分析后即可得出目标码的执行信息,并统计覆盖率),避免了上述插桩问题,而且目标码由于是软件的最终形态,这种层次的覆盖率统计更具真实性和可信性。同时该类型工具也可以统计软件的性能指标,记录软件的执行路径,常用于软件测试分析和问题定位。
但在这种技术应用于8086/186/386处理器的目标码覆盖率统计时,发现该类处理器具有片上缓存,处理器从内存中获取指令后,先放入片上缓存,处理器再根据指令内容自主判断执行缓存中的哪些指令。这样就导致处理器从内存中读取的指令(即总线上出现指令的地址)并不一定被处理器实际执行(称这种总线上出现而不被执行的指令为预取指令)。预取指令的出现导致了目标码覆盖率获取结果与实际执行结果偏差过大,失去统计意义。
发明内容
本发明的技术解决问题是:克服现有技术地不足,提供一种从总线指令流中提取实际执行指令和预取指令的方法,解决了8086/186/386处理器片上缓存带来的预取指令问题,本发明能够过滤总线指令流上出现的预取指令,分析得到处理器实际执行指令,准确有效地测试8086/186/386处理器的目标码覆盖率。
本发明的技术解决方案是:一种从总线指令流中提取实际执行指令和预取指令的方法,步骤如下:
(1)根据目标代码建立跳转地址表,跳转地址表包括指令地址、指令类型、指令长度和跳转目标地址;
(2)建立一个空的仿真处理器缓存区用于记录总线指令采集地址,该仿真处理器缓存为一个先入先出缓存区;
(3)采集总线指令地址,将首次采集的总线指令地址放入仿真处理器缓存区中,将下次采集的总线指令地址与仿真处理器缓存区中最后一条指令的地址进行连续性判断,如果地址连续则执行步骤(4),否则执行步骤(5);
(4)将本次采集的总线指令地址放入仿真处理器缓存区中,判断仿真处理器缓存区的数据是否溢出,如果仿真处理器缓存区有溢出则将仿真处理器缓存区中的首条指令移出,将移出的指令设置为实际执行指令,如果仿真处理器缓存区的数据没有溢出,则继续采集总线指令地址并放入仿真处理器缓存区中,直至总线指令地址采集结束;
(5)将仿真处理器缓存区中的总线指令地址对应的指令设置为预取指令,并将不连续的总线指令地址作为目的地址,将仿真处理器缓存区中首个总线指令地址对应的指令进行LPAS处理,如果LPAS处理的结果为“非法路径”,则清空仿真处理器缓存区;如果LPAS处理的结果为“找到合法路径”,则首条指令为实际执行指令,其余指令为预取指令;如果LPAS处理的结果为“未找到合法路径”,则执行步骤(6);
(6)将仿真处理器缓存区中下一条总线指令地址对应的指令进行LPAS处理,如果LPAS处理的结果为“非法路径”,则仿真处理器缓存区中所有总线指令地址对应的指令均为预取指令,清空仿真处理器缓存区;如果LPAS处理的结果为“找到合法路径”,则该条指令为实际执行指令,其余指令为预取指令;如果LPAS处理的结果为“未找到合法路径”,则该条指令为实际执行指令,继续执行步骤(6)直至总线指令地址对应的所有指令处理完毕,则仿真处理器缓存区中所有总线指令地址对应的指令均为预取指令,清空仿真处理器缓存区;
所述LPAS处理的方法为:
(a)根据跳转地址表中的指令类型对当前指令的指令类型进行判断,如果指令类型为分支指令,执行步骤(b),如果指令类型为跳转指令则执行步骤(c),如果指令类型为返回指令则返回“找到合法路径”,否则返回“未找到合法路径”;
(b)将目的地址与跳转地址表中的跳转目标地址进行比较,如果两个地址一致则返回“找到合法路径”,如果两个地址不一致则返回“未找到合法路径”;
(c)将目的地址与跳转地址表中的跳转目标地址进行比较,如果两个地址一致则返回“找到合法路径”,如果两个地址不一致则返回“非法路径”。
本发明与现有技术相比的有益效果为:本发明根据8086/186/386处理器的片上缓存行为,仅在8086/186/386处理器总线指令流断裂时进行预取指令分析,且仅对当前缓存内指令流遍历一遍,能够准确而有效地过滤总线上出现的预取指令,分析得到处理器实际执行指令,从而提高了测试效率。由于8086、80186、80386处理器指令集的一致性、处理器缓存操作的相似性(仅缓存大小略有不同),本发明完全可以通用于这3款处理器的目标码覆盖率测试。
附图说明
图1为本发明的工作流程图。
图2为本发明实施例的指令提取流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步说明。
如图1所示,本发明的工作流程如下:
(1)根据目标代码建立跳转地址表,跳转地址表包括指令地址、指令类型、指令长度和跳转目标地址;
(2)建立一个空的仿真处理器缓存区用于记录总线指令采集地址,该仿真处理器缓存为一个先入先出缓存区;
(3)采集总线指令地址,将首次采集的总线指令地址放入仿真处理器缓存区中,将下次采集的总线指令地址与仿真处理器缓存区中最后一条指令的地址进行连续性判断,如果地址连续则执行步骤(4),否则执行步骤(5);
(4)将本次采集的总线指令地址放入仿真处理器缓存区中,判断仿真处理器缓存区的数据是否溢出,如果仿真处理器缓存区有溢出则将仿真处理器缓存区中的首条指令移出,将移出的指令设置为实际执行指令,如果仿真处理器缓存区的数据没有溢出,则继续采集总线指令地址并放入仿真处理器缓存区中,直至总线指令地址采集结束;
(5)将仿真处理器缓存区中的总线指令地址对应的指令设置为预取指令,并将不连续的总线指令地址作为目的地址,将仿真处理器缓存区中首个总线指令地址对应的指令进行LPAS处理,如果LPAS处理的结果为“非法路径”,则清空仿真处理器缓存区;如果LPAS处理的结果为“找到合法路径”,则首条指令为实际执行指令,其余指令为预取指令;如果LPAS处理的结果为“未找到合法路径”,则执行步骤(6);
(6)将仿真处理器缓存区中下一条总线指令地址对应的指令进行LPAS处理,如果LPAS处理的结果为“非法路径”,则仿真处理器缓存区中所有总线指令地址对应的指令均为预取指令,清空仿真处理器缓存区;如果LPAS处理的结果为“找到合法路径”,则该条指令为实际执行指令,其余指令为预取指令;如果LPAS处理的结果为“未找到合法路径”,则该条指令为实际执行指令,继续执行步骤(6)直至总线指令地址对应的所有指令处理完毕,则仿真处理器缓存区中所有总线指令地址对应的指令均为预取指令,清空仿真处理器缓存区;
所述LPAS处理的方法为:
(a)根据跳转地址表中的指令类型对当前指令的指令类型进行判断,如果指令类型为分支指令,执行步骤(b),如果指令类型为跳转指令则执行步骤(c),如果指令类型为返回指令则返回“找到合法路径”,否则返回“未找到合法路径”;
(b)将目的地址与跳转地址表中的跳转目标地址进行比较,如果两个地址一致则返回“找到合法路径”,如果两个地址不一致则返回“未找到合法路径”;
(c)将目的地址与跳转地址表中的跳转目标地址进行比较,如果两个地址一致则返回“找到合法路径”,如果两个地址不一致则返回“非法路径”。
下面以一个具体的例子说明本发明的提取过程:
(1)建立跳转地址表,跳转地址表需根据软件目标码信息进行,使用目标码分析工具及反汇编工具可得到软件目标码的反汇编及地址信息,例如:
000E014B cmp eax,00000002
000E014F jz 0167(JMPDEST:0x000E0167)
000E0151 cmp eax,00000003
000E0155 jz 016E(JMPDEST:0x000E016E)
000E0157 jmp 015F(JMPDEST:0x000E015F)
000E0159 call E000:0084(JMPDEST:0x000E0084)
000E015E retf16
000E015F cld
000E0160 mov ds.ax
000E014B、000E014F等表示指令地址,cmp、jz等是指令操作符,如果指令是分支指令(je、jz、jne、jnz、js、jns、jo、jno、jb、jnae、jc、jnb、jae、jnc、jbe、jna、jnbe、ja、jp、jpz、jnp、jpo、jl、jngz、jnl、jgz、jle、jng、jnle、jg、jcxz、jge、jpe)或跳转指令(loope、loopne、loop、loopz、loopnz、jmp、call),则其后面跟随的参数是跳转目标地址;而返回指令(retn16、iret16、retf16)后面无参数。根据这些信息,建立跳转地址表,表索引为指令地址,内容为指令类型、指令长度和跳转目标地址。例如:
  索引(指令地址)   指令类型   指令长度   跳转目标地址
  000E014B   一般语句   4   0
  000E014F   分支语句   2   000E0167
  000E0151   一般语句   4   0
  000E0155   分支语句   2   000E016E
  000E0157   跳转语句   2   000E015F
  000E0159   跳转语句   5   000E0084
  000E015E   返回语句   1   0
  000E015F   一般语句   1   0
  000E0160   一般语句   2   0
(2)建立仿真处理器缓存。定义一个缓存地址队列(例如CUlntArray),初始为空。定义变量记录缓存使用量,初始为0。
(3)等待采集总线指令地址,将首次采集的总线指令地址放入仿真处理器缓存区中,将下次采集的总线指令地址与仿真处理器缓存区中最后一条指令的地址进行连续性判断,判断队列队尾的地址与新采集的指令地址是否连续(连续的定义为:新采集指令地址=队尾的地址+队尾的地址对应指令的长度)。如果地址连续则执行步骤(4),否则执行步骤(5);
为了方便说明,这里假设总线采集了一组386处理器的总线指令流:000E0151、000E0155、000E0157、000E0159、、000E015F。
根据这些的总线采集指令流,缓存地址队列的变化如图2所示,图中401到402、402到403、403到404地址连续且缓存无溢出、图中404到405表示地址连续缓存溢出,处理方法均采用步骤(4)的方法,得到405的队列状态。图中405到406表示由于采集指令地址不连续,采用步骤(5)的处理,得到406的队列状态。
(4)将本次采集的总线指令地址放入仿真处理器缓存区中,判断仿真处理器缓存区的数据是否溢出,如果仿真处理器缓存区有溢出则将仿真处理器缓存区中的首条指令移出,将移出的指令设置为实际执行指令,如果仿真处理器缓存区的数据没有溢出,则继续采集总线指令地址并放入仿真处理器缓存区中,将新采集指令地址放入队列队尾,更新缓存使用量(即:缓存使用量=缓存使用量+新采集指令的指令长度),直至总线指令地址采集结束;
判断缓存的溢出情况,如果缓存使用量大于实际处理器缓存大小(8086为6,80186为7,80386为12),则说明溢出,将缓存地址队列队首移出队列,将其地址对应的指令(简称为HC)设置为实际执行指令,更新缓存使用量(即:缓存使用量=缓存使用量-HC的长度);
(5)将仿真处理器缓存区中的总线指令地址对应的指令设置为预取指令,并将不连续的总线指令地址作为目的地址,即断裂后首条指令的地址作为目的地址,将总线指令地址对应的首个指令进行LPAS处理,如果LPAS处理的结果为“非法路径”,则清空仿真处理器缓存区,设置缓存使用量为0;如果LPAS处理的结果为“找到合法路径”,则首条指令为实际执行指令,其余指令为预取指令;如果LPAS处理的结果为“未找到合法路径”,则执行步骤(6);
(6)将总线指令地址对应的下一条指令进行LPAS处理,如果LPAS处理的结果为“非法路径”,则仿真处理器缓存区中所有总线指令地址对应的指令均为预取指令,清空仿真处理器缓存区;如果LPAS处理的结果为“找到合法路径”,则该条指令为实际执行指令,其余指令为预取指令;如果LPAS处理的结果为“未找到合法路径”,则该条指令为实际执行指令,继续执行步骤(6)直至总线指令地址对应的所有指令处理完毕,则仿真处理器缓存区中所有总线指令地址对应的指令均为预取指令,清空仿真处理器缓存区。
合理路径法子过程(LPAS)处理过程如下:
(a)根据跳转地址表中的指令类型对当前指令的指令类型进行判断,如果指令类型为分支指令,执行步骤(b),如果指令类型为跳转指令则执行步骤(c),如果指令类型为返回指令则返回“找到合法路径”,否则返回“未找到合法路径”;
(b)将目的地址与跳转地址表中的跳转目标地址进行比较,如果两个地址一致则返回“找到合法路径”,如果两个地址不一致则返回“未找到合法路径”;
(c)将目的地址与跳转地址表中的跳转目标地址进行比较,如果两个地址一致则返回“找到合法路径”,如果两个地址不一致则返回“非法路径”。
对于本例中进行的LPAS处理,其中输入指令流为000E0155、000E0157、000E0159,目的地址为000E15F。
首先,设置这些指令均为预取指令。
之后开始使用LPAS分析000E0155指令:先设置该指令为实际执行指令,经判断后,该指令为分支指令,但其跳转目标地址与目的地址不一致,而且跳转目标地址也在指令流范围外,LPAS过程返回“未找到合法路径”。
之后使用LPAS分析000E0157指令:先设置该指令为实际执行指令,经判断后,该指令为跳转指令,其跳转目标地址与目的地址一致,则返回“找到合法路径”。
经上述处理后,指令的执行状态标记如下:
实际执行指令000E0151 cmp eax,00000003
实际执行指令000E0155 jz 016E  (JMPDEST:0x000E016E)
实际执行指令000E0157 jmp 015F(JMPDEST:0x000E015F)
预取指令000E0159 call E000:0084(JMPDEST:0x000E0084)
预取指令000E015E retf16
实际执行指令000E015F cld
不难看出,这些结果符合X86指令集的指令特性,合乎处理器工作逻辑,达到了根据总线指令流分析处理器实际执行指令的目的。
本发明未详细描述内容为本领域技术人员公知技术。

Claims (1)

1.一种从总线指令流中提取实际执行指令和预取指令的方法,其特征在于步骤如下:
(1)根据目标代码建立跳转地址表,跳转地址表包括指令地址、指令类型、指令长度和跳转目标地址;
(2)建立一个空的仿真处理器缓存区用于记录总线指令采集地址,该仿真处理器缓存为一个先入先出缓存区;
(3)采集总线指令地址,将首次采集的总线指令地址放入仿真处理器缓存区中,将下次采集的总线指令地址与仿真处理器缓存区中最后一条指令的地址进行连续性判断,如果地址连续则执行步骤(4),否则执行步骤(5);
(4)将本次采集的总线指令地址放入仿真处理器缓存区中,判断仿真处理器缓存区的数据是否溢出,如果仿真处理器缓存区有溢出则将仿真处理器缓存区中的首条指令移出,将移出的指令设置为实际执行指令,如果仿真处理器缓存区的数据没有溢出,则继续采集总线指令地址并放入仿真处理器缓存区中,直至总线指令地址采集结束;
(5)将仿真处理器缓存区中的总线指令地址对应的指令设置为预取指令,并将不连续的总线指令地址作为目的地址,将仿真处理器缓存区中首个总线指令地址对应的指令进行LPAS处理,如果LPAS处理的结果为“非法路径”,则清空仿真处理器缓存区;如果LPAS处理的结果为“找到合法路径”,则首条指令为实际执行指令,其余指令为预取指令;如果LPAS处理的结果为“未找到合法路径”,则执行步骤(6);
(6)将仿真处理器缓存区中下一条总线指令地址对应的指令进行LPAS处理,如果LPAS处理的结果为“非法路径”,则仿真处理器缓存区中所有总线指令地址对应的指令均为预取指令,清空仿真处理器缓存区;如果LPAS处理的结果为“找到合法路径”,则该条指令为实际执行指令,其余指令为预取指令;如果LPAS处理的结果为“未找到合法路径”,则该条指令为实际执行指令,继续执行步骤(6)直至总线指令地址对应的所有指令处理完毕,则仿真处理器缓存区中所有总线指令地址对应的指令均为预取指令,清空仿真处理器缓存区;
所述LPAS处理的方法为:
(a)根据跳转地址表中的指令类型对当前指令的指令类型进行判断,如果指令类型为分支指令,执行步骤(b),如果指令类型为跳转指令则执行步骤(c),如果指令类型为返回指令则返回“找到合法路径”,否则返回“未找到合法路径”;
(b)将目的地址与跳转地址表中的跳转目标地址进行比较,如果两个地址一致则返回“找到合法路径”,如果两个地址不一致则返回“未找到合法路径”;
(c)将目的地址与跳转地址表中的跳转目标地址进行比较,如果两个地址一致则返回“找到合法路径”,如果两个地址不一致则返回“非法路径”。
CN 201010611254 2010-12-17 2010-12-17 一种从总线指令流中提取实际执行指令和预取指令的方法 Active CN102063370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010611254 CN102063370B (zh) 2010-12-17 2010-12-17 一种从总线指令流中提取实际执行指令和预取指令的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010611254 CN102063370B (zh) 2010-12-17 2010-12-17 一种从总线指令流中提取实际执行指令和预取指令的方法

Publications (2)

Publication Number Publication Date
CN102063370A true CN102063370A (zh) 2011-05-18
CN102063370B CN102063370B (zh) 2013-10-16

Family

ID=43998655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010611254 Active CN102063370B (zh) 2010-12-17 2010-12-17 一种从总线指令流中提取实际执行指令和预取指令的方法

Country Status (1)

Country Link
CN (1) CN102063370B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218206A (zh) * 2012-01-18 2013-07-24 上海算芯微电子有限公司 指令分支的预跳转方法和系统
CN113190448A (zh) * 2021-05-06 2021-07-30 网易(杭州)网络有限公司 测试代码更新方法及装置、电子设备、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070006158A1 (en) * 2005-05-27 2007-01-04 Matsushita Electric Industrial Co., Ltd. Instruction execution device, debugging method, debugging device, and debugging program
CN101727312A (zh) * 2009-01-22 2010-06-09 杭州中天微系统有限公司 一种支持自动纠错功能的返回地址栈实现方法
CN101777021A (zh) * 2010-01-21 2010-07-14 北京龙芯中科技术服务中心有限公司 微处理器中精确数据断点的实现装置及其方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070006158A1 (en) * 2005-05-27 2007-01-04 Matsushita Electric Industrial Co., Ltd. Instruction execution device, debugging method, debugging device, and debugging program
CN101727312A (zh) * 2009-01-22 2010-06-09 杭州中天微系统有限公司 一种支持自动纠错功能的返回地址栈实现方法
CN101777021A (zh) * 2010-01-21 2010-07-14 北京龙芯中科技术服务中心有限公司 微处理器中精确数据断点的实现装置及其方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218206A (zh) * 2012-01-18 2013-07-24 上海算芯微电子有限公司 指令分支的预跳转方法和系统
CN113190448A (zh) * 2021-05-06 2021-07-30 网易(杭州)网络有限公司 测试代码更新方法及装置、电子设备、存储介质
CN113190448B (zh) * 2021-05-06 2022-11-04 网易(杭州)网络有限公司 测试代码更新方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN102063370B (zh) 2013-10-16

Similar Documents

Publication Publication Date Title
CN100401267C (zh) 微处理器的片上动态跟踪方法
CN102222041A (zh) 一种基于嵌入式软件的测试分析系统及方法
CN102789413A (zh) 一种并行程序的调试系统及方法
CN101344865B (zh) 一种cpu占用率测量方法及装置
CN103136107A (zh) 一种嵌入式程序动态分配内存的变量调试方法
CN101408862A (zh) 一种嵌入式系统测试方法
WO2023011236A1 (zh) 一种程序源码的编译优化方法及相关产品
CN104850411A (zh) 存储系统基准评测程序生成方法及装置
CN101719204B (zh) 基于中间指令动态插装的Heapspray型网页木马的检测方法
CN101458630B (zh) 一种基于硬件模拟器的自修改代码识别方法
CN102063370B (zh) 一种从总线指令流中提取实际执行指令和预取指令的方法
CN107885675B (zh) 一种多功能测量仪器程控命令处理方法
CN102611836B (zh) 一种基于Labview的高速图像采集方法
CN105824749B (zh) 一种linux系统下用户态进程异常的分析方法
CN101661409A (zh) 并行程序通信模式的提取方法及系统
CN105487983A (zh) 基于智能路径引导的敏感点逼近方法
CN102087629A (zh) 一种基于Agent嵌入式软件的不变量测试方法与工具
CN103092759A (zh) 一种嵌入式环境下的代码动态性能剖析器
CN103455364B (zh) 一种多核环境并行程序Cache性能在线获取系统及方法
CN109407578A (zh) 一种Profibus-DP总线控制器的数据处理方法
CN102541738B (zh) 加速多核cpu抗软错误测试的方法
CN106547531B (zh) 基于php的应用性能管理方法及其模块
WO2021077735A1 (zh) 基于risc-v扩展指令的源码覆盖率测试方法和系统
CN109298999B (zh) 一种基于数据分布特征的核心化软件测试方法和装置
CN102779066A (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
C14 Grant of patent or utility model
GR01 Patent grant