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

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

3天内不再提示

静态分析:对代码质量至关重要

星星科技指导员 来源:嵌入式计算设计 作者:JIM MCELROY 2022-11-08 14:10 次阅读

让我们从显而易见的事情开始:静态分析本身并不是灵丹妙药。它不能保证复杂的军事嵌入式应用程序中的高代码质量、安全性或安全性。静态分析也不能确保您的应用程序满足为程序定义的功能要求。

更令人困惑的是静态分析工具之间缺乏平等,尽管其中许多工具非常相似,因为它们使用与引擎相同的商业解析技术。尽管他们的分析很肤浅,但其中许多至少能够提供有关开发人员代码的高级质量的快速而肮脏的反馈。

我不想深入探讨静态分析工具的所有差异。很简单,核心差异通常在于解析技术、用户界面以及它们与链中其他工具的连接。我真正的目标是谈谈为什么你应该关心静态分析。

静态分析可自动执行代码审查过程,无需编译、链接和执行代码即可测量代码的质量。这在历史上是一个漫长、昂贵和劳动密集型的过程中节省了时间和精力。静态分析会自动检查代码的样式、命名约定和语言限制。更好的工具突出了代码中的缺陷,并使开发人员能够快速修复问题区域并再次运行分析。作为此过程的一部分,静态分析可以通过确保开发团队遵守特定的公司或行业认可的编码标准(如MISRA或JSF编码标准)来提高代码质量和可移植性。

更复杂的工具提供了更大的分析深度,并使开发人员能够理解代码的复杂区域。他们还报告有价值的细节,如代码复杂性以及数据和控制流。更有效的工具在高度抽象中呈现其深入分析的结果,这使得代码更易于理解。此外,功能更强大的工具可与更复杂的集成开发环境无缝互操作,从而加快整个开发生命周期。

当今的军事应用需要支持 ARINC 653 或FACE等架构标准,以提高代码的可移植性和可重用性。高质量的静态分析工具集为快速构建更高质量的代码提供了坚实的基础,这些代码更具可移植性、可维护性、安全性。它应该是整个过程中使用的工具。但是,静态分析只是解决常见问题集的一种工具。有效的质量流程还需要利用诸如双向需求可追溯性、动态分析、结构覆盖分析、单元、集成和系统级测试等技术,无论是在主机开发平台上,还是在可能的情况下,在目标硬件上。

审核编辑:郭婷

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

    关注

    5046

    文章

    18823

    浏览量

    298715
  • 应用程序
    +关注

    关注

    37

    文章

    3198

    浏览量

    57366
收藏 人收藏

    评论

    相关推荐

    无刷电机驱动芯片方案的选择至关重要

    在当今科技飞速发展的时代,无刷电机因其高效、低噪、长寿命等显著优势,在众多领域得到了广泛应用,从工业自动化到智能家居,从电动汽车到航空航天。而在无刷电机系统中,驱动芯片方案的选择至关重要,它直接影响
    的头像 发表于 09-05 17:28 217次阅读

    夏季雷雨频繁,新能源车辆车载充电机与整车防水设计至关重要

    车载充电机(On-Board Charger,OBC)与车载直流转换器(DC-DC Converter)作为新能源汽车上至关重要的零部件,需要有特殊的防水处理。
    的头像 发表于 07-30 09:07 208次阅读
    夏季雷雨频繁,新能源车辆车载充电机与整车防水设计<b class='flag-5'>至关重要</b>

    DevOps中的质量门工作原理,以及静态代码分析Klocwork和Perforce Helix QAC在质量门中的实践应用

    如何使用静态代码分析工具(如Klocwork 和 Helix QAC)实现质量门。 什么是质量门? 质量
    的头像 发表于 07-29 15:12 165次阅读

    什么是质量闸门?

    无论您是执行增量分析、差异分析还是集成分析静态分析/SAST 工具都旨在优化 DevOps 和 DevSecOps 流程,并且可以作为检查
    的头像 发表于 07-16 23:11 146次阅读
    什么是<b class='flag-5'>质量</b>闸门?

    IAR通过多架构认证的静态分析工具加速代码质量自动化

    公司推出经TÜV SÜD认证的C-STAT静态分析工具,适用于最新发布的IAR Embedded Workbench for RISC-V V3.30.2功能安全版。
    的头像 发表于 06-19 15:49 260次阅读

    为什么数字孪生对于智慧城市至关重要

    对其进行预测。 中易云GIS与数字孪生系统 数字孪生在智慧城市中的重要性 智慧城市可以解决近年来快速城市化带来的环境和社会问题,从而提高居民生活质量,同时实现更加可持续的城市模式的发展之路。 数字孪生联动真实场景的
    的头像 发表于 06-04 11:23 476次阅读

    电能质量分析仪的应用领域

    电能质量分析仪,作为电力系统中不可或缺的重要工具,其应用已经渗透到我们日常生活的各个方面。无论是工业生产、商业楼宇还是电力系统本身,电能质量分析仪都发挥着至关重要的作用。本文将深入探讨
    的头像 发表于 05-21 17:09 394次阅读

    电能质量分析仪的常见故障及原因分析

    电能质量分析仪作为电力系统中不可或缺的监测设备,其准确性和可靠性对于保障电网的稳定运行至关重要。然而,在实际使用过程中,电能质量分析仪可能会遇到各种故障,影响其正常工作。本文将对电能质量分析
    的头像 发表于 05-21 17:06 482次阅读

    推拉力测试机在各种工业应用中,扮演着至关重要的角色

    推拉力测试机是一种精密设备,用于测量材料、组件或产品的抗拉强度、抗压强度和撕裂强度等力学性能。在各种工业应用中,推拉力测试机扮演着至关重要的角色,确保产品质量和安全。1.汽车行业:推拉力测试机在
    的头像 发表于 03-28 17:26 285次阅读
    推拉力测试机在各种工业应用中,扮演着<b class='flag-5'>至关重要</b>的角色

    为什么振动监测对物联网预测性维护至关重要

    提前预测和预防严重故障的能力,有望大大提高设备的正常运行时间,同时降低维护成本。 持续状态监测在预测性维护实践中起着重要作用,而关键的监测参数是振动。设备振动揭示了对多个组件问题的重要见解,这些问题可能会降低流程质量并最
    的头像 发表于 03-04 11:13 269次阅读

    赛默斐视-全面了解薄膜表面检测技术的重要性(为何薄膜表面检测对各行业至关重要)

    薄膜表面检测技术在各行业中扮演着至关重要的角色。无论是在电子、光学、食品包装还是医疗领域,薄膜的质量和表面状况对产品性能和品质都有着直接的影响。针对薄膜表面检测的相关技术和方法不断发展,成为确保
    的头像 发表于 01-25 14:11 427次阅读

    什么是网络时钟同步?为什么它对5G网络至关重要

    什么是网络时钟同步?为什么它对5G网络至关重要? 网络时钟同步是指将计算机网络中各个设备的时钟进行同步,使得网络中的设备都可以基于同一个时间参考点进行操作和通信。网络时钟同步对于5G网络的重要性不可
    的头像 发表于 01-16 16:03 745次阅读

    半导体行业迈入&quot;材料时代&quot;,创新材料至关重要

    他强调了材料领域的创新对于提升半导体元件生产效率至关重要。对此,默克集团电子业务总经理凯·贝克曼 (Kai Beckmann) 亦持相同看法,并赞同未来十年将以“材料时代”为主导。
    的头像 发表于 12-27 14:52 401次阅读

    为什么ESD静电防护区域的湿度至关重要

    为什么ESD静电防护区域的湿度至关重要? ESD静电防护区域的湿度至关重要的原因有以下几个方面: 1. 电子器件对湿度的敏感性: 大多数电子器件对湿度非常敏感。特别是集成电路和敏感元件,如晶振
    的头像 发表于 12-20 13:45 981次阅读

    静态代码块、构造代码块、构造函数及普通代码块的执行顺序

    在Java中,静态代码块、构造代码块、构造函数、普通代码块的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序。 1、静态
    的头像 发表于 10-09 15:40 991次阅读
    <b class='flag-5'>静态</b><b class='flag-5'>代码</b>块、构造<b class='flag-5'>代码</b>块、构造函数及普通<b class='flag-5'>代码</b>块的执行顺序