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

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

一、 安装

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文件,直接执行静态分析会报告如下错误:

lang-js 复制代码
错误: 收集头文件 , 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的强大之处远不止于此。除了静态分析,它还提供了强大的单元测试与运行时错误检测能力,能够帮助客户实现从代码规范审查到深层逻辑缺陷挖掘的全方位测试,显著提升代码质量、确保软件可靠性,并最终加速符合功能安全标准的产品上市进程。

相关推荐
慧都小项2 天前
Parasoft C/C++test如何在ARM DS-5环境中进行测试(下)
单元测试·parasoft·arm ds-5
龙智DevSecOps解决方案3 天前
什么是CVE?如何通过SAST/静态分析工具Perforce QAC 和 Klocwork应对CVE?
静态分析·cve·sast·klocwork·cwe·perforce qac
慧都小项22 天前
Parasoft C/C++test如何将静态分析集成到VSCode中
vscode·静态分析·parasoft
慧都小项23 天前
自动化测试系统Parasoft航空设备行业案例:减少75%的BUG
parasoft·qinetiq·航空电子
慧都小项1 个月前
Parasoft C/C++test 测试中 main 函数重复定义解决方案
parasoft·main函数·重复定义
慧都小项1 个月前
软件行业|Parasoft与IAR的嵌入式DevOps测试集成
自动化测试·devops·iar·parasoft
慧都小项1 个月前
Parasoft C/C++test 单元测试用例如何导出与有效管理
单元测试·测试用例·parasoft
慧都小项1 个月前
Parasoft助力RISC-V芯片量产:提供高可靠软件测试方案
软件测试·risc-v·芯片·parasoft
慧都小项1 个月前
Parasoft软件测试解决方案助力Renovo汽车ADAS开发安全与合规
自动驾驶·汽车软件·parasoft·renovo