Loading
0

Parasoft C/C++test如何在ARM DS-5环境中进行测试(上)

在嵌入式开发,尤其是基于ARM架构的安全关键领域,代码的可靠性与稳定性至关重要。Parasoft C/C++test作为一款强大的自动化代码测试工具,集成了静态分析、单元测试等多种测试技术,能够帮助开发者在开发早期持续地发现代码中的缺陷与漏洞。下面将聚焦于如何将Parasoft C/C++test无缝集成到ARM DS-5这一专业的开发环境中,并详细说明从环境搭建到成功执行静态分析的完整流程,为构建高可信度的ARM嵌入式软件奠定坚实基础。

>>点击获取Parasoft C/C++test试用

一、 安装

ARM 的DS-5 IDE是基于Eclipse的开发环境,C++Test提供对于Eclipse环境的插件包,将C++Test与DS-5安装在一个IDE中可以避免设置环境变量等比较麻烦的事情。(DS-5是RVDS的升级版,并不完全相同)

安装方式很简单,打开C++Test插件版,选择DS-5,选择DS-5中的Eclipse根目录(注意,安装的时候需要关闭DS-5环境),然后启动即可

二、 项目初始化

由于是将C++Test集成到DS-5 IDE中,因此不需要进行项目导入的工作。但是需要对于项目做配置让C++Test可以识别。

生成BDF文件

DS-5的项目都是基于Makefile的项目,因此可以通过cpptesttrace 命令来跟踪构建生成BDF文件。如下项目:


在DS-5提供的命令行窗口中使用 cpptesttrace make clean all之后就生成了BDF文件(当然在生成BDF文件的时候可能需要设置一些环境变量来让构建通过)

修改C++Test构建设置

项目右键->属性(properties)->Parasoft->C++Test->构建设置->选项源->使用来自构建数据文件(bdf)的选项->设置bdf文件路径(如果生成在项目路径下比较方便)->编译器设置->点击自动检测(如果没有检测出请点击左侧的下拉菜单选择ARM compiler5.0)->C、C++、连接器都输入全路径。

以下情况为项目直接识别

RVDS项目可以直接识别,DS-5的示例项目无法直接识别

如果是这样的项目可以不需要对项目做适配

三、 静态分析

许可证是申请的试用许可证,是一个license.dat文件,直接执行静态分析会报告如下错误:

错误: 收集头文件 , TrustZone/main_normal.c 完成代码 1 (ipro)"
Error: C9555E: License checkout for feature ulteval_armcompiler with version 5.0201409 has been denied by Flex back-end. Error code: -1
Cannot find license file.
 The license files (or license server system network addresses) attempted are
listed below.  Use LM_LICENSE_FILE to use a different license file,
 or contact your software provider for a license file.
Feature:       ulteval_armcompiler
Filename:      c:\program files\arm\licenses\license.dat
License path:  c:\program files\arm\licenses\license.dat;
FlexNet Licensing error:-1,359.  System Error: 2 "No such file or directory"
For further information, refer to the FlexNet Licensing documentation,
available at "www.flexerasoftware.com".
Error preprocessing file "D:\workspace\DS-5\TrustZone\main_normal.c":
Process exited with code: 1
Could not preprocess source file

这个是DS-5的许可证问题导致的报错,虽然给IDE设置过许可证了,但是还是去找c:\program files\arm\licenses\license.dat许可证,因此将许可证文件复制到该路径下之后可以执行静态分析

通过以上步骤,我们成功地在ARM DS-5环境中完成了Parasoft C/C++test的安装、项目配置并解决了许可证导致的静态分析障碍,迈出了在DS-5平台进行深度代码质量保障的第一步。Parasoft C/C++test的强大之处远不止于此。除了静态分析,它还提供了强大的单元测试与运行时错误检测能力,能够帮助客户实现从代码规范审查到深层逻辑缺陷挖掘的全方位测试,显著提升代码质量、确保软件可靠性,并最终加速符合功能安全标准的产品上市进程。

关于慧都

慧都科技(EVGET)成⽴于2003年,是⼀家⾏业数字化解决⽅案公司,⻓期专注于软件、油⽓与制造⾏业。公司基于深⼊的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与⻓期竞争优势。

慧都科技作为Parasoft公司在中国区的官方授权合作伙伴,为国内企业提供Parasoft C/C++test产品的正版授权、定制化部署与全生命周期技术支持与服务。我们致力于助力客户精准贯彻功能安全标准、全面提升软件开发效率、有效管控项目风险,最终构建符合国际标准的高质量软件体系。