What’s New in Polyspace R2020b?

版本2020B增加了许多现有的多核空间的改进®product workflows. For instance, you can:

  • Run a Polyspace analysis on C++17 code
  • 使用PolySpace分析从您的构建系统中以JSON编译数据库格式生成的源和编译器规范杠杆源和编译器规范

Learn more about these and other features below.

从构建系统上更快和更简单的配置

构建系统,如CMake,Ninja和Bazel,以及Clang等编译器支持以JSON格式生成编译数据库。万博1manbetx汇编数据库,通常是命名的compile_commands.json, records all compilation options such as source file paths and compile commands with associated arguments. A typical database looks like this:

[

{ "directory": "/home/user/llvm/build",

“命令”:“/ usr / bin / clang ++ -irelative -c -o file.o file.cc”,

"file": "file.cc" },

...

]

从R2020B开始,PolySpace产品可以在JSON编译s manbetx 845数据库文件中读取规范,并为后续PolySpace分析生成选项文件。如果您的构建系统支持创建JSON编译数据库万博1manbetx文件,则不需要进一步设置PolySpace分析。

Reading the JSON compilation database to generate analysis options is also much faster than the classic workflow that tracks the commands executed in a build and generates equivalent options using Polyspace products.

有关更多信息,请参阅:

Improved AUTOSAR C++14 Support

With R2020b, Polyspace Bug Finder™ supports 61 new AUTOSAR C++14 rules.

What’s New in Polyspace R2020b?

Some examples of new supported rules are:

  • A2-7-2 (sections of code shall not be “commented out”): This rule can help with code cleanup before shipping.
  • A3-1- *(内嵌的规则):这些规则可以帮助决定类中最能定义哪些功能。
  • A5-1-* (rules on lambda expressions): Lambda expressions are powerful concepts but represent many opportunities for errors. These rules can help avoid those errors.
  • A12-*-* (rules on special member functions): These rules cover common functions associated with a class such as move constructors and comparison operators.
  • A15 - * - *(规则exceptions): These rules cover issues such as how to definenoexcept.函数以及在哪里使用Catch-all例外。

R2020B支持的新规则跨越万博1manbetx许多其他组。

看also万博1manbetx支持的AutoSAR C ++ 14规则.

C ++ 1万博1manbetx7支持

R2020b supports the C++17 standard (ISO/IEC 14882:2017). If your code adheres to the C++17 standard (for instance, if you compile in GCC with the flag-std = C ++ 17),PolySpace产品s manbetx 845现在可以在没有编译错误的情况下分析您的代码。

What’s New in Polyspace R2020b?

PolySpace产s manbetx万博1manbetx 845品支持C ++ 17标准的大多数功能。有关详细信息,请参阅:

Distributed Workflows from Simulink

In R2020b, you can package Polyspace option files along with code generated from a Simulink® model, and then analyze the code on a different machine. The machine where you perform simulations and code generation need not have Polyspace installed, and the machine where you analyze the code does not require Simulink or Embedded Coder®.

在第一台计算机上,您可以使用简单的命令包装所有生成的代码文件,例如下面如下所示。您还可以在打包时指定其他分析选项。

psopt = pslinkOptions(mdlname);

psOpt.InputRangeMode = 'FullRange';

psopt.paramrangemode ='designminmax';

zipfile = polyspacepackngo(mdlname,psopt);

You can then transfer the packaged archive to another machine. When you unpack the archive on the second machine, you will have all the source files and option files to run a Polyspace analysis.

有关更多信息,请参阅:

Polyspace Access Improvements

In R2020b, Polyspace Access™ products introduce new features to improve installation and review workflows.

  • 更简单的PolySpace访问HTTPS配置:

    When you install Polyspace Access on a single node, the ports of the Polyspace Access services are no longer exposed. You do no need to check the availability of ports or provide SSL private keys and certificates for the HTTPS configuration. For more information, see:为HTTPS配置PolySpace访问权限.

  • 与JIRA软件云集成:

    您现在可以将JIRA软件云与PolySpace访问集成。看Configure Issue Tracker.

  • 更轻松的用户管理:

    The embedded LDAP is replaced with the User Manager internal directory. You no longer need to provide an LDIF file to setup custom login credentials for Polyspace Access. You can create user profiles directly from the User Manager interface.

What’s New in Polyspace R2020b?
  • 与上一个运行的比较:

    Compare results from current run to previous runs and determine progress in code quality improvement.

What’s New in Polyspace R2020b?

You can determine which analysis findings from a previous run were solved, which findings remain unresolved, and which findings are new. For more information, see:将分析结果与之前的运行进行比较.

  • 按项目质量目标:

    定义自定义质量目标定义并将其应用于特定项目。

What’s New in Polyspace R2020b?

您可以自定义用作传递/失败标准的阈值以跟踪代码的质量,然后选择您对每个项目应用的自定义阈值。有关更多信息,请参阅:Quality Objectives Dashboard.

其他特性

Apart from these major features, R2020b offers other improvements such as:

  • Support for Renesas SH C compilers
  • 万博1manbetx支持其他CERT C ++规则,CERT C的建议和MISRA C ++规则
  • 由于改进的缓存,从构建系统中创建更快的项目创建
  • 配置设置在节省或按需进行PolySpace访问产品的验证s manbetx 845

For details, see the following release notes: