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

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

3天内不再提示

关于Polyspace静态分析的具体作用分析和介绍

MATLAB 来源:djl 2019-09-18 15:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群


更快地投放市场的趋势容易产生以下误解:静态分析只是发现错误。软件开发人员必须尽可能多地消除错误,并会使用错误快速发现工具,但很可能仍然存在一些错误。这种做法对于非安全关键型应用(如智能手机应用)可能足够了,但对于安全关键型应用可能是不够的。

因此,安全关键型应用需要更严格的方法来验证安全性和稳健性,这就是静态分析可以带来的其他好处。在本文中,我们将消除静态分析只是发现错误这一误解,并证明它可以帮助验证是否符合编码标准,生成有关代码质量的指标,并可以在软件开发的任何阶段使用。

毫无疑问,发现错误肯定是静态代码分析的一个重要方面。但是,静态分析技术的范围广泛,从简单的语法检查或基于启发式的方法,到基于形式化方法的高级验证,不一而足。

这一范围还体现在市场上各种各样的静态分析工具。例如,一些高级编译器有一个采用静态分析形式的内置语法检查器。在该范围的另一端是基于形式化方法的工具,如可以执行语义分析的 Polyspace,为您的软件提供详细的运行行为。

Polyspace Bug Finder 是一种可以帮助发现错误的静态分析工具,但它还可用于:

检查您的软件是否符合编码标准,如 MISRA C/C++、JSF++ 和自定义规则

生成代码度量指标以帮助您改进代码质量。

此外,使用 Polyspace Code Prover,您还可以证明您的软件不会由于特定类型的关键运行时错误而崩溃。

因此,这些工具已经超出了简单的错误发现,在验证和确认过程中非常有价值。例如,下图中的代码是形式验证的结果,该结果确认在任何运行条件下都不会发生溢出错误:

关于Polyspace静态分析的具体作用分析和介绍

如前所述,您可以使用静态分析来检查您的代码是否符合特定的编码准则或标准,从而避免使用不安全或不可靠的结构。它还可以帮助您捕捉表明代码质量的关键指标,如圈复杂度、执行不到的代码、使用共享全局变量和递归 、省去编写测试用例的开销。这些指标可以帮助您找出设计问题,例如可能最终影响软件性能和可靠性的代码架构。

使用非初始化变量或不受保护的共享变量可能在特定的测试用例中显示意想不到的结果。然后,您可能会承担调试任务,花费大量的时间试图找出问题所在。更糟糕的是,由于此类运行时错误的不可预知性,这些缺陷可能不会在测试过程中显示出来。

静态分析更为广泛的优势并不广为人知,因此它在软件开发工作流程的后期才被采用。因为它被简单地认为是一种发现错误的方法,所以它通常在软件开发的最后阶段才被采用(例如,静态分析是质量工程团队发布代码之前的最后一关)。超过90%的潜在客户在进入了项目的结束阶段后才与我们联系,了解我们的静态分析解决方案。

但是,如果您想利用上面讨论的所有优势,则应在开发的早期阶段引入静态分析。实际上,使用编译器就是一个这样的例子,因为编译器是一个非常简单的静态分析工具,可帮助开发代码的语法和语义。研究发现,尽早发现和修复编码错误可以获得显著的成本效益。还可以缩短您所开发软件所需的测试时间。因此,静态分析在早期引入您的工作流非常重要,它远不是简单地识别错误。

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

    关注

    30

    文章

    4975

    浏览量

    74354
  • 编译器
    +关注

    关注

    1

    文章

    1672

    浏览量

    51895
  • 静态分析
    +关注

    关注

    1

    文章

    46

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    功率分析作用是什么呢

    的应用。本文将详细介绍功率分析仪的作用和用途。 一、功率分析仪的作用 1、测量电能参数 功率分析
    的头像 发表于 04-17 18:20 39次阅读
    功率<b class='flag-5'>分析</b>仪<b class='flag-5'>作用</b>是什么呢

    Perforce 静态分析现已正式支持 Rust语言!

    您是否正计划通过 Rust 编程来提升内存安全性,却又担心它无法覆盖所有的安全漏洞?Perforce QAC 和 Klocwork 现在已支持分析 Rust 代码,填补了开源代码检查工具在质量和治理工具链方面的空白。
    的头像 发表于 04-08 15:38 417次阅读
    Perforce <b class='flag-5'>静态</b><b class='flag-5'>分析</b>现已正式支持 Rust语言!

    频谱分析仪与信号分析仪的区别

    在现代电子测量领域,频谱分析仪与信号分析仪是两种广泛应用且功能强大的仪器,它们在无线通信、雷达系统、电子对抗及科研开发中发挥着不可替代的作用。尽管两者均用于信号的采集与分析,功能上亦有
    的头像 发表于 03-17 15:29 214次阅读
    频谱<b class='flag-5'>分析</b>仪与信号<b class='flag-5'>分析</b>仪的区别

    节点分析法的工作原理和基本步骤

    ,即使是包含众多电阻和电源的复杂电路,利用该方法也能准确求出各节点的电压。本文将详细阐述节点分析法的具体计算步骤。
    的头像 发表于 02-05 14:50 906次阅读
    节点<b class='flag-5'>分析</b>法的工作原理和基本步骤

    锁存器中的时间借用概念与静态时序分析

    对于基于锁存器的设计,静态时序分析会应用一个称为时间借用的概念。本篇博文解释了时间借用的概念,若您的设计中包含锁存器且时序报告中存在时间借用,即可适用此概念。
    的头像 发表于 12-31 15:25 5615次阅读
    锁存器中的时间借用概念与<b class='flag-5'>静态</b>时序<b class='flag-5'>分析</b>

    使用诺顿定理的等效电路分析

    本文将从诺顿定理的基本原理、具体求解方法,到与其他分析方法的区别,进行通俗易懂的介绍。同时,也将对诺顿定理的使用要点进行整理归纳。
    的头像 发表于 12-10 13:59 4811次阅读
    使用诺顿定理的等效电路<b class='flag-5'>分析</b>

    什么是CVE?如何通过SAST/静态分析工具Perforce QAC 和 Klocwork应对CVE?

    本文将为您详解什么是CVE、CVE标识符的作用,厘清CVE与CWE、CVSS的区别,介绍CVE清单内容,并说明如何借助合适的静态分析工具(如Perforce QAC/Klocwork)
    的头像 发表于 10-31 14:24 707次阅读
    什么是CVE?如何通过SAST/<b class='flag-5'>静态</b><b class='flag-5'>分析</b>工具Perforce QAC 和 Klocwork应对CVE?

    vivado时序分析相关经验

    vivado综合后时序为例主要是有两种原因导致: 1,太多的逻辑级 2,太高的扇出 分析时序违例的具体位置以及原因可以使用一些tcl命令方便快速得到路径信息
    发表于 10-30 06:58

    知识分享 | 使用MXAM进行AUTOSAR模型的静态分析:Embedded Coder与TargetLink模型

    知识分享在知识分享栏目中,我们会定期与读者分享来自MES模赛思的基于模型的软件开发相关Know-How干货,关注公众号,随时掌握基于模型的软件设计的技术知识。使用MXAM进行AUTOSAR模型的静态
    的头像 发表于 08-27 10:04 868次阅读
    知识分享 | 使用MXAM进行AUTOSAR模型的<b class='flag-5'>静态</b><b class='flag-5'>分析</b>:Embedded Coder与TargetLink模型

    汽车软件团队必看:基于静态代码分析工具Perforce QAC的ISO 26262合规实践

    ISO 26262合规指南,从ASIL分级到工具落地,手把手教你用静态代码分析(Perforce QAC)实现高效合规。
    的头像 发表于 08-07 17:33 1305次阅读
    汽车软件团队必看:基于<b class='flag-5'>静态</b>代码<b class='flag-5'>分析</b>工具Perforce QAC的ISO 26262合规实践

    PCIe协议分析仪在数据中心中有何作用

    升数据中心的整体可靠性。以下是其核心作用具体应用场景的详细分析:一、性能优化:突破带宽瓶颈,提升计算效率 链路带宽利用率分析 场景:在AI训练集群中,GPU通过PCIe与CPU交换
    发表于 07-29 15:02

    Virtuallab Fusion应用:光栅的偏振分析

    ,通过了一致的矢量处理,它不仅包括场和光栅本身,也包括可能包含光栅的光学系统。其次,Virtuallab Fusion提供了对光栅的矢量特征进行详细的分析的必要工具。 在下面的示例中,我们将深入介绍偏振
    发表于 06-16 08:50

    USB微型频谱分析仪模块介绍

    SYN5216型USB微型频谱分析仪模块是一种重要的电子测量仪器,用于测量信号的频谱特性。它能够将信号分解为频率成分,并提供关于每个频率成分的幅度和相位信息。频谱分析仪广泛应用于各个领域,提供了丰富
    的头像 发表于 06-06 13:55 736次阅读

    VirtualLab:光栅的优化与分析

    允许您执行参数扫描,以研究这些参数对设置的总体效果的影响。此外,还可以用于详细研究具体制造过程中的偏差引入的影响。不同的求解器也可以供您使用来模拟场与光栅的相互作用,具有不同的假设和相应的近似
    发表于 05-23 08:49

    揭秘ABAQUS强大到超乎想象的分析功能有哪些?

    和研究人员解决复杂工程问题的得力助手。本文将深入探讨ABAQUS那些强大到超乎想象的分析功能,揭示它如何在不同领域发挥关键作用。 一、静态与动态分析的双剑合璧 ABAQUS的核心功能之
    的头像 发表于 05-21 16:15 803次阅读
    揭秘ABAQUS强大到超乎想象的<b class='flag-5'>分析</b>功能有哪些?