Polyspace静态分析说明

阅读最新帖子以了解有关PolySpace的更多信息®s manbetx 845产品。

2021A释放多胶囊®s manbetx 845产品增加了许多现有工作流程的改进。在使用AutoSAR RTE API的C / C ++代码上运行更快的分析,并查看更多精确的结果。在包含C和C ++源文件的组合的项目上运行PolySpace Code Prover™分析。使用新可自定义的指南检查程序减少代码的软件复杂性。


    版本2020B增加了许多现有的多核空间的改进®产品工作流程。你可以右UN在C ++ 17代码上的PolySpace分析或使用PolySpace分析来利用来自构建系统的JSON编译数据库格式生成的源和编译器规范。


      为嵌入式系统开发软件的许多公司要么调查云平台,规划试点项目,或积极开发云中的软件。这些公司往往被公共云提供商所吸引,例如亚马逊网络服务(AWS®)和微软Azure®,由于云平台提供的竞争性定价和其他优势。


        发布2020A的多胶囊®s manbetx 845产品填写了许多现有工作流程并介绍了一些新功能。PolySpace Bug Finder™现在支持所万博1manbetx有证书C规则,并且PolySpace Access™产品可以分析导入Simulink的所有形式的Cs manbetx 845 / C ++代码。万博1manbetx新的关键功能包括检查C ++代码中的潜在性能问题的检查,来自用户策划函数列表中的标志函数,并检查初始化代码中的问题。


        在过去的20年里,移动、智能设备、物联网和云等技术的进步催生了数以百万计的新应用。为了更快地开发高质量和可预测性的应用程序,公司正在改进他们的软件开发过程。在21世纪初,“轻量级”敏捷软件开发开始流行起来。敏捷是一个重视协作、持续计划和持续测试的迭代软件开发过程。


        Polyspace发布2019B®s manbetx 845与以前的版本相比,产品包含更多的检查器,万博1manbetx支持更多的编译器,显示更少的误报,并进一步减少安装活动。主要的新特性包括Polyspace Code Prover™中的共享变量模式,在Simulink中验证自定义C代码的能力万博1manbetx®以及更高支持编码标准,如Au万博1manbetxtoSAR C ++ 14和Cert®C ++具有新的C ++ 11跳棋。


        一个问题经常出现:PolySpace是吗?®万博1manbetx支持我正在使用的编译器?有时,这个问题的变体被询问:为什么PolySpace等静态分析工具需要了解一个编译器?它不是如果工具编译代码,则会创建二进制文件,并执行二进制文件以检测运行时错误。运行时错误检测并不涉及实际执行代码。


        PolySpace Bug Finder Access™和PolySpace代码Prover Access™使其轻松查看分析结果并促进团队协作。项目团队中的每个人都可以查看,评论和分类来自Web界面。以下工作流程显示软件开发团队的不同成员如何使用PolySpace访问产品来监控其项目的软件质量和视图和分类代码分析和验证结果。s manbetx 845


        截至R2019A,PolySpace Bug Finder™已过渡到三种新产品:PolySpace Bug Finder,PolySpas manbetx 845ce Bug Finder Server™和PolySpace Bug Finder Access™。PolySpace代码箴言也转化为三种新产品:PolySpace代码箴言,PolySpace代码Prover Servs manbetx 845er™和PolySpace代码Prover Access™。


        2018B发布的PolySpace Bug Finder™和PolySpace Code Prover™提供了许多新功能。亮点包括:更轻松地设置,改进模块化,并增加对安全标准的支持。万博1manbetx


        波尔纹®开发团队通过在您的环境中部署PolySpace产品的第一次互动来考虑完全客户体验。s manbetx 845我们从这些交互中获益的信息驱动了我们的特色地图和设计。


        由Jay Abraham,Puneet Lal和Anirban Gangopadhyay

        本文概述了R2018a中的两个改进,这两个改进使得查看数据竞争和其他基于多任务的结果更加容易。


        由Anirban Gangopadhyay

        从R2018A开始,PolySpace代码箴言直接支持软件开发的AutoSAR(汽车开放系统架构)方法万博1manbetx。无论您在AutoSAR软件开发工作流程中的角色,您现在都可以使用PolySpace代码谚语作为Autoar Aware静态分析工具。


        杰伊亚伯拉罕

        软件工程师依赖于集成开发环境(ide),比如Eclipse™,将开发活动整合到一个统一的接口中。使用ide,您可以编辑、编译、执行、调试和测试您的代码。


        由Ram Cherukuri和Anirban Gangopadhyay

        缓冲区溢出已经困扰了C / C ++开发社区多年。虽然C语言授权开发人员直接通过指针访问内存,但它也打开了溢出问题的门。安全编码实践有助于开发人员避免缓冲区溢出到某种程度上(以性能成本),但有时缓冲区溢出可能是微妙的,复杂的是找到和解决。


        由Ram Cherukuri

        MISRA向其最新Misra C:2012年编码准则发布了修订,以减轻网络安全漏洞的越来越大的风险。2016年初发表,修正案通过附加的编码准则解决嵌入式安全性问题。这14个新的编码指南旨在弥合ISO/IEC 17961:2013中发布的安全指南的差距。下表列出了符合MISRA C 2012规范的这14条规则的分类。要了解MISRA C:2012标准中使用的分类系统的更多信息,请查看理解MISRA C 2012编码指南的遵从性(33:28)


        由Ram Cherukuri

        来自CERT C,ISO / IEC TS 17961,MISRA C:2012修正案1的安全编码指南,以及CWE中示范的安全漏洞提供了一种方法来分析和衡量嵌入式软件的安全性。这些标准正在获得更多的验收,因为它们提供了在现有和新开发的代码中的理解,解决和记录安全漏洞的共同框架。


        由Ram Cherukuri

        组织和团队为其软件开发流程采用各种型号(即,V和Agi​​le)。在每个模型中,有差异变化,具体取决于应用程序,行业和工作流程的成熟度的要求。根据软件开发工作流程中的不同步骤,存在额外的变化。例如,有些组织包括正式的代码审核作为其开发过程的一部分,因为它在提高缺陷检测率方面的好处。其他人依赖于或大量的测试活动。鉴于这些广泛的变体,至少有几种适用于大多数现代嵌入式软件开发工作流程的最佳做法。


        由Ram Cherukuri

        PolySpace Code Prover™使用彩色橙色以突出显示无法自动证明在所有情况下无错误的操作。然后,您可以审查可能导致鲁棒性或可靠性问题的潜在运行时问题。


        作者:Ram Cherukuri, Fred Noto和Alexandre Langenieux

        CERT C是一套软件开发人员的指南,用于C语言的安全编码。它是在CERT社区wiki上按照基于社区的开发过程开发的,第一版发布于2008年,第二版发布于2014年。


        由Ram Cherukuri

        代码生成极大地简化了MISRA遵从过程。编码标准(如MISRA)的主要目标是可读性、可维护性和可移植性,以及确保安全性和可靠性。因为模型是开发过程的核心,并且可以为不同的平台以一致的方式从模型生成代码,因此简化了可移植性和可维护性部分。


        由Ram Cherukuri

        前一篇文章突出了利用的好处多血糖静态分析帮助优化和减少验证周期的测试阶段的长度。这篇文章将讨论稳健性测试的低效率,并介绍如何解决这些挑战。


        由Ram Cherukuri

        测试是大多数嵌入式软件开发组织的验证过程的主要部分。研究估计,大约25% - 30%的开发时间用于测试,在某些情况下,这可以高达50%[1]。


        Ram Cherukuri, Gary Ryu著

        MISRA标准编码规则的最新版本是MISRA C:2012,该规则成功地成功了MISRA C:2004,在嵌入式系统的行业中被广泛采用的软件社区被广泛采用。


        由Ram Cherukuri,Stefan David

        Misra标准是跨行业的广泛采用的编码标准。它已成为嵌入式软件开发和质量保证群体中常见的最佳实践。许多这些群体对至少一个适用规则的子集具有严格的遵守政策 - 如果不是所有的编码规则。这种合规政策需要审查进程来解决违反编码规则的行为,而且此过程通常可以是资源密集的。


        由Ram Cherukuri

        这让我想起了这个笑话,“需要多少工程师来改变灯泡?”

        我们的许多客户,特别是汽车行业的客户,在软件开发和验证过程中使用了多个静态分析工具。

        使用多种工具的一个原因是,传统上,采用静态分析被分成不同的活动,如编码规则遵从性、错误查找等。开发组织可能已经采用了一个lint工具来执行本地bug查找和一个规则检查工具来验证对标准(如MISRA)的遵从性,而质量保证部门可能已经采用了代码度量工具,如代码覆盖率、注释密度和圈复杂度。


        作者:Anirban Gangopadhyay和Ram Cherukuri

        在这两个部分系列中,我们讨论了稳健性代码验证,这是一种方法,您可以在其中验证您的代码单位的代码单位。我们概述了一些例子,我们讨论了使用这种方法的利弊。

        在此帖子中,我们将讨论上下文代码验证,在其中验证您的代码基础上的代码单位,其中单元将集成。此帖子将通过与上一篇文章中的相同示例一起使用与上下文代码验证背后的概念,然后它将概述使用两种类型的代码验证(鲁棒性和上下文)的最佳实践。


        作者:Anirban Gangopadhyay和Ram Cherukuri

        这是两个部分系列概述代码验证方法的一部分。

        我们从一个问题开始:在软件开发的阶段应该验证我的代码吗?

        答案很简单。在编译它之后,您应该验证它,当您的思想中的代码是新的。一旦您示出了潜在的错误,审查和修复这些错误就可以几乎微不足道。在工作流程中的阶段之后,修复错误永远不会变得更容易。


        由Ram Cherukuri,Jeff Chapple,Stefan David和Jay Abraham

        更快的上市时间趋势可能是推动误解的静态分析只是关于寻找错误。软件开发人员必须尽可能多的错误,并且将使用快速错误查找工具,但很可能会留下一些错误。这种做法可能足以用于非安全关键应用,例如智能手机应用,但它可能不足以用于安全关键的应用。因此,安全关键应用需要更严格的方法来验证安全性和鲁棒性,这是静态分析进出的其他好处。在本文中,我们将破坏静态分析只是关于发现错误的误解,并证明它可以帮助验证符合编码标准,产生关于代码质量的指标,并在软件开发的任何阶段使用。


        作者:Jay Abraham, Ram Cherukuri, Christian Bard

        2014年2月,科技博客和新闻媒体纷纷报道苹果iOS iPhone、iPod、iPad和Mac OS X设备新发现的漏洞。在传输层安全(TLS)和安全套接字层(SSL)代码中出现了一个问题,可能会被所谓的中间人攻击(MitM)所利用。这一漏洞被称为“Goto Fail”,苹果公司很快用iOS 7.0.6(移动平台)和OS X 10.9.2(桌面平台)修复了该缺陷。

        问专家


        Puneet Lal,Polyspace静态分析说明联系专家

        s manbetx 845使用的产品