Perforce SAST专家详解:自动驾驶汽车的安全与技术挑战,Klocwork、Helix QAC等静态代码分析成必备合规性工具

自动驾驶汽车安全吗?现代汽车的软件包含1亿多行代码,支持许多不同的功能,如巡航控制、速度辅助和泊车摄像头。而且,这些嵌入式系统中的代码只会越来越复杂。
随着未来汽车的互联程度越来越高,这一趋势还将继续。汽车越来越依赖于技术,将逐渐变得更加自主,并最终实现自动驾驶。因此,了解自动驾驶汽车的安全问题非常重要,这样你才能回答 “自动驾驶汽车安全吗?”、”自动驾驶汽车比人类驾驶更安全吗?”等问题。

自动驾驶汽车安全吗?比人类驾驶更安全吗?

有专家认为,自动驾驶汽车有可能比人类驾驶员更安全。

自动驾驶汽车正在不断改进:《自然通讯杂志》最近发表的一项研究比较了2100个自动驾驶系统和25,113个人类驾驶汽车的事故数据。研究发现,在大多数可比情况下,自动驾驶汽车比人类驾驶汽车发生的事故更少。

支持使用自动驾驶汽车的数据是有道理的——毕竟,人类驾驶员每年都会发生数百万起事故。2022年,约有600万起载有人类驾驶员的车辆事故,其中致命事故不到百分之一。

不过,该研究的其他数据表明,自动驾驶汽车要成为常态,还有很长的路要走。

例如,《自然》杂志的研究分析了其他情况下的事故率,发现在黎明、黄昏以及转弯条件下,使用高级驾驶辅助系统(ADAS)的事故更为频繁。

此外,《自然》杂志的研究承认,由于自动驾驶汽车仍然稀缺,事故数据也很少。与此同时,确实发生并成为头条新闻的事故可能会削弱公众对全自动驾驶汽车的信任。例如,福布斯的一项法律调查发现,93%的受访者对自动驾驶汽车表示担忧。

臭名昭著的是,2018年3月,一辆Uber自动驾驶测试车在亚利桑那州与一名骑自行车的人发生了致命碰撞。这辆自动驾驶汽车未能将骑车人识别为人类,直到来不及停车。而车内的人类安全驾驶员也没有注意到这名骑自行车的人。

我们可能还需要一段时间才能看到自动驾驶汽车的广泛应用。

与此同时,由人类驾驶的车辆正在使用越来越多的ADAS技术。

自动驾驶汽车如何保障安全?

如今,大多数新车都配备了ADAS。ADAS包括:

  • 车道跟踪 
  • 自主紧急制动 
  • 增强型视觉系统 

提供这些功能的系统依赖于通过本地网络进行通信的传感器和执行器。它们由微控制器控制。

汽车之间也相互通信,即车对车通信(V2V)。汽车还可以与交通灯、路标或卫星等基础设施进行通信,即车对基础设施通信 (V2I) 或V2X。

实现这一切的当然是软件。除了应用程序代码之外,还有操作系统和中间件(如网络通信栈),以及传感器、执行器和显示接口。

安全问题:自动驾驶汽车安全吗?

配备ADAS的车辆面临着比以往更多的安全问题。

围绕汽车的安全问题日益突出。随着V2X通信的发展,汽车很容易受到恶意攻击。有报道称,黑客控制了汽车并凌驾于驾驶员之上。

大多数汽车制造商都使用车载诊断系统(OBD)。OBD可访问各种发动机参数,以便在维修时进行故障查找和诊断。

连接器接口(OBD II)的技术细节已公开发布。目前有许多蓝牙OBD连接器,任何人都可以使用手机访问发动机参数。

显然,这可能会使发动机控制系统暴露给任何怀有善意或恶意的人。

密歇根大学最近对此进行了测试。他们发现,笔记本电脑与OBD接口的直接连接可用于覆盖驾驶员的指令。

汽车合规标准为何至关重要?

因此,随着ADAS的发展和自动驾驶汽车的普及,汽车合规性仍将十分重要。而汽车标准也需要得到遵守。

ISO 26262可能是最重要的车辆安全标准。它侧重于电气和电子系统的功能安全,适用于安全相关系统生命周期内的所有活动。其中包括对软件质量的要求。

该标准使用汽车安全完整性等级(ASIL)来衡量风险。范围从A到D,A是最低的安全完整性级别。D级为最高级别,要求也最多。

风险参数包括风险的严重程度、暴露概率和可控性。

可控性假定驾驶员:

  • 具备适当的驾驶条件。
  • 接受过相应的驾驶培训(有驾驶执照)。
  • 符合所有适用的法律法规。

自动驾驶汽车合法吗?

自动驾驶汽车可以在一些国家/地区进行合法测试。但是,自动驾驶汽车还需要克服更多的法律障碍。

法律需要适应ADAS和自动驾驶汽车。立法必须考虑到ADAS出现故障时应如何处理,这一点至关重要。在这种情况下,ADAS将需要通知驾驶员,并恢复人为控制。

软件设计标准 

如果通知失效,人类驾驶员可能会注意力不集中,无法避免伤害——就像Uber自动驾驶汽车的情况一样。如果回退失败,系统可能会继续控制,而不是让驾驶员进行干预并避免伤害。

美国汽车工程师协会(SAE)标准J3016将驾驶自动化分为六个等级,从无自动化到全自动。

SAE三级或更高水平的ADAS依靠软件来实现:

  • 从传感器收集数据。 
  • 创建环境模型。
  • 决定如何协助驾驶员或控制车辆。

这些级别的ADAS还能确定传感器是否正常工作、何时向驾驶员发出警报以及何时恢复人工控制。

交通法规

为适应ADAS的发展,交通法规需要进行修改,特别是在责任和隐私方面。每个国家都有自己的交通法规。

北美
在美国,国家公路交通安全管理局提出了一个正式的分类系统,定义了五个级别的自动化。在最低级别,驾驶员必须始终完全控制车辆。在最高级别中,车辆在整个行程中执行所有安全关键功能——驾驶员在任何时候都无需控制车辆。

在州一级,情况各不相同。2011年,内华达州成为第一个批准在公共道路上进行自动驾驶汽车测试的州。如今,有29个州允许测试自动驾驶汽车。在内华达州、佛罗里达州、佐治亚州、西弗吉尼亚州、犹他州、北卡罗来纳州和北达科他州等七个州,如果车辆的人工智能达到SAE 4级或5级,则完全自动驾驶是合法的。

欧洲 
欧洲的一个研究项目——智能车辆的自动驾驶应用与技术——于2014年1月启动。该项目通过根据情况和驾驶员状态动态调整自动驾驶水平,为日常交通开发各种自动驾驶功能。

该项目还涉及可能影响成功引入市场的法律问题。

车辆与道路自动化 (VRA) 是一项由欧盟资助的支持行动。其目的是建立一个专家和利益相关者合作网络,致力于自动驾驶汽车和相关基础设施的部署。

亚太地区 

日本也许是最接近实现自动驾驶汽车的国家。他们在2020年东京奥运会前及时通过了新法规,使自动驾驶交通系统在有限条件下,在奥运村附近全面投入使用。然而,赛事期间发生的一起轻微事故表明,安全方面仍需要改进,自动驾驶汽车尚未准备好用于正常的道路和日常使用。

在中国,自动驾驶立法正在上海和北京等大城市进行。中国的立法相当灵活,政府有更大的权力将所需的变革落实到位。不过也仍需要处理与其他国家相同的复杂问题。

印度 
印度也在考虑自动驾驶,但面临着重大挑战。其中之一就是立法进展缓慢,而且由于基础设施的原因,很难实施预期的规则。

汽车开发人员始终需要合规性工具

可以为车辆开发安全可靠的系统。为了遵守法律法规,汽车开发人员始终需要智能工具,如Klocwork和Helix QAC等静态代码分析器。

软件设计 
系统安全始于功能设计。

这可能包括使用防火墙来保持安全关键型应用(如转向和制动)与非关键型应用之间的隔离。这对于与外界通信的应用程序(如信息娱乐系统)尤为重要。

它还包括减少或限制通信,以及检查和验证任何通信数据。

安全的嵌入代码 
大多数汽车嵌入式软件都是用C或C++编写的。

您可以使用编码标准来确保嵌入代码的安全性。MISRA提供了C和C++的指导原则。AUTOSAR也提供了现代C++的指导原则。

Perforce静态分析工具有效管理自动驾驶汽车的安全问题

在Perforce最新的《汽车软件开发现状报告》中,信息安全(security)已成为汽车开发人员日益关注的问题,超越了对使用安全(safety)的关注,跃居首位。

Klocwork静态应用程序安全测试(SAST)适用于C、C++、C#、Java、JavaScript、Python和Kotlin,可识别软件的安全性、质量和可靠性问题,保护您的软件免受潜在网络安全漏洞的威胁。

适用于C和C++的Perforce Helix QAC,使代码符合MISRA和AUTOSAR等编码标准以及ISO 26262等功能安全标准。

Perforce中国授权合作伙伴——龙智:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Python基础》之数据加密模块hashlib的用法

目录 一、简介 二、用法 步骤一、导入hashlib库 步骤二、创建哈希对象 步骤三、往哈希对象中传值 1、可以在创建对象的时候传值 2、使用updata传值 步骤四、获取经过哈希对象加密后的值 三、注意事项 1、编码问题 2、安全性 3、多次传值 四、总结 一、简介 hashli…

QT实战--qt各种按钮实现

本篇介绍qt一些按钮的实现,包括正常按钮;带有下拉箭头的按钮的各种实现;按钮和箭头两部分分别响应;图片和按钮大小一致;图片和按钮大小不一致的处理;文字和图片位置的按钮 效果图如下: 详细实现…

【OJ】前K个高频单词和单词识别和两个数组的交集

个人主页 &#xff1a; zxctscl 如有转载请先通知 题目 1. 692. 前K个高频单词1.1 分析1.2 代码 2. KY264 单词识别2.1 分析2.2 代码 3. 349. 两个数组的交集3.1 分析3.2 代码 1. 692. 前K个高频单词 1.1 分析 先试用map来统计每个单词出现的次数&#xff1a; map<string,i…

分布式协同 - 分布式锁一二事儿

文章目录 导图Pre概述概述1. 分布式互斥和临界资源的协调2. 分布式锁的基本原理3. 分布式锁的实现方式a. 基于数据库实现的分布式锁b. 基于Redis实现的分布式锁c. 基于Zookeeper实现的分布式锁 4. 高并发场景下的分布式锁优化a. 分段锁&#xff08;Sharded Locks&#xff09;b.…

Vue-01

Vue框架 Vue官网&#xff1a; Vue.js 框架 数据模型和view的通信就是依靠viewmodel的关键。 目前主流版本仍然是vue2版本。 Vue快速入门 1.新建一个HTML文件&#xff0c;引入Vue.js文件。Vue.js文件是官方引入的一个文件&#xff0c;我们如果要使用Vue就必须引入这个文件。…

【微服务】Nacos

一、安装 1、官网地址&#xff1a;https://nacos.io/download/nacos-server/ 2、启动&#xff1a;找到bin目录下的startup.cmd双击启动&#xff0c;或者打开一个命令窗口输入&#xff1a; startup.cmd -m standalone双击启动后如下&#xff1a;可以访问控制台地址 访问后的…

2025 - AIDD - python的autodock vina 批量分子对接改进版本2.0-全自动对接,完全全自动对接

2025 - AIDD - python的autodock vina 批量分子对接改进版本2.0-全自动对接&#xff0c;完全全自动对接 import warnings from pathlib import Path import subprocess from itertools import product import numpy as np import pandas as pd from MDAnalysis import Univers…

【uniapp】轮播图

前言 Uniapp的swiper组件是一个滑块视图容器组件&#xff0c;可以在其中放置多个轮播图或滑动卡片。它是基于微信小程序的swiper组件进行封装&#xff0c;可以在不同的平台上使用&#xff0c;如微信小程序、H5、App等。 效果图 前端代码 swiper组件 <template><vi…

由于导包而引发的错误

今天在调试时发现删除功能无论如何都无法实现&#xff0c;于是调试找到了mapper层的错误但不知道为什么报错。以下是报错信息。 Caused by: org.apache.ibatis.binding.BindingException: Parameter userIds not found. Available parameters are [arg0, collection, list]at o…

STM32 ADC --- 知识点总结

STM32 ADC — 知识点总结 文章目录 STM32 ADC --- 知识点总结cubeMX中配置注解单次转换模式、连续转换模式、扫描模式单通道采样的情况单次转换模式&#xff1a;连续转换模式&#xff1a; 多通道采样的情况禁止扫描模式&#xff08;单次转换模式或连续转换模式&#xff09;单次…

Web day02 Js Vue Ajax

目录 1.javascript: 1.js的引入方式&#xff1a; 2.js变量 & 数据类型 & 输出语句&#xff1a; 模板字符串&#xff1a; 3.函数 & 自定义对象&#xff1a; 4. json 字符串 & DOM操作&#xff1a; 5. js事件监听&#xff1a; 6.js的模块化导入或者导出&a…

Kylin Server V10 下 RocketMQ 主备自动切换模式部署

一、NameServer简介 NameServer 是一个注册中心,提供服务注册和服务发现的功能。NameServer 可以集群部署,集群中每个节点都是对等的关系,节点之间互不通信。 服务注册 Broker 启动的时候会向所有的 NameServer 节点进行注册,注意这里是向集群中所有的 NameServer 节点注册…

芯片测试-RF中的S参数,return loss, VSWR,反射系数,插入损耗,隔离度等

RF中的S参数&#xff0c;return loss, VSWR&#xff0c;反射系数&#xff0c;插入损耗&#xff0c;隔离度 &#x1f4a2;S参数&#x1f4a2;&#x1f4a2;S11与return loss&#xff0c;VSWR&#xff0c;反射系数&#x1f4a2;&#x1f4a2;S21&#xff0c;插入损耗和增益&#…

一个开源轻量级的服务器资源监控平台,支持告警推送

大家好&#xff0c;今天给大家分享一款开源的轻量级服务器资源监控工具Beszel&#xff0c;提供历史数据记录、Docker容器统计信息监控以及多种警报功能&#xff0c;用于监控服务器资源。 项目介绍 Beszel由hub&#xff08;中心服务器端应用&#xff0c;基于PocketBase构建&…

linux centos nginx编译安装

编译安装nginx&#xff08;Centos&#xff09; 编译需要的基础环境yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c1.下载nginx源码包 Nginx源码包下载地址&#xff1a;nginx源码包下载 2. 上传nginx源码包到服务器 我上传的地址是/home/chenhao/nginx…

【面试重难点问题】c++中为什么可以函数重载,但是c语言中不可以

本文章是对于“c中为什么可以函数重载&#xff0c;但是c语言中不可以”这个问题的探究&#xff1a; 当然这是一个值得深入探讨的问题。在面对难题时&#xff0c;我们常常会竭尽全力寻找答案&#xff0c;不惜挖掘三尺以探究竟。面对上面这个问题时&#xff0c;理解计算机系统的…

AI实践项目——图片视频自动上色系统,让旧照片焕然一新

1.主要内容 &#xff08;1&#xff09;项目概述 在图片处理的世界中&#xff0c;AI不仅用于识别和分析&#xff0c;还可以赋予灰度照片色彩&#xff0c;为其注入新的生命。今天&#xff0c;我们将探讨一种通过深度学习模型为灰度图片上色的技术。 ①参考文献 Colorful Image…

评分规则的建模,用户全选就是满分10分(分数可自定义), 选2个5分, 选2个以下0分

子夜(603***854) 15:11:40 和各位讨论一下设计问题: 有个有业务场景: 有一组产品共4个产品(数目用户可自定义), 需要一套规则,比如如果用户全选就是满分10分(分数可自定义), 选2个5分, 选2个以下0分 又比如另一组产品 产品有个必选属性,如果选了其中所有的必选则5分, 其他项每1…

计算机网络:数据链路层(二)

网课资源&#xff1a; 湖科大教书匠 1、网络适配器和MAC地址 习题1 1 以下哪个地址是广播MAC地址 A. 00-00-00-00-00-00 B. AB-CD-EF-11-22-33 C. FF-FF-FF-FF-FF-FF D. 29-29-29-29-29-29 2 以下哪个地址是多播MAC地址 A. 00-00-00-00-00-00 B. A9-8B-7C-6D-5E-4F C. FF-FF-…

# issue 6 网络编程基础

一、网络的物理结构和光纤千兆网络 首先&#xff0c;我们需要知道网络的物理结构——数据是如何从一台机器传输到另外一台机器的 这个过程是非常重要的。现在很多人做软件开发&#xff0c;只会软件角度&#xff0c;这导致讲软件原理头头是道&#xff0c;但是连数据线都不会接&a…