![](https://i-blog.csdnimg.cn/blog_migrate/66e1070606ad6e327cfec02544511362.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a426cc82a65fb2eaa0e25c5bb43fcb26.png)
01
设备名称
实时系统软件执行时间性能测试工具(ARTs)
ARTs:High Accuracy Real Time Test And Analysis System For Embedded Software
02
该设备承担的任务
在嵌入式软件开发、测试领域,迫切需要一种工具,从单元、集成、系统、现场等各个阶段,在用户开发的真实的CPU目标板上进行嵌入式软件的实时在线测试和分析,保证系统的性能和可靠性。
实时系统软件执行时间性能测试工具ARTs,从目标板总线或者通讯接口或者内存获取信号,实现真实目标机在环系统级测试,对实时在线采集到的数据进行分析,得到被测软件的白盒测试结果,包括性能分析、测试覆盖分析(语句覆盖和分支覆盖)、动态内存分配分析、代码跟踪、变量跟踪、支持汇编语言、动态实时调用分析、最差执行时间分析和报告自动生成功能。
![](https://i-blog.csdnimg.cn/blog_migrate/f05b9b73375a31e0a34aa71179f2fc28.jpeg)
ARTs采用优化高效的赋值语句插桩方式对源代码进行插桩,优化分支插桩点,使得代码膨胀率最小,对系统时间性能影响很小,做到最大的系统无关性。对嵌入式软件系统的性能测试最准确。
ARTs利用硬件辅助、实时、在线从目标板接口获取数据,为跟踪嵌入式应用程序,分析软件性能、内存泄漏及测试软件的覆盖率等提供了一个实时在线的高效率解决方案。
ARTs利用硬件的实时性,所以其性能分析进度达到na秒级别,实现高精度的数据分析能力。
ARTs利用最新的时间分析法,通过动态实时获取分析数据,根据嵌入式本身的特性,在各种环境状况下,特别是在系统中断发生时刻不确定的情况下,要统计最差执行时间,只用静态分析是得不到最差执行时间的,只有动态的方法才是最有效、最准确的分析方法。
03
新增必要性
目前本单位里对实时系统软件执行时间性能测试工具(ARTs)需求和现状分析,它的采购,不仅提高本单位里测试条件的改善,也是测试水平提高一个新的台阶。
ARTs首先对源代码进行插桩预处理,插入标记符号,代表源代码语句及类型信息;然后在原有的开发环境中编译插桩后的代码,并下载到目标板中运行,通过加载不同的激励信号,目标代码会执行不同的分支。在程序执行的过程中,插入的标记符号会通过CPU的总线或者通讯接口或者内存输出;通过硬件辅助实时在线采集总线数据,交由本模块进行数据分析和记录,结合生成的文件数据库分析结果和插桩数据信息,就可以得到软件的运行信息,对应到源代码文件和各个分支点,统计代码覆盖率信息,函数执行时间,最差执行时间,动态内存分配释放数据,动态实时调用分析,汇编代码打点分析。
3.1 主要功能
ü 高度自动化模式
ü 自动化打点
ü 性能分析
ü 测试覆盖分析
ü 内存分析
ü 代码跟踪
ü 变量跟踪
ü 支持汇编语言
ü 动态实时调用分析
ü T_WCET最差执行时间
ü F_WCET最差执行时间
ü 总线数据采集
ü 通讯接口数据采集
ü 内存方式数据采集
ü 支持多种CPU和开发环境
ü 测试报告
3.2技术指标
ü 代码行数支持100000行;
ü 同时对多达6000个函数;
ü 同时对多达6000个文件;
ü 变量最大记录值个数100000;
ü 支持C/C++语言;
ü TRACE跟踪记录容量大于1万条源程序;
ü 时间误差不大于10nS;
04
现有技术条件分析
目前我单位缺少独立的嵌入式软件性能实时测试工具,对于嵌入式软件测试的手段主要以手工的方式为主,工作量比较大,只能完成基本的功能测试,一些失效测试、强度测试等安全性方面的测试无法实现,无法对嵌入式软件进行相对全面的测试,测试工作成效不甚理想,也不利于发现被测试嵌入式软件存在的问题,尤其是对于高安全性、高可靠性等要求较高的嵌入式软件,未发现的软件问题可能会存在很大的隐患。
在嵌入式软件开发、测试领域,迫切需要一种工具,尤其是在没有被测CPU目标板或者外部设备I/O环境时,对系统设计和实现,进行原理验证、功能测试和故障隔离分析,保证软件系统的正确性和可靠性。
![](https://i-blog.csdnimg.cn/blog_migrate/2679725750c0ea73c4428f9e746a638e.jpeg)
在本单位高安全、高可靠性的科研项目中,特需一种通用化平台,用于科研单位的项目前期验证、项目开发、项目后期的软件测试和维护。
在测试阶段,为了全面提供测试方法和手段,特别是第三方测试单位,更加需要一个对多种CPU都能兼容的测试平台,在现有的测试激励注入的情况下,采集所需要的测试数据,对数据进行分析,得到白盒统计结果,系统性能结果,最差执行时间结果,并自动化产生测试报告。
在测试过程中,所里缺少从硬件、实时、在线从目标板总线获取数据,为跟踪嵌入式应用程序,分析软件性能、最差执行时间、内存泄漏及测试软件的覆盖率等提供了一个实时在线的高效率测试平台。