飞道的博客

Helix QAC企业级自动代码静态分析器

378人阅读  评论(0)

随着现代车辆的智能化发展(ADAS, Telematics, Infotainment, Cloud Services),车载代码量呈指数级增长,代码静态分析的自动化势在必行,且人们对功能安全的要求日益严格,符合行业编码规范是对车载代码的基础要求。

美国Perforce(PRQA)公司是嵌入式静态分析领域公认的行业领导及先驱,拥有30多年软件开发及测试经验,是MISRA编码委员会创始会员及最具影响力的会员,同时是AUTOSAR组织在代码静态分析领域的唯一会员,负责功能安全软件架构的相关标准制定工作,参与编写了C++14编码指南,制定了AUTOSAR测试方案。

Perforce的Helix QAC作为业内为人熟知的自动代码静态分析工具,可以支持MISRA C/C++、AUTOSAR C++、CERT C/C++、CWE C/C++、HICPP、JSF AV C++编码规范包,其精准的诊断消息和强大的软件生命周期管理平台为全球3000多个整车厂和零部件供应商所信赖。

北汇信息作为Perforce的合作伙伴,将为中国客户提供专业的静态代码测试解决方案。



Helix QAC特性

Helix QAC是静态分析领域公认的行业先驱,旨在帮助开发和测试人员在Coding阶段实现高效的自动化静态测试,发现代码潜在缺陷,衡量代码质量,缩减开发时间,降低开发成本。Helix QAC包含3部分主体:

Helix QAC/C++静态分析器 可以兼容数百万行代码,高速执行静态分析;

编码规范包 可选组件,配合静态分析器实现代码的合规性测试;

项目管理平台Helix QAC Dashboard 全生命周期软件开发管理。



1、 代码静态分析

Helix QAC借助特有的深度数据流分析引擎,模拟代码运行时机制,检测C/C++语言中会降低代码复用性、导致功能安全问题、产生网络安全漏洞的危险代码结构,最大限度提高代码检测覆盖率,最小化漏报误报率。

Helix QAC目前提供多达4107条诊断消息,其中针对C语言2156条,C++1951条,这意味着对编码规范更全面更精准的覆盖,因为每一条诊断消息都对应具体的编码规则,可以有效诊断指针操作、类型转换、溢出/零除、未定义行为、数据流等等问题,并提供在线help,开发工程师可以根据help实时修改源码。

图 1 Helix QAC代码审查

2、 度量元指标

度量元是对源代码某些可量化属性的度量,每个度量元都从不同角度反映代码质量,比如复杂性、可读性、残留的bug或可测试性等。Helix QAC提供基于函数以及文件的度量元118个,其中针对C语言65个,C++53个,为企业制定度量元标准、控制度量元数值、掌控代码质量提供强有力的依据。



3、 Helix QAC支持的编码规范

Helix QAC可以自动遵循以下编码规范,并对诊断消息划分严重等级,帮助用户最先解决严重问题,使其软件符合ISO26262要求。
1)MISRA C 2004、MISRA C 2012、MISRA C++ 2008:嵌入式系统最理想的编码规范,防止会导致功能安全问题及网络安全漏洞的错误编码。

2)AUTOSAR C++ 14:为应用现代C++语言编写安全和任务关键型嵌入式系统提供有效指导。

3)CERT C/C++:旨在清除代码中可能导致网络安全的编码惯例以及未定义行为。

4)CWE C/C++:从架构、设计、乃至编码层面描述代码中常见的网络安全问题,可以作为识别、减少、预防漏洞的基线。

Helix QAC基于对以上编码规范良好的执行力和覆盖度,帮助全球各大整车厂、零部件供应商及其他行业如航空、军工、医疗等领域的企业提高代码质量,实现对编码规范及相关行业标准的最佳实践。

图 2 编码规范覆盖度


4、 Helix QAC Dashboard

Helix QAC Dashboard是基于网页端的项目质量管理平台,可实现异地团队项目信息共享,核心开发人员、开发经理、高级管理人员可以在此平台查看源码诊断消息、进行基线/版本管理、添加修改注释、热力图快速定位问题源码、关注代码质量走势、设置项目权限、查看代码合规情况、定制报告等等,给客户呈现一种更广义的质量管理概念。

图 3 Helix QAC Dashboard 自定义窗口

图 4 度量元观测代码质量趋势


5、 集成环境

1) IDE集成环境:Microsoft Visual Studio、Eclipse

2) CI环境:Jenkins、Jira等通过命令行实现交互



6、 支持的操作系统

1) Windows

2) Linux



7、 多样化的本地报告

合规报告:给出代码对编码规范的遵循情况,直观定位问题代码。

代码审查报告:总结基于文件和函数的度量元数据、函数调用等信息。

Metrics数据报告:提供XML文件,可用作进一步检查代码质量度量的数据源。

抑制报告:提供分析工程期间诊断消息的抑制情况。

图 5 Helix QAC本地报告

资质认证

Helix QAC得到SGS-TÜV SAAR认证,可用于安全相关软件的开发,符合IEC 61508(SIL4), ISO 26262(ASIL D), EN 50128(SW-SIL4), IEC 60880以及IEC 62304(Software Safety Class C)标准,帮助客户用更少的时间完成产品认证。

图 6 资质认证证书

客户列表(部分)



------------------------------------------------------------------------------------------------------------------------------------------




喜欢此篇文章的话欢迎一键三联支持小编吧~!

更多相关资讯及业务介绍,欢迎访问上海北汇信息官方网站:上海北汇信息科技有限公司
北汇官方知乎账号:北汇信息-知乎
更多技术干货,行业前沿动态,请关注上海北汇信息官方公众号:

联系方式:

电话:021-34716271

邮箱:info@polelink.com

北汇信息成立于2010年,是一家技术驱动的创新型服务企业。北汇信息始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案。从测试工具、专用测试设备、完整测试方案到实车测试服务,我们与我们的客户一起努力,让中国的汽车变得越来越安全、越来越舒适、越来越智能。


转载:https://blog.csdn.net/weixin_51954443/article/details/110874488
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场