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

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

3天内不再提示

关于Polyspace的静态分析的详细解析和应用

MATLAB 来源:djl 作者:龚小平 2019-09-16 17:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Polyspace是MathWorks产品家族的一员, 也许有人还不知道它能做什么以及作用原理是什么。简单来说,Polyspace是基于抽象解释原理的代码级静态分析和验证工具。

的确,由于时间和成本的关系我们不可能做穷举测试,但并不能就此推断我们没有测试的工况是安全的。

以汽车行业为例,已发生的多次召回事件经分析是因为软件缺陷尤其是运行时错误(run-time error)造成的。所谓的运行时错误,是指在通常的调试过程中需要程序运行起来之后才可能显现的错误,如指针越界、数据溢出等。换句话说,如果测试用例没有覆盖到特定的输入条件时,这些问题可能就没有机会被发现。

关于Polyspace的静态分析的详细解析和应用

Windows平台下调试运行时错误发生的案例

除汽车行业以外,航空航天、铁路、医疗等所谓高完整性系统行业,嵌入式软件往往承载着系统大部分重要功能的实现,一旦发生问题会带来异常严重的后果。软件的静态分析作为动态功能测试的重要补充,在这些行业应用非常广泛。

所谓的静态分析,指在不运行程序的情况下,基于数学方法的分析来验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。通俗地说,静态分析可以通过不写测试用例达到动态穷举测试的效果,是用来提高代码鲁棒性和证明软件安全性的重要手段。

Polyspace所采用的静态分析方法是抽象解释,是软件形式化验证方法(Formal Verification)的一种,它在处理复杂的计算问题或模型的过程中通过对问题进行近似抽象,取出其中的关键部分进行分析,从而减少问题的复杂程度。

关于Polyspace的静态分析的详细解析和应用

抽象解释

简单举例,判断x/(x-y)是否有除零的风险的问题可以转换为左下图 x和y的取值范围是否有可能落在y=x的红线上。Polyspace基于程序控制结构、函数调用关系、多任务分析等,通过复杂的数据流析取过程抽象到右下图绿色多面空间中来判断是否有可能落在y=x上。

关于Polyspace的静态分析的详细解析和应用

Polyspace中的抽象解释

经Polyspace分析后的代码结果以不同颜色表:

绿色代表为安全代码,无需花过多精力审查;

红色代码问题代码,需要立刻解决;

灰色代表不可达代码,需要审查是设计错误还是有意为之;

橙色代表有风险代码,需要重点审查。

另外还可以设定编码规范(如MISRA)和自定义代码风格,违反之处以紫色显示;同时可以看到代码变量随控制流的数据范围变化情况,快速查找和定位问题原因。

关于Polyspace的静态分析的详细解析和应用

Polyspace的分析结果

不论是自动代码还是手写代码甚或混合代码,Polyspace可以承担类似“质量门”的角色,帮助查找常见软件缺陷、进行代码规范检查、提供软件度量信息,更进一步通过证明不存在运行时错误交付安全代码,大大提高代码审查的效率并可提供安全认证所需的相关证据。

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

    关注

    30

    文章

    4976

    浏览量

    74358
  • 静态分析
    +关注

    关注

    1

    文章

    46

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    汽车级低静态电流高端保护控制器SGM25702Q的深度解析

    汽车级低静态电流高端保护控制器SGM25702Q的深度解析 在汽车电子系统中,对于高端保护控制器的需求日益增长,它不仅要能保障系统的稳定运行,还要具备低功耗、高可靠性等特性。SGM25702Q作为
    的头像 发表于 03-24 17:45 560次阅读

    深入解析SGM854:超低静态电流负载开关控制器

    深入解析SGM854:超低静态电流负载开关控制器 在电子设备的电源管理领域,负载开关控制器扮演着至关重要的角色。SGMICRO推出的SGM854超低静态电流负载开关控制器,凭借其出色的性能和丰
    的头像 发表于 03-24 09:25 141次阅读

    RH1965MK:低噪声、低 dropout 线性调节器的详细解析

    RH1965MK:低噪声、低 dropout 线性调节器的详细解析 在电子设计领域,线性调节器是不可或缺的组件,它能为各种电路提供稳定的电压输出。今天,我们就来深入了解一款名为 RH1965MK
    的头像 发表于 03-22 15:15 593次阅读

    汽车级超低静态电流线性稳压器MAX25210:设计与应用全解析

    汽车级超低静态电流线性稳压器MAX25210:设计与应用全解析 在汽车和电池供电系统的设计中,线性稳压器扮演着至关重要的角色。今天,我们要深入探讨的是Analog Devices推出
    的头像 发表于 03-22 14:35 612次阅读

    深入解析SGM2210:300mA低静态电流低噪声线性稳压器

    深入解析SGM2210:300mA低静态电流低噪声线性稳压器 在电子设备的电源管理领域,线性稳压器扮演着至关重要的角色。今天,我们就来详细探讨SGMICRO推出的SGM2210线性稳压器,它以其低
    的头像 发表于 03-20 14:10 243次阅读

    深入解析SGM2047:超低静态电流LDO的卓越之选

    深入解析SGM2047:超低静态电流LDO的卓越之选 在电子设计领域,电源管理芯片的性能直接影响着整个系统的稳定性和效率。SGMICRO的SGM2047作为一款200mA超低静态电流CMOS低压差
    的头像 发表于 03-19 17:35 1014次阅读

    LT8338:高效同步升压转换器的详细解析与应用指南

    LT8338:高效同步升压转换器的详细解析与应用指南 在电源管理领域,一个高效、可靠且功能丰富的升压转换器对于电子产品的稳定运行至关重要。今天,我们就来深入探讨一下凌力尔特(现ADI)的LT8338
    的头像 发表于 03-04 10:30 316次阅读

    电子工程师必备:LTC4380低静态电流浪涌抑制器深度解析

    电子工程师必备:LTC4380低静态电流浪涌抑制器深度解析 在电子设计领域,电源保护是一个至关重要的环节。特别是在面对复杂多变的电源环境时,如何有效地保护负载免受高电压瞬变和过电流的影响,是每一位
    的头像 发表于 02-08 16:05 1137次阅读

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

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

    关于晶振的静态电容与动态电容

    静态电容与动态电容 C0与C1 的区别是什么呢?
    的头像 发表于 11-21 15:38 4527次阅读
    <b class='flag-5'>关于</b>晶振的<b class='flag-5'>静态</b>电容与动态电容

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

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

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

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

    技术干货 | ATX7006线性计算与AD/DA动态分析解析

    想知道如何在ATX7006上进行高精度线性度计算?如何通过傅里叶变换分析AD/DA转换器的动态性能?本文详细解析了线性计算的命令配置、结果获取方法,以及动态测试中的信噪比、谐波失真等关键参数的计算原理。
    的头像 发表于 06-30 10:13 1214次阅读
    技术干货 | ATX7006线性计算与AD/DA动态<b class='flag-5'>分析</b><b class='flag-5'>解析</b>

    温湿度变送器功能有哪些?一文详细解析

    对于很多行业来说,精确的测量以及控制温度和湿度至关重要。想要达到这个目的,往往需要用到温湿度变送器。那么,温湿度变送器究竟有哪些功能呢?下面为大家详细介绍。 一、精确测量温湿度 温湿度变送器的核心
    发表于 06-03 10:56

    电磁环境动态监测与分析平台软件全面解析

    电磁环境动态监测与分析平台软件全面解析
    的头像 发表于 04-28 16:28 830次阅读
    电磁环境动态监测与<b class='flag-5'>分析</b>平台软件全面<b class='flag-5'>解析</b>