Parasoft中文网站 > 使用技巧 > Parasoft MISRA规则怎么启用 Parasoft MISRA违规项怎么按等级筛选

Parasoft MISRA规则怎么启用 Parasoft MISRA违规项怎么按等级筛选

发布时间:2026-06-30 16: 19: 00

Parasoft的MISRA规则应当怎样启用,以及MISRA的违规项又该如何按照等级去筛选,这两个问题的处理方式,主要取决于项目当前使用的是Parasoft C/C++test的桌面版本、命令行版本,还是结合DTP平台来统一查看结果。MISRA规则的启用,并不是简单地把开关打开就算完成了,在这之前,还需要确认项目代码能够被正常分析,编译配置、头文件的路径、宏定义,还有规则集,这几样都是正确的。Parasoft C/C++test这个工具,能够被用在C和C++代码的质量检查上,同时也支持面向安全关键软件的编码规范合规检查,其中就包含了与MISRA有关的规则。

一、Parasoft MISRA规则怎么启用

在启用MISRA规则之前,需要先把项目导入进来,并且把编译环境配置好。如果项目本身就没有办法被正确地解析,那么后面即便把MISRA规则打开了,也会出现大量的无效报错、解析失败,或者是规则结果不完整的情况。

1、先确认项目的分析配置

项目这边,需要先把编译器、包含路径、宏定义、源文件的范围,还有构建的方式,都一一配置好。到了这一步,先不要着急去跑MISRA规则,可以先用一些基础的静态分析,来确认代码是能够被正常解析的。要是头文件找不到,条件编译的宏又有缺失,那很多违规的结果,就会是失真的,后面再去按等级筛选,也就没有什么意义了。

2、把MISRA的规则集选好

进入测试配置以后,在静态分析规则的配置当中,去选择对应的MISRA规则集,然后把它保存成项目所要使用的那份检查配置。在这个地方,需要留意的,是版本的选择,比如说,项目要求的是MISRA C:2012,还是MISRA C:2023,又或者是与MISRA C++相关的规则。规则的版本,是不能够随便混在一起用的,到了客户审查,或者功能安全审查的时候,通常都会被要求去说明,到底是采用了哪一版的标准、哪些规则是启用了的,又有哪些规则是不适用的。

3、把静态分析运行起来

配置完成以后,可以直接在IDE里面把它运行起来,也可以通过命令行,或者是CI的流水线去执行。对于团队的项目来说,更建议把规则的配置给固定下来,这样可以避免每一位开发人员本地的规则不一致。不然的话,同一套代码在不同的电脑上去扫描,就有可能出现不一样的结果。

二、Parasoft MISRA违规项怎么按等级筛选

对MISRA的违规项进行筛选,目的并不仅仅是把列表的长度变短,而是要先把那些高风险的、强制性的规则,还有会影响交付的内容,优先挑出来处理。在项目刚刚开始的时候,违规的数量会比较多,这个时候,先按照等级、规则的类别、文件的模块,以及新增和历史的状态,去做一下筛选,整改的推进会变得更容易一些。

1、按照严重的程度去筛选

在结果的视图里面,是可以根据违规的等级、规则的编号、文件的路径、负责人,或者状态,去进行过滤的。那些高等级的问题、和安全相关的模块里面的问题,以及客户要求必须要清零的问题,都应当优先去处理。低等级的,或者是历史遗留下来的问题,可以放到整改的计划里面去,但是不能长时间放在那里不管。

2、按照规则的类别去筛选

MISRA规则本身,是有不同分类的,有些规则更加偏重语言层面的安全,有些规则则更加偏重可维护性或者可移植性。在筛选的时候,不要只盯着数量去看,还要去留意规则本身的含义。比如说,空指针、越界访问、未定义的行为、类型转换的风险这一些问题,通常来讲,要比格式类的,或者可读性方面的问题,更需要提前去处理。

3、按照新增的问题去筛选

如果项目已经建立了一条基线,那就要重点去筛选那些新冒出来的违规项。历史的问题,可以按照计划分批次去消化,但是新写进去的代码,不应当继续引入相同类型的问题。这样做的好处,是可以先把增量给控制住,然后再逐步去处理存量,不至于让开发团队在一开始,就被大量的历史问题给压住。

三、Parasoft MISRA的结果怎么整理成审查材料

MISRA规则的启用,以及违规项的筛选,这些还只是前面的半段,到了后面,还需要能够撑得起审查。材料要能够说明,规则是怎么启用的,结果是怎样筛选的,违规项又是怎么去处理的,偏离又是通过什么方式来审批的。

1、把规则的配置说明保留下来

在报告里面,要把所采用的MISRA版本、启用的规则范围、检查的代码范围、工具的版本,还有分析的配置,都一一写清楚。Parasoft的资料里面也强调过,C/C++test这个工具,是可以支持在安全,以及安全关键应用开发当中,去做编码标准的合规检查的,并且也可以和CI/CD这一些流程,集成在一起。

2、把违规项的处理状态保留下来

每一条违规项,都要有一个明确的状态,比如说,已经修复了、被确认是误报、做了偏离保留,或者是暂时放在那里不处理。不能只是把一份结果的列表导出来,就算结束了,特别是那些还没有被关闭的问题,要把原因,以及后面的计划,都给说明清楚。

3、把偏离和复查的记录保留下来

如果某一些MISRA的违规项,是不能够去修改的,那就需要有偏离的理由、风险的分析、补偿的措施,还有审批的记录。已经被修复的违规项,也要重新去扫描确认一下,不能只靠着开发人员口头上说一句,已经改完了,就把它放过去。

总结

Parasoft MISRA规则怎么启用,以及MISRA违规项怎么按等级筛选,这里面最核心的地方,是先要把项目的解析环境,和规则的版本配置,都弄正确了,然后再去运行静态分析,并且按照严重的程度、规则的类别、模块的范围,还有新增的状态,去筛选结果。再往后,还要把规则的配置、扫描的结果、违规项的整改、偏离的审批,还有复查的记录,都整理成一条完整的证据链。只有这样,MISRA的检查才不是简单地去跑一下工具,而是能够真正去支撑代码质量的审查,和合规的交付。

展开阅读全文

标签:CERT软件测试安全测试代码质量分析

读者也访问过这里:
Parasoft
与世界保持同步创新的测试
立即购买
最新文章
Parasoft服务虚拟化怎么配置 Parasoft服务虚拟化环境连接失败怎么办
服务虚拟化用于测试时,需要让Virtualize Server、虚拟资产、传输连接和被测应用地址保持一致。主机名、端口、路径或证书不匹配,都可能出现连接失败或请求未命中。因此,弄清Parasoft服务虚拟化怎么配置Parasoft服务虚拟化环境连接失败怎么办,重点是把创建、部署、转发和验证连成完整链路。
2026-07-27
Parasoft接入Jenkins怎么配置 Parasoft Jenkins构建失败日志怎么排查
Parasoft接入Jenkins应当怎样配置,以及Jenkins构建失败时日志又该如何排查,这两个问题,是不少团队在把静态分析、单元测试和覆盖率接入CI的时候,都会碰到的。这里需要先分清楚两件事情,Parasoft这个工具,它负责的是执行分析、生成报告;而Jenkins这边,它负责的是调度任务、展示结果,还有控制流水线的状态。如果前一个环节没有生成出有效的报告,那么后面插件的配置就算再完整,Jenkins的页面上,也不会有正常的结果出来。所以在进行配置的时候,不能只盯着插件那边的界面,而是要把工具的执行、报告的输出、路径的读取,还有质量的判断标准,这几样东西连在一起去看。
2026-06-30
Parasoft SOAtest怎么测试接口 Parasoft SOAtest接口断言怎么设置
Parasoft SOAtest测试接口的方法,和接口断言怎样设置,这两件事的关键,是先把接口的请求调通,然后再一步一步把需要校验的地方补上去。SOAtest这个工具,能够支持REST、SOAP、微服务、数据库这些不同的测试场景,也能够根据流量或者自然语言去生成API的测试,还可以创建那种靠数据来驱动、分好几个步骤的测试流程。所以,它的用处不只是发出一个请求然后去看返回的结果,它更适合把接口的调用、参数的准备、响应的校验,还有回归的执行这一整套东西都串在一起。
2026-06-30
Parasoft DTP报告怎么查看 Parasoft DTP质量趋势怎么分析
Parasoft DTP报告怎么查看,以及DTP里的质量趋势怎么分析,这通常是项目在接入静态分析、单元测试、覆盖率或合规检查之后才会碰到的事情。DTP这个工具,它并不是要你再单独跑一次测试,它更像是一个能把各类测试结果集中起来看的质量平台,它可以把静态分析、测试执行、覆盖率和合规状态这些数据,都放在一个统一的看板里面,用来帮助判断项目当前的风险和发布准备的情况。
2026-06-30
Parasoft C/C++test怎么导入工程 Parasoft C/C++test头文件路径怎么补齐
Parasoft C/C++test导入工程的方法,以及头文件路径的补齐方式,其关键并不在于仅将源码文件夹选中。C/C++项目对编译器、宏定义、头文件目录、目标平台和构建脚本都存在依赖,如果这些信息没有被一同导入,工具所看到的代码便不是项目在真实编译时的代码,后续的静态分析、单元测试和规则检查都会因此出现偏差。Parasoft的文档中也曾提到,C/C++test能够通过构建数据文件、Visual Studio工程、CMake生成的JSON等方式,来收集输入范围和构建信息。
2026-06-30
Parasoft MISRA规则怎么启用 Parasoft MISRA违规项怎么按等级筛选
Parasoft的MISRA规则应当怎样启用,以及MISRA的违规项又该如何按照等级去筛选,这两个问题的处理方式,主要取决于项目当前使用的是Parasoft C/C++test的桌面版本、命令行版本,还是结合DTP平台来统一查看结果。MISRA规则的启用,并不是简单地把开关打开就算完成了,在这之前,还需要确认项目代码能够被正常分析,编译配置、头文件的路径、宏定义,还有规则集,这几样都是正确的。Parasoft C/C++test这个工具,能够被用在C和C++代码的质量检查上,同时也支持面向安全关键软件的编码规范合规检查,其中就包含了与MISRA有关的规则。
2026-06-30

咨询热线 15601718224