Polyspace R2018b有什么新功能?

Polyspace Bug Finder™和Polyspace Code Prover™的2018b版本提供了许多新功能。重点包括更简单的设置、改进的模块化以及对安全标准的支持。金宝app

来自构建系统的模块化

在R2018B中,您可以在构建系统(Makefile)中重用模块化以创建单独的PolySpace分析模块。

假设构建系统具有以下依赖项并创建四个二进制文件:可执行文件foo.exe.Bar.exe.,以及动态库util.dll.gui.dll.

图1所示。显示二进制文件和动态库的关系图。

在前面,您从整个构建系统中创建了一个Polyspace分析配置。或者,如果您很好地了解构建系统中的依赖项,那么您可以跟踪构建系统中的特定目标。现在,您可以在构建系统中为每个二进制文件创建一个Polyspace配置,而不需要了解构建系统如何工作的任何细节。您只需提供构建命令(例如使. .)让Polyspace休息。

通过这种模块化分析的能力,您可以获得以下好处:

  • 更精确的分析:您可以对构建系统中的每个二进制文件执行单独的Polyspace分析。分析不会混合来自不同二进制文件的文件。
  • 自动化的模块化:在构建系统中重用模块化来创建Polyspace分析模块。
  • 重点分析:你可以分析特定的模块,而不是整个代码库。
  • 最低限度的构建系统知识:你不需要知道构建系统的细节。只需使用-module标志,就可以为构建系统中的每个二进制文件创建一个单独的选项文件。然后,您可以只分析您感兴趣的二进制文件的代码实现。

有关详细信息,请参阅文档

支持和改进的CER金宝appT C支持

在R2018B中,您可以使用PolySpace Bug Finder符合Cert C ++标准。您可以检测C ++ - 特定问题,例如:

  • 复制构造函数在复制期间修改源
  • 转换或删除指向不完整类的指针等。

图2。显示证书c++规则和Polyspace检查的图表。

CERT C支持也得到金宝app了改进,因此您现在可以检测诸如精度损失和线程阻塞操作等问题。

看到的细节CERT CCERT c++在文档中的覆盖范围。

支持C11和c++ 14金宝app

在R2018b中,Polyspace可以解释C11或c++ 14特定的大多数特性。如果您使用来自这些标准的特性,那么您只需在开始分析之前指定标准。Polyspace编译器识别特定于这些标准的元素,并在没有编译错误的情况下进行分析。

图3.选择目标语言。

看到金宝app支持语言标准在文档中。

用于AutoSAR软件组件的可视化辅助和快速过滤器

Polyspace代码验证程序现在包含了对软件开发AUTOSAR方法的直接支持。金宝app

您现在可以查看所有软件组件的完整应用程序层的可视化表示。您还可以概述每个软件组件的PolySpace代码抄本结果。钻取到每个组件行为的细节,包括:

  • 入口点函数及其调用函数
  • 包含这些函数的文件

R2018B还提高了特定于特定于Autosar的结果的搜索功能。您现在可以在整个应用程序层中搜索非常具体的详细信息。您可以为以下内容创建快速过滤器:

  • 具有以特定字符串开头的限定名称的软件组件。您可以使用正则表达式进行模式匹配。
  • 软件组件具有成功编译的代码实现。
  • 在PolySpace代码抄本结果中具有红色检查的软件组件。

随着搜索和可视化的改进,您可以轻松地完成更加集中的审查和跟踪信息。例如,每个软件组件都以最验证结果的颜色显示。如果软件组件的代码实现包含红色检查,则相应的图标为红色。您可以使用图标颜色快速专注于需要注意的软件组件。

图4。软件组件的图形视图。

看到文件获取详细信息。

其他特性

除了这些主要功能,R2018b还提供了其他改进,如:

  • 自动检测更多类型的线程创建函数
  • 改进了c++特定检查结果的表示
  • 能够直接从包含点打开头文件
  • 金宝app支持编制者,如瑞萨

更多细节,请参阅: