Parasoft静态代码扫描配置使用指导

一、环境要求

CPU:I7 12核心以上
OS:Ubuntu 1604以上操作系统
硬盘:1T以上空间
内存:32G以上
编译器:GUN GCC/ARM GCC/…

二、Parasoft C/C++ Test 安装
2.1、Parasoft C/C++ Test 安装方法
绿色安装包cpptest.tar.gz
在这里插入图片描述
Tar命令解压:tar xvf ./cpptest.tar.gz -C ./
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.2、配置liences
运行cpptest
在这里插入图片描述
选择parasoft c/c++ test的工作空间(非安装目录)
在这里插入图片描述

在这里插入图片描述
菜单->Parasoft->首选项->许可证->配置
选中:使用许可证服务器
主机名:192.168.130.94
端口:8080
在这里插入图片描述
确认:

1、许可正常

2、版本为Automation Compliance Edition

点 应用并关闭

三、创建BugDetective文件(bdf)

专有名词理解:

BDF文件: BugDetective 项目文件

通俗的说bdf文件是通过parasoft c/c++ test的 cpptesttrace工具在代码正常编译的过程中对所有要编译的代码(如: .c .h)文件的一个遍历记录。

cpptest安装目录:cpptest工具安装的目录。

如:/mnt/work/tools/cpptest

cpptest workspace目录:cpptest的工作目录。

如:/home/ubuntu/parasoft/workspace

待测试代码工程可编译运行的目录。

如:/mnt/work/mcu

待测试代码工程的编译命令

如:在 /mnt/work/mcu 目录下执行 ./MCU/start.sh

运行如下命令:

cd /mnt/work/mcu

export PATH=$PATH:/mnt/work/tools/cpptest:/mnt/work/tools/cpptest/bin

cpptesttrace \

--cpptesttraceOutputFile=/mnt/work/mcu/mcu.bdf \

--cpptesttraceProjectName=Alita_MCU \

./MCU/start.sh

开始编译代码,会有/mnt/work/mcu/mcu.bdf 文件生成,等代码编译完成后,就是我们需要的bdf 文件。
在这里插入图片描述
四、通过bdf文件创建静态扫描项目
4.1、编译器配置
如果编译代码的编译器不是常用的GUN C/C++编译器,比如是arm-gcc 就需要重新配置编译器选项,同一种编译器只需要配置一次,下次使用可以在列表中选择。

本文配置的例子已经配置好,无需再配置,如有新的编译器需要按照本文档重新配置。

打开 cpptest主界面

菜单->文件->新建->其他

向导框输入:编译

列表中选中:自定义编译器
在这里插入图片描述
在这里插入图片描述
找到编译器目录确认一些信息
在这里插入图片描述
编译器名:arm-none-eabi-gcc

版本号:10.3.1

目录:xxxxxxxxxx

根据上一页得出的信息

第一步 选GUN GCC 10.x(x86_64)作为模板

第二步 选择编译器的可执行文件

第三步 填写编译器名

第四步 填写编译器标识符,一般是编译器名+版本号
在这里插入图片描述
点下一步,找到配置文件的目录复制后再点完成
在这里插入图片描述
打开目录,发现有三个配置文件。
在这里插入图片描述
在这里插入图片描述
分别删除三个文件中的所有 -m64的参数并保存。

目录退后一级
在这里插入图片描述
把gcc-arm-none-eabi-10.3的目录剪切到 /mnt/work/tools/cpptest/bin/engine/etc/compilers目录下
在这里插入图片描述
4.2、通过bdf生成静态扫描的项目
重新打开cpptest

菜单->文件->新建->项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完成

在资源管理器中会列出项目及项目下所有文件的树型列表
在这里插入图片描述
五、静态扫描并输出报告
5.1、基于内建规则创建用户自定义规则
cpptest菜单->Parasoft->测试配置->内建->Automotive Pack->MISRA C 2012

选中后鼠标点右键->复制

在 用户自定义->Compliance Pack-> Automotive Pack 下多了一个内建MISRA C 2012的拷贝

自定义的规则 “MISA C 2012” 改名 成 “MISRA_C_2012_UD”
在这里插入图片描述
5.2、修改静态规则
根据需求修改检查项再点 应用 和 关闭

一般修改的方法为:

删除 “建议项”扫描规则。

保留 “必须项”和“强制项”
在这里插入图片描述
5.3、静态测试分析
项目资源管理->Parasoft->测试执行->用户自定义->Compliance Packs->Automotive Pack->MISRA_C_2012_UD
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5.4、生成报告
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
六、命令的方式创建项目和静态检查
6.1、用cpptest导出localsettings.properties
菜单->parasoft->首选项->parasoft
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
增加编译器配置

打开localsettings.properties

增加编译器配置

6.2、用cpptestcli命令通过bdf文件生成静态检查工程

export PATH=$PATH:/mnt/work/tools/cpptest:/mnt/work/tools/cpptest/bin

cpptestcli -data /home/ubuntu/parasoft/workspace \

-bdf /mnt/work/mcu/mcu.bdf \

-localsettings /home/ubuntu/parasoft/workspace/localsettings.properties

在这里插入图片描述
6.3、用cpptestcli命令进行静态检查并输出报告

export PATH=$PATH:/mnt/work/tools/cpptest:/mnt/work/tools/cpptest/bin

cpptestcli -data /home/ubuntu/parasoft/workspace -resource "Alita_MCU" \

-config "user://MISRA_C_2012_UD" \

-localsettings /home/ubuntu/parasoft/workspace/localsettings.properties \

-report /mnt/work/mcu/report

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_27577263/article/details/128338703