Helix QAC—源码级静态自动化测试工具

Helix QAC概述
Helix QAC是一款源码级静态自动化测试工具,主要用于C/C++代码的完全自动化静态分析工作,提供一个高效、健壮和自动化的环境来引入和执行编码标准。Helix QAC根据尽早、更频繁测试的理念,在软件生命周期最早期软件开发阶段应用识别缺陷,提供与功能安全及信息安全密切相关的各类编码规范检测、代码质量度量、软件结构分析、测试结果管理等功能。

Helix QAC能够全面而准确地发现软件中潜在的问题,自身符合ISO26262功能安全标准认证。适用于自动驾驶领域,保障嵌入式软件的质量,提高其防御黑客攻击能力。

Helix QAC主要技术指标如下

  • 提供基于行业标准的编程规则对代码进行检测
  • 提供对软件的质量分析功能
  • 提供对软件结构的分析
  • 自动进行工程数据同步
  • 提供丰富的CCT库(辅助工程快速配置)
  • 支持测试报告生成的选项配置,并可实现报告自定制
  • 实现团队协作
  • 功能安全手册支持静态项目通过各级ASIL(A-D)功能安全认证

Helix QAC产品方案
Helix QAC主要模块为QAC/QAC++(分析组件)、Dashboard(质量管理平台)、以及常用行业规则包(如MISRA C/C++、AUTOSAR C++、CERT C/C++、CWE C/C++等)。

除此之外,还可提供与各行业标准匹配的安全手册(如ISO 26262 Safety Manual等)。

在这里插入图片描述

Helix QAC主界面

  • Helix QAC分析组件

在这里插入图片描述

  • Dashboard平台

在这里插入图片描述

核心功能

  • 多种类、覆盖面广的编程规则

    Helix QAC提供与功能安全及信息安全密切相关的各类编码规范检测:

在这里插入图片描述

Helix QAC对于各类编码规范的映射覆盖情况:

在这里插入图片描述

除此之外,Helix QAC还提供基于ISO C/C++标准制定出来的自定制规则集,可实现1900+ C语言问题、1400+ C++语言问题的检测,避免的风险包括但不限于:

 未定义的行为
 ISO语言约束违反
 越界及溢出 (包括除零)
 未初始化的数据
 内存/指针运算问题(包括空指针引用)
 危险的语言使用
 不可移植的语言使用
 控制流问题
 类型转换
 冗余代码
 移位运算
 对象/函数的声明定义问题
 标识符的命名规范
 违反最佳实践

  • 自动对编程规则进行检查

    在工具中添加要分析的文件,配置好完相应环境,运行一次就可以对添加的文件进行全部的分析,运行速度快,使用过程非常简单,容易理解,上手很快。

在这里插入图片描述

  • 非常友好的帮助系统

    分析结果内检查错误的时候,如果对所提示的内容不理解,可以双击这个错误,进入帮助系统。帮助系统除了提供了对错误的描述外,大多情况下都提供了例子程序,可以帮助理解错误的原因,并辅助开展代码修正。

在这里插入图片描述

  • 提供对软件结构的分析

    可以分析软件的结构,包括文件之间的包含关系、函数之间的调用关系以及函数自身的结构。

在这里插入图片描述

  • 提供对软件的质量分析

    采用国际标准的软件质量度量方法及度量指标,对客户的代码质量进行评估。提供六十余个指标进行评估,可以方便的在各个指标之间进行切换。

在这里插入图片描述
另外,也可以通过警告方式直观显示超阈值门限的指标,并可实时追踪至代码位置。

在这里插入图片描述

  • 自定制报告

    可实现固定模板报告生成,同时也可根据用户需求定制报告内容。可支持导出PDF报告、HTML报告。

在这里插入图片描述
在这里插入图片描述

  • 团队协作

    可实现版本管理、基线管理、用户管理、插入注释功能,实现团队协作。

在这里插入图片描述

  • 可持续集成

    支持命令行形式执行分析,能够实现与持续集成环境(如Jenkins等)进行集成。

在这里插入图片描述

资质认证证书
在这里插入图片描述

应用案例
在这里插入图片描述

经纬恒润可提供服务项
在这里插入图片描述

了解更多:
请拨打010-64840808或发送邮件至 market_dept@hirain.com
联系时请说明,信息来源于CSDN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/448590.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

03:HAL---中断

目录 一:中断 1:简历 2:AFIO 3:EXTI 4:NVIC基本结构 5:使用步骤 6:设计中断函数 二:中断的应用 A:对外式红外传感计数器 1:硬件介绍 2:计数代码 B:旋转编码计数器 1:硬件介绍 2:旋转编码器代码 C:按键控制LED D:代码总结 一:中断 1:简历 中断:在主程序…

数据分析-Pandas如何画图验证数据随机性

数据分析-Pandas如何画图验证数据随机性 数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律? 数据表…

地球系统模式(CESM)

目前通用地球系统模式(Community Earth System Model,CESM)在研究地球的过去、现在和未来的气候状况中具有越来越普遍的应用。CESM由美国NCAR于2010年07月推出以来,一直受到气候学界的密切关注。近年升级的CESM2.0在大气、陆地、海…

ctfshow web入门 php特性总结

1.web89 intval函数的利用,intval函数获取变量的整数值,失败时返回0,空的数组返回,非空数组返回1 num[]1 intval ( mixed $var [, int $base 10 ] ) : int Note: 如果 base 是 0,通过检测 var 的格式来决定使用的进…

论文解读:NAND闪存中读电压和LDPC纠错码的高效设计-2

在NAND闪存中,理论结果表明,LDPC解码器的性能可通过密度进化(Density Evolution, DE)技术进行详尽分析。针对MLC NAND闪存,研究者首先建立了一个离散无记忆信道模型,将存储单元的阈值电压划分为七个区间&am…

前端学习之HTML 下拉框 文本框

注&#xff1a;注释是对下列代码中标签的解释 下拉框 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>下拉框</title> </head> <body><!--使用&#xff1a;select标签option标…

通信总线协议之CAN-FD协议详解

文章目录 通信总线之CAN-FD总线协议详解1. CAN-FD 简介1.1 什么是CAN FD1.2 CAN FD的特点 2. CAN-FD总线协议2.1 帧起始2.2 仲裁段2.3 控制段2.4 数据段2.5 CRC段2.6 ACK段2.7 帧结束 3. 如何从传统的CAN升级到CAN FD 通信总线之CAN-FD总线协议详解 1. CAN-FD 简介 1.1 什么是…

AJAX学习(三)

版权声明 本文章来源于B站上的某马课程&#xff0c;由本人整理&#xff0c;仅供学习交流使用。如涉及侵权问题&#xff0c;请立即与本人联系&#xff0c;本人将积极配合删除相关内容。感谢理解和支持&#xff0c;本人致力于维护原创作品的权益&#xff0c;共同营造一个尊重知识…

SpringBoot 多环境的配置(附带有截图)

文章目录 概要整体配置流程配置详细说明技术细节小结 概要 多环境开发 在实际项目开发中&#xff0c;一般需要针对不同的运行环境&#xff0c;如开发环境、测试环境、生产环境等&#xff0c;每个运行环境的数据库等配置都不相同&#xff0c;每次发布测试、更新生产都需要手动…

精酿啤酒:酿造工艺的与众不同之处与魅力

Fendi Club啤酒的酿造工艺具有与众不同之处和魅力&#xff0c;这些特点使得啤酒口感与众不同、品质卓着。 Fendi Club啤酒采用与众不同的原料配方。他们精选上好麦芽、酵母和啤酒花&#xff0c;并按照与众不同的比例进行搭配。这种与众不同的原料配方为啤酒提供了丰富的口感和…

LLM推理框架Triton Inference Server学习笔记(一): Triton Inference Server整体架构初识

官方文档查阅: TritonInferenceServer文档 1. 写在前面 这篇文章开始进行大语言模型(Large Language Model, LLM)的学习笔记整理&#xff0c;这次想从Triton Inference Server框架开始&#xff0c;因为最近工作上用到了一些大模型部署方面的知识&#xff0c; 所以就快速补充了…

记一次用Arthas排查Redis连接数增加问题(附:redis连接池优化)

手打不易&#xff0c;如果转摘&#xff0c;请注明出处&#xff01; 注明原文&#xff1a;https://zhangxiaofan.blog.csdn.net/article/details/136493572 前言 有一次生产环境发包后&#xff0c;发现redis连接数变多了&#xff0c;由于改的代码比较多&#xff0c;不确定是哪…

下载、安装并配置 Node.js

文章目录 1. 下载2. 自定义安装3. 添加环境变量4. 验证5. 修改下载位置6. npm 换源7. 测试 ➡️➡️➡️来源&#xff1a;Simplilearn.com Node.js 是一个开源、跨平台的 JavaScript 运行时环境和库&#xff0c;用于在客户端浏览器之外运行 web 应用程序。 Ryan Dahl 在2009年开…

2024.3.11 C++作业

1、提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数要求使用C风格字符串完成 #include <iostream>using namespace std;int main() {char str[20];cout << "please enter the str:";gets(str);in…

YoloV7改进策略:Block改进|自研Block,涨点超猛|代码详解|附结构图

涨点效果 参考模型 参考的Block,如下图: 我对Block做了修改,修改后的结构图如下: 代码详解 from timm.models.layers import DropPathfrom torch import Tensor def channel_shuffle(x: Tensor, groups:

5G CA频段组合与带宽的射频标准

先来复习一下我们前面学习过的章节后缀所代表的含义&#xff1a; None Single CarrierA Carrier Aggregation (CA)B Dual-Connectivity (DC)C Supplement Uplink (SUL)D UL MIMOE V2XF Shared spectrum channel accessG Tx Diversity (TxD)I …

docker容器启动rabbitmq

docker容器启动rabbitmq 一、RabbitMQ部署1.1.在线拉取mq镜像1.2.运行mq容器1.3.访问mq 二、RabbitMQ的集群2.1.集群分类2.1.设置 /etc/hosts文件 endl 一、RabbitMQ部署 1.1.在线拉取mq镜像 # 在线拉取 docker pull rabbitmq:3-management1.2.运行mq容器 docker run \ -e R…

【Python】Python中的正则表达式

Python中的正则表达式 1.re模块使用入门 1.1 re.match 函数 函数定义&#xff1a; re.match 尝试从字符串的起始位置匹配一个模式&#xff0c;如果不是起始位置匹配成功的话&#xff0c;match() 就返回 none。 函数语法&#xff1a; re.match(pattern, string, flags0) …

全网最最最详细DataEase-V1部署前后端分离教程

前端代码准备 按照前端官方的介绍&#xff0c;推荐使用node.js 16版本左右的&#xff0c;由于V1的DataEase是使用的Vue2的项目工程&#xff0c;DataEase部署&#xff0c;前端node相关不应该太新。要是不知道如何去做的小伙伴可以看我的其中一篇博客文章&#xff0c; 如何使用…

Java源码项目基于springboot的江理工文档管理系统的设计与实现

大家好我是程序员阿存&#xff0c;在java圈的辛苦码农。辛辛苦苦板砖&#xff0c;今天要和大家聊的是一款Java源码项目基于springboot的江理工文档管理系统的设计与实现&#xff0c;项目源码以及部署相关请联系存哥&#xff0c;文末附上联系信息 。 项目源码&#xff1a;Java基…