中文  |  English
所在位置:研发工具 > Helix QAC 企业级代码静态测试工具

Helix QAC 企业级代码静态测试工具

前言



随着现代车辆的智能化发展(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部分主体:


1、代码静态分析


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

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

 1.png

图 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.png

图 2 编码规范覆盖度


4、Helix QAC Dashboard


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

 3.png

图 3 Helix QAC Dashboard 自定义窗口


 4.png

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


5、集成环境



6、支持的操作系统



7、多样化的本地报告


 5.png

图 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.png

图 6 资质认证证书



客户列表(部分)



 7.png