0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

偿还安全关键型汽车软件的技术债务

星星科技指导员 来源:嵌入式计算设计 作者:John Paliotta 2022-06-16 14:40 次阅读

车辆已经从机械设备发展为复杂的集成技术平台,其嵌入式软件为所有主要系统提供动力,包括:发动机控制、动力总成、制动、驾驶员辅助和信息娱乐。现在,研究预测,到 2017 年,五分之四的新车将拥有互联网连接[1]。随着消费级信息娱乐软件和安全关键软件之间的界限变得模糊,这种“永远在线”的连接将带来新的挑战。

例如,远程信息处理系统提供车载语音控制应用程序等功能,以及与 GPS 系统交互以实现导航和交通功能。很快,车辆的 GPS 系统将不仅仅用于指示方向。随着我们进入联网和自动驾驶汽车的时代,诸如“自动 SOS”之类的功能将在这种现有的远程信息处理架构之上构建,该功能可以在发生碰撞时召唤帮助。

当阅读最近有关主要汽车制造商与美国国家公路交通安全管理局 (NHTSA) 达成协议将自动紧急制动 (AEB) 作为大多数汽车的标准设备的新闻时,我想到了从消费级向安全关键型转变的另一个例子。到 2021 年,AEB 系统由软件控制,这些软件为摄像头、雷达、接近传感器等提供动力,所有这些都需要完美运行,以便在驾驶员反应缓慢时安全停车。这也意味着以前用于被动驾驶辅助(例如停车)的嵌入式摄像头现在将成为安全关键系统的一部分。

前方无法克服的质量问题

大多数新软件应用程序都建立在遗留代码库之上。由于大量金钱和时间投资已投入到开发现有应用程序中,因此自然会对尽可能多地利用已经完成的工作感兴趣。

重用现有代码的问题在于,遗留应用程序通常背负着大量的技术债务。技术债务是系统初始设计和开发过程中走捷径的隐喻。这种“债务”通常是由于软件的持续开发而没有正确的质量控制流程造成的,通常是由于发布新版本的巨大业务压力。所产生的技术债务的累积责任最终使软件难以维护。

减少技术债务和提高质量的关键是重构组件(在不改变其外部行为/API 的情况下重构应用程序组件的过程),但开发人员常常因为害怕破坏现有功能而犹豫不决。重构的最大障碍之一是缺乏足够的测试来形式化应用程序的现有正确行为。

如果没有足够的测试,很难重构应用程序并且不会导致功能或性能的回归。根据 Gartner 的一项研究,“缺乏可重复的测试用例限制了组织以客观、可衡量的方式展示功能等效性的能力。”缺乏足够的测试最终意味着软件应用程序无法轻易修改以支持新的应用程序。特征。

偿还技术债务

基线测试,也称为特征测试,对于测试不足的遗留代码库很有用。已经部署的应用程序的开发人员不太可能返回并实现所有应该生成的低级测试。他们正确地认为部署的应用程序“运行良好”,那么他们为什么要花几个月的时间重新测试呢?

在这种情况下,更好的选择是使用自动测试用例生成 (ATG) 来快速提供一组基线测试,以捕获和表征现有应用程序行为。虽然这些测试并不能证明正确性,但它们确实使应用程序今天所做的工作正式化,这非常强大,因为它允许验证未来的更改以确保它们不会破坏现有功能。

pYYBAGKq0GKAInlQAABk4KoNH5o266.png

【图2 | 基线测试正式确定了应用程序今天所做的事情,这允许验证未来的更改以确保现有功能不会被破坏。基于变更的测试可用于仅运行显示变更效果所需的最小测试用例集。]

拥有一套完整的基线测试的另一个好处是可以使用基于变更的测试 (CBT) 来减少总测试周期时间。完整的应用程序测试需要一到两周的时间并不少见。使用基于更改的测试,可以在几分钟内测试小的更改。基于更改的测试计算每个代码更改所需的最小测试用例集,并仅运行这些测试。

因此,开发人员能够对代码进行增量更改,并确保这些更改不会破坏软件的现有行为。他们还能够做进一步的分析,如果有什么东西被打破了,如果引入了一个错误,一个实际上应该存在的功能已经被删除,或者是否存在一个应该解决的错误,因为它可能有其他后果。

到银行进行基线测试

在支持物联网的世界中,大量遗留代码将进入新应用程序的关键路径。如果没有适当的软件质量方法来确保此遗留代码的完整性,系统的整体安全性可能会受到影响。

基线测试可以帮助减少现有代码库中的技术债务,让开发人员有信心重构和增强这些代码库,并最终让这些遗留应用程序的所有者获得更多价值。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2525

    文章

    48056

    浏览量

    739938
  • 物联网
    +关注

    关注

    2867

    文章

    41589

    浏览量

    358262
  • 摄像头
    +关注

    关注

    59

    文章

    4606

    浏览量

    92867
收藏 人收藏

    评论

    相关推荐

    AEB是一种汽车主动安全技术,主要由哪3大模块构成?

    AEB是一种汽车主动安全技术,主要由哪3大模块构成
    发表于 02-20 06:06

    汽车软件开发CAEdge框架关键技术

    软件定义汽车中,汽车功能主要通过软件实现,不再仅仅依赖硬件。这种将软件与硬件解耦的方式使得新功能和软件
    发表于 01-24 14:16 166次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>软件</b>开发CAEdge框架<b class='flag-5'>关键技术</b>

    基于功能安全汽车嵌入式软件单元验证技术研究

    ,对满足功能安全ASIL等级的汽车嵌入式软件单元验证技术进行详细介绍,从而提高软件质量,减少软件
    的头像 发表于 01-07 11:27 510次阅读
    基于功能<b class='flag-5'>安全</b>的<b class='flag-5'>汽车</b>嵌入式<b class='flag-5'>软件</b>单元验证<b class='flag-5'>技术</b>研究

    SCADE—产品级安全关键系统的MBD开发套件

    随着新能源三电、智能驾驶等新技术的应用,汽车中衍生出很多安全关键零部件,如BMS、VCU、MCU、ADAS等,相应的软件
    的头像 发表于 01-05 14:12 199次阅读
    SCADE—产品级<b class='flag-5'>安全</b><b class='flag-5'>关键</b>系统的MBD开发套件

    汽车网络安全:防止汽车软件中的漏洞

    汽车网络安全汽车开发中至关重要,尤其是在 汽车软件 日益互联的情况下。在这篇博客中,我们将分享如何防止汽车网络安全漏洞。 静态分析工具有助
    的头像 发表于 12-21 16:12 770次阅读
    <b class='flag-5'>汽车网络安全</b>:防止<b class='flag-5'>汽车</b><b class='flag-5'>软件</b>中的漏洞

    双核锁步安全芯片的关键技术

    汽车功能安全标准ISO26262-5 2018 产品开发:硬件层面附录D对处理单元的诊断覆盖率推荐的安全技术措施中,作为可实现高诊断覆盖率的几种
    发表于 12-04 14:24 898次阅读

    安全关键软件开发中实现 ASPICE 和 ISO 26262 的协同

    (ASPICE) 和 ISO 26262。ASPICE 用于评估并改进汽车软件的开发流程,而 ISO 26262 则着重解决安全关键型系统的功能安全
    的头像 发表于 11-22 16:37 201次阅读

    汽车功能安全芯片测试

    汽车功能安全芯片测试  汽车功能安全芯片测试是保障汽车安全性能的重要环节,也是
    的头像 发表于 11-21 16:10 1141次阅读

    面向OpenHarmony终端的密码安全关键技术

    本文转载自 OpenHarmony TSC 官方​[​《峰会回顾第17期 | 面向OpenHarmony终端的密码安全关键技术》​]​ 演讲嘉宾 | 何道敬 回顾整理 | 廖涛 排版校对 | 李萍萍
    发表于 09-13 19:20

    智能汽车软件关键技术解析

    下的各类应用。其技术演进有四个关键趋势:计算集中化、软硬件解耦化、平台标准化以及功能开发生态化。智能化与网联化共同推动了汽车电子电气架构的变革,一方面是车内网络拓扑的优
    的头像 发表于 09-04 16:30 494次阅读
    智能<b class='flag-5'>汽车</b><b class='flag-5'>软件</b><b class='flag-5'>关键技术</b>解析

    Arm Safety Ready产品组合

    功能安全是指系统检测、诊断和安全地缓解故障发生,防止对人和环境造成伤害的能力。 它是在汽车、工业和机器人等市场开发安全关键应用的
    发表于 08-29 06:39

    Arm Neoverse N2汽车硬件技术概述

    本文件描述了NeoverseTM N2汽车参考堆栈的底层硬件架构。 本文件适用于计划评估和使用NeoverseTM N2汽车参考堆栈的软件、硬件和系统工程师。重点是了解NeoverseTM N2
    发表于 08-10 06:25

    Imagination和CoreAVI在汽车安全关键图形的合作

    ,为 PowerVR GPU 带来先进的安全关键型驱动程序。 CoreAVI 将为 IMG BXS GPU 提供图形驱动方面的支持,为汽车平台实现下一代安全
    的头像 发表于 07-19 09:55 227次阅读

    安全认证如何保护您的汽车设计免遭假冒

    随着汽车继续拥有更高的智能性,并且越来越依赖来自无线(OTA)更新的数据,安全软件是保护汽车生态系统的关键组成部分,也是确保发送到
    的头像 发表于 06-28 11:17 254次阅读
    <b class='flag-5'>安全</b>认证如何保护您的<b class='flag-5'>汽车</b>设计免遭假冒

    智能汽车软件功能安全的“夹缝生长”

    随着AI技术的发展,大模型时代拐点到来,世界万物格局都可能发生变化,产生新的范式,未来智能汽车软件也可能会产生更多颠覆性的变革,例如:AI技术可能替代
    的头像 发表于 06-13 15:11 666次阅读
    智能<b class='flag-5'>汽车</b><b class='flag-5'>软件</b>功能<b class='flag-5'>安全</b>的“夹缝生长”