Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
PVS-Studio 7.31: new C++ analyzer featu…

PVS-Studio 7.31: new C++ analyzer features, enhanced user annotations, and more

Jun 18 2024
Author:

PVS-Studio 7.31 has been released. We have so much news to share with you! We've enhanced the user annotation system, the mode to analyze individual files, and much more! Learn more release details here.

1133_7_31/image1.png

You can download the latest version of PVS‑Studio here.

Enhanced individual file analysis mode

We've enhanced the mode to analyze individual files via the ‑‑source-files flag in the pvs-studio-analyzer utility.

If you want to know more about the analysis flags, check out it here.

We've improved the handling of scenarios in which the compilation dependency cache for C and C++ files differs from the project structure.

This could happen if you often switch branches in one workspace or analyze different project versions.

If you want to learn more about this mode, check out the documentation.

New feature to customize configuration files

The PVS-Studio for C++ now supports setting up the .pvsconfig configuration files based on the analyzer version that uses these files.

If you want to learn more, check out the documentation.

Enhanced user annotation system

The system of user annotations in C++ analyzer now supports setting the constraints of allowed and disallowed values for integer function parameters.

If you want to learn more about the system of user annotations, check out the documentation.

Enhanced CircleCI documentation

We've enhanced and updated the documentation on the PVS-Studio integration into the CircleCI cloud CI system.

You can find the enhanced documentation here.

New diagnostic rules

C, C++

  • V1108. Constraint specified in a custom function annotation on the parameter is violated.
  • V1109. Function is deprecated. Consider switching to an equivalent newer function.
  • V1110. Constructor of a class inherited from 'QObject' does not use a pointer to a parent object.

C#

  • V3199. Index from end operator used with the value that is less than or equal to zero. Index is out of bound.
  • V3200. Possible overflow. The expression will be evaluated before casting. Consider casting one of the operands instead.

Java

  • V6113. Suspicious division. Absolute value of the left operand is less than the value of the right operand.
  • V6114. The 'A' class containing Closeable members does not release the resources that the field is holding.

Articles

For C++ programmers:

For C# programmers:

For Java programmers:

Articles on general topics:

New videos

We've also got a new series of videos about Andrey Karpov's mini-book "60 terrible tips for a C++ developer"!

If you can't wait to dive into the rest of the terrible tips, you can read the full version on our blog.

If you want to write efficient, reliable and well-structured C++ programs, it's helpful to know about errors and inefficient approaches. Now in video format:

Do you want to check a project with PVS-Studio? Then start from this page.

If you would like to get news on latest releases, subscribe to the PVS-Studio newsletter here.

Popular related articles


Comments (0)

Next comments next comments
close comment form
close form

Fill out the form in 2 simple steps below:

Your contact information:

Step 1
Congratulations! This is your promo code!

Desired license type:

Step 2
Team license
Enterprise license
** By clicking this button you agree to our Privacy Policy statement
close form
Request our prices
New License
License Renewal
--Select currency--
USD
EUR
* By clicking this button you agree to our Privacy Policy statement

close form
Free PVS‑Studio license for Microsoft MVP specialists
* By clicking this button you agree to our Privacy Policy statement

close form
To get the licence for your open-source project, please fill out this form
* By clicking this button you agree to our Privacy Policy statement

close form
I am interested to try it on the platforms:
* By clicking this button you agree to our Privacy Policy statement

close form
check circle
Message submitted.

Your message has been sent. We will email you at


If you do not see the email in your inbox, please check if it is filtered to one of the following folders:

  • Promotion
  • Updates
  • Spam