PVS-Studio 7.34: support for Apple Silicon ARM64, .NET 9, taint analysis in Java analyzer, and more
We ported PVS-Studio analyzers to Apple Silicon processors with the ARM64 architecture. Download PVS-Studio on this page.
PVS-Studio C# analyzer now supports projects for .NET 9.
PVS-Studio Java analyzer now includes a taint analysis mechanism. We created the first diagnostic rule based on this mechanism—it can detect SQL injection vulnerabilities. Next year, the Java team will focus on SAST, covering the OWASP Top 10 list of the most common potential vulnerabilities, and adding more diagnostic rules for taint analysis.
The PVS-Studio_Cmd and pvs-studio-dotnet command line utilities have been updated to include a modified file analysis mode that auto-detects source files changed between analysis runs. This mode is an alternative to incremental analysis. You can use it to check Pull Requests. For more details on this mode, please consult the documentation.
PVS-Studio 7.33: C# user annotations, SN-DBS support, and more
PVS-Studio C++ analyzer memory consumption has been reduced when analyzing template instantiation and initialization of multiple global variables containing string literals.
PVS-Studio C++ analyzer now generates fewer false positives when analyzing Unreal Engine projects. The processing of __builtin_expect built-in functions implemented in the compiler has been standardized, and the way explicit casting to bool is processed has been enhanced. This improves the analysis of check functions implemented through the DO_CHECK macro in Unreal Engine projects.
The PVS-Studio integration with Unreal Engine now supports SN-DBS, a distributed build system. In the documentation, you can learn more about the PVS-Studio integration with Unreal Engine. These changes apply to Unreal Engine 5.5.
PVS-Studio C# analyzer now supports user annotations for functions and types in JSON format, as it is already possible in PVS-Studio C++ analyzer. For more details on user annotations, please consult the documentation.
PVS-Studio 7.32: enhanced analysis, new plugins and more
Due to changes in the API of the SonarQube platform, a new plugin for integration of the PVS-Studio analyzer into the SonarQube platform has been introduced. Starting with SonarQube 10.1, a new plugin version is required. The PVS-Studio plugin for earlier SonarQube versions remains supported and will be updated along with the new plugin.
The PVS-Studio analyzer now supports integration into projects using the Bazel and Scons build systems.
The PVS-Studio plugin is now available for Qt Creator 14.x. The plugin support for Qt Creator 8.x has been stopped. The static analyzer supports backward compatibility between the latest plugin versions and all Qt Creator versions released over the past two years.
The memory consumption of the C++ analyzer during the template instantiation analysis has been optimized. However, the option to disable the analysis of their instantiation has been retained for the cases when the analyzer memory consumption is still excessively high. To disable the instantiation, use the DisableTemplateInstantiationCpp setting flag in the PVS-Studio plugin for Visual Studio or the //V_DISABLE_TEMPLATE_INSTANTIATION setting in the .pvsconfig configuration files.
Did you miss our latest products or just want to catch up on what's new? We put together a quick 5-minute overview of the latest PVS-Studio updates over the past three years in a video that you can check out anytime.