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) 来减少总测试周期时间。完整的应用程序测试需要一到两周的时间并不少见。使用基于更改的测试,可以在几分钟内测试小的更改。基于更改的测试计算每个代码更改所需的最小测试用例集,并仅运行这些测试。

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

到银行进行基线测试

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

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

审核编辑:郭婷

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

    关注

    2578

    文章

    55516

    浏览量

    793987
  • 物联网
    +关注

    关注

    2950

    文章

    48132

    浏览量

    418548
  • 摄像头
    +关注

    关注

    61

    文章

    5116

    浏览量

    103503
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    QNX与NVIDIA深化战略合作,共筑安全关键边缘AI新生态

    Stack**深度集成,为机器人、医疗设备及工业场景中的AI驱动系统提供兼具确定性实时性能与功能安全认证的底层支撑,标志着安全关键边缘AI技术
    的头像 发表于 04-27 09:43 444次阅读

    BlackBerry QNX与NVIDIA深化合作:重构安全关键边缘AI系统的技术范式

    Halos Safety Stack功能安全平台,为机器人、医疗设备、工业自动化等受严格监管领域打造下一代边缘AI系统解决方案。这一合作标志着安全关键AI应用从“功能实现”向“确定
    的头像 发表于 04-23 10:10 676次阅读

    汽车网络安全合规全流程深度解析——从法规门槛到落地实践

    (Non-Conformity)的实战经验。建议在签约前要求与核心执行顾问进行一轮技术交流。 十、写在最后:行动起来,而非观望 当前,汽车行业正站在网络安全合规的关键窗口期。UN R1
    发表于 04-21 13:03

    汽车网络安全 ISO/SAE 21434是什么?(一)

    ISO(国际标准化组织)与SAE(美国汽车工程师学会)联合制定,2021 年 8 月正式发布,核心替代此前的 SAE J3061 指南,成为汽车网络安全的核心技术基准。 1. 核心定位
    发表于 04-07 10:37

    Parasoft C/C++test:嵌入式安全关键行业的一体化软件测试解决方案

          在汽车电子、工业控制、医疗设备、航空航天等嵌入式安全关键行业,软件质量与功能安全直接决定产品可靠性与合规准入。面对日益复杂的代码
    的头像 发表于 03-06 09:42 384次阅读

    Vector官宣收购StatInf公司RocqStat软件技术

    Vector Informatik于2026年1月16日,在其德国斯图加特总部,官宣收购了StatInf公司的RocqStat软件技术及其专家团队。此次收购意在增强Vector在时序分析和最差情况执行时间(WCET)估算方面的能力,更全面地支持安全
    的头像 发表于 01-22 14:40 764次阅读

    GPU与汽车安全有何关联?

    汽车行业正在经历自电子技术应用于汽车以来最深刻的变革。车辆正朝着软件定义、智能网联、AI驱动和持续迭代的方向演进。这一转带来了前所未有的新
    的头像 发表于 01-12 13:21 962次阅读
    GPU与<b class='flag-5'>汽车</b><b class='flag-5'>安全</b>有何关联?

    汉威科技传感技术如何护航固态电池汽车安全

    被誉为新能源汽车“终极方案”的固态电池,也有安全风险?传感技术如何护航固态电池汽车安全
    的头像 发表于 12-18 11:29 812次阅读

    汽车软件安全测试中的痛点与Bugspot解决方案

    上海磐时PANSHI“磐时,做汽车企业的安全智库”汽车软件安全测试中的痛点与Bugspot解决方案日前在
    的头像 发表于 09-05 16:17 912次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>软件</b><b class='flag-5'>安全</b>测试中的痛点与Bugspot解决方案

    汽车软件开发阶段安全的意义与原则

    上海磐时PANSHI“磐时,做汽车企业的安全智库”好书分享/《一本书读懂智能汽车安全汽车软件
    的头像 发表于 09-05 16:16 1120次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>软件</b>开发阶段<b class='flag-5'>安全</b>的意义与原则

    经纬恒润推动汽车软件安全新生态,打造全流程质量协同新范式

    日前,由ATC汽车技术平台主办的“第四届汽车软件安全技术周”在上海圆满闭幕。大会聚焦功能安全
    的头像 发表于 07-28 11:44 491次阅读
    经纬恒润推动<b class='flag-5'>汽车</b><b class='flag-5'>软件</b><b class='flag-5'>安全</b>新生态,打造全流程质量协同新范式

    新思科技如何验证更安全的智能汽车软件

    汽车软件正在迅速发展,其复杂性、安全性要求以及对高效开发流程的需求与日俱增。在这一背景下,虚拟ECU(vECU)成为加速开发和验证的关键工具,而将Rust语言集成进AUTOSAR Cl
    的头像 发表于 07-10 15:12 1115次阅读
    新思科技如何验证更<b class='flag-5'>安全</b>的智能<b class='flag-5'>汽车</b><b class='flag-5'>软件</b>

    编译器功能安全验证的关键要素

    汽车、工业、医疗等安全关键应用中,确保功能安全合规性需要严格的工具链验证。开发安全
    的头像 发表于 07-05 13:37 1702次阅读

    软件定义汽车如何影响汽车行业

    软件定义汽车(SDV)是指一些关键功能(如驾驶辅助、信息娱乐系统,甚至核心车辆行为)都由软件实现、控制并更新的汽车
    的头像 发表于 07-01 16:21 1169次阅读
    <b class='flag-5'>软件</b>定义<b class='flag-5'>汽车</b>如何影响<b class='flag-5'>汽车</b>行业

    汽车安全技术全面解析#主动安全、被动安全和ADAS

    汽车安全技术包括主动安全、被动安全以及ADAS/自动驾驶辅助等多个层面。 主动安全系统 通过传感
    的头像 发表于 05-10 15:15 4251次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>安全</b><b class='flag-5'>技术</b>全面解析#主动<b class='flag-5'>安全</b>、被动<b class='flag-5'>安全</b>和ADAS