﻿# PVS\-Studio 7\.32: enhanced analysis, new plugins and more

PVS\-Studio 7\.32 has been released\. Discover enhanced C\+\+ analysis optimization, new plugins and features, and a host of other updates\! See more details in this note\.

![1155_7_32/image1.png](https://import.viva64.com/docx/blog/1155_7_32/image1.png)




> You can download the latest PVS\\\-Studio version \[here\]\(https://pvs\-studio\.com/en/pvs\-studio/try\-free/\)\\\.



**Optimization of template instantiation analysis**

In the latest PVS\-Studio version, we've optimized the memory consumption for the C\+\+ analyzer during template instantiation analysis\.

However, we've retained the option to disable the analysis of their instantiation in a few ways:

* use the _DisableTemplateInstantiationCpp_ in the [PVS\-Studio plugin for Visual Studio](https://pvs-studio.com/en/docs/manual/6522/);
* use the _//V\_DISABLE\_TEMPLATE\_INSTANTIATION_ setting in the [\.pvsconfig configuration files](https://pvs-studio.com/en/docs/manual/6630/#disable_templates) in cases when the analyzer memory consumption is still excessively high\. 

**Precedence of _sourceTreeRoot_ flag**

In the [PVS\-Studio\_Cmd\.exe](https://pvs-studio.com/en/docs/manual/0035/) utility, we've changed the precedence of the _\-\-sourceTreeRoot_ flag that sets the path root to convert paths from absolute to relative\. 

The flag now takes precedence over the following settings:

* _UseSolutionDirAsSourceTreeRoot_ in the [Settings\.xml configuration file](https://pvs-studio.com/en/docs/manual/6653/);
* _//V\_SOLUTION\_DIR\_AS\_SOURCE\_TREE\_ROOT_ in the [\.pvsconfig configuration file of diagnostic rules](https://pvs-studio.com/en/docs/manual/6630/)\.

**New analysis features for MSBuild build system**

For the MSBuild build system, we've introduced an option to exclude the project from the analysis via the \.pvsconfig configuration files\. 

You can do it by enabling the _V\_EXCLUDE\_PROJECT_ flag in the [\.pvsconfig configuration file of diagnostic rules](https://pvs-studio.com/en/docs/manual/6630/)\. 

**JetBrains CLion and \.pvsconfig**

The PVS\-Studio plugin for JetBrains CLion IDE now enables you to use the [\.pvsconfig configuration file of diagnostic rules](https://pvs-studio.com/en/docs/manual/6630/)\.

[Here](https://pvs-studio.com/en/docs/manual/0052/) you can learn more about using PVS\-Studio JetBrains Rider and CLion\.

**Updated PVS\-Studio plugin for SonarQube**

With API changes introduced in SonarQube 10\.1, we've updated the plugin for integrating PVS\-Studio into the SonarQube platform\. 

Now, to use PVS\-Studio in new SonarQube versions, users need to install a new plugin\. We continue to support and update the PVS\-Studio plugin for previous SonarQube versions\.

[Learn more](https://pvs-studio.com/en/docs/manual/6630/#sections) on how to use PVS\-Studio in SonarQube\.

**Changes to user annotation syntax**

The [user annotation syntax](https://pvs-studio.com/en/docs/manual/6743/) in JSON format for the PVS\-Studio C\+\+ analyzer has been changed:

* the _nullable\_initialized_ and _nullable\_uninitialized_ attributes are now deprecated;
* the _not\_null_, _maybe\_null_, and _always\_null_ return object attributes have been introduced instead\.

**Support for taint data markup**

PVS\-Studio for C\+\+ now supports marking sources and sinks in [taint data analysis](https://pvs-studio.com/en/blog/terms/6496/)\.

The feature implemented through the [user annotation](https://pvs-studio.com/en/docs/manual/6743/) mechanism in JSON format\.

**Support for new build systems in C\+\+ analyzer**

The PVS\-Studio analyzer now supports integration with [Bazel](https://pvs-studio.com/en/docs/manual/6557/#bazel) and [Scons](https://pvs-studio.com/en/docs/manual/6557/#scons) build systems for C\+\+ projects\.

**Support for new Qt Creator version**

The PVS\-Studio plugin is now available for [Qt Creator 14\.x](https://pvs-studio.com/en/docs/manual/6648/)\. 

The plugin for Qt Creator 8\.x is no longer supported\. We aim to ensure backward compatibility between the latest plugin versions and all Qt Creator versions released in the past two years\.

**New diagnostic rules:**

C, C\+\+

* [V1111](https://pvs-studio.com/en/docs/warnings/v1111/)\. The index was used without check after it was checked in previous lines\.
* [V1112](https://pvs-studio.com/en/docs/warnings/v1112/)\. Comparing expressions with different signedness can lead to unexpected results\.
* [V2021](https://pvs-studio.com/en/docs/warnings/v2021/)\. Using assertions may cause the abnormal program termination in undesirable contexts\.

C\#

* [V3201](https://pvs-studio.com/en/docs/warnings/v3201/)\. Return value is not always used\. Consider inspecting the 'foo' method\.
* [V3202](https://pvs-studio.com/en/docs/warnings/v3202/)\. Unreachable code detected\. The 'case' value is out of the range of the match expression\.
* [V3203](https://pvs-studio.com/en/docs/warnings/v3203/)\. Method parameter is not used\.

Java

* [V6115](https://pvs-studio.com/en/docs/warnings/v6115/)\. Not all Closeable members are released inside the 'close' method\.
* [V6116](https://pvs-studio.com/en/docs/warnings/v6116/)\. The class does not implement the Closeable interface, but it contains the 'close' method that releases resources\.
* [V6117](https://pvs-studio.com/en/docs/warnings/v6117/)\. Possible overflow\. The expression will be evaluated before casting\. Consider casting one of the operands instead\.

**Articles**

For those, who code in C\+\+:

* [I \_\_\_\_\_ hate arrays in C\+\+\!](https://pvs-studio.com/en/blog/posts/cpp/1134/)
* [An insect is sitting in your compiler and doesn't want to leave for 13 years](https://pvs-studio.com/en/blog/posts/cpp/1141/)
* [How to find job for Rescue Rangers: analyzing Godot Engine](https://pvs-studio.com/en/blog/posts/cpp/1150/)
* [Debugging bugs in x64dbg debugger\. No debugger](https://pvs-studio.com/en/blog/posts/cpp/1146/)
* [C\+\+ programmer's guide to undefined behavior: part 3 of 11](https://pvs-studio.com/en/blog/posts/cpp/1149/)
* [C\+\+ programmer's guide to undefined behavior: part 2 of 11](https://pvs-studio.com/en/blog/posts/cpp/1136/)
* [12 moments of typos and copy\-paste, or why AI hallucinates: checking OpenVINO](https://pvs-studio.com/en/blog/posts/cpp/1137/)
* [Fixing bugs in your AI: let's analyze bugs in OpenVINO](https://pvs-studio.com/en/blog/posts/cpp/1145/)

For those, who code in C\#:

* [\.NET Digest \#1](https://pvs-studio.com/en/blog/posts/csharp/1140/)
* [\.NET Digest \#2](https://pvs-studio.com/en/blog/posts/csharp/1148/)
* [Flax Engine\. Exploring game engine & analyzing its source code](https://pvs-studio.com/en/blog/posts/cpp/1153/)
* [Compilation of C\# conference talks from 2023\-2024](https://pvs-studio.com/en/blog/posts/csharp/1138/)

For those, who code in Java:

* [How to develop code analyzer in 48 hours](https://pvs-studio.com/en/blog/posts/java/1154/)
* [Bitwise operators in Java: unpacking ambiguities](https://pvs-studio.com/en/blog/posts/java/1135/)
* [Even great mathematicians make mistakes](https://pvs-studio.com/en/blog/posts/java/1151/)
* [Authorization pitfalls: what does Keycloak cloak?](https://pvs-studio.com/en/blog/posts/java/1142/)
* [Search query for bugs in Apache Solr](https://pvs-studio.com/en/blog/posts/java/1147/)

Other articles:

* [Get me two\! PVS\-Studio plugin update for SonarQube](https://pvs-studio.com/en/blog/posts/1152/)
* [Code whisperers and rubber duck sorcery: do developers have superstitions?](https://pvs-studio.com/en/blog/posts/1139/)
* [Cursed fire, or magic of C preprocessor](https://pvs-studio.com/en/blog/posts/1143/)
* [How to train your cat to code: bizarre learning approaches](https://pvs-studio.com/en/blog/posts/1144/)

**Conference talks**

**Modern Static Code Analysis the Example of PVS\-Studio**

How can you detect potential errors yet at the development stage? The technology of static analysis helps to answer this question\. We will explore what it is and how it works using the example of a modern code analyzer, PVS\-Studio\. We will consider practical examples of errors you can detect in C\+\+ applications using static analysis tools\. We will also address questions about integrating the analyzer into existing projects, discuss possible use scenarios for analyzers, and talk about integration into development pipelines\.

<https://www.youtube.com/watch?v=6jxM9rRXp5w>

  


> Do you want to check a project with PVS\\\-Studio? Then start from \[this page\]\(https://pvs\-studio\.com/en/pvs\-studio/try\-free/\)\\\.



If you would like to get news on latest releases, subscribe to the PVS\-Studio newsletter [here](https://pvs-studio.com/en/subscribe/)\.