PVS-Studio 7.23: Qt Creator 9 plugin, and more
PVS-Studio 7.23 is released. We improved the Qt Creator support, increased the stability of PVS-Studio Java, solved issues with the analysis of NMake projects, added a number of new diagnostics, and much more. The following note describes the details.
Improved Qt Creator support
In the previous release, we released the PVS-Studio plugin for Qt Creator. It looks as follows (click the screenshot to enlarge the picture):
Almost at the same time, Qt Creator 9 was released. Of course, back then we wouldn't have had time to support the new version. However, now the PVS-Studio plugin works for Qt Creator 9.0.* versions.
Moreover, the 7.23 release made it possible to use the plugin for Qt Creator not only on Windows and Linux, but also on macOS on the x86-64 architecture.
For now, the plugin allows you to open the report, view warnings, filter them, etc. In future releases, we plan to add the ability to run analysis in the plugin.
You can find the documentation for the plugin here.
Stabilized Java analyzer
Some time ago, we found some issues with the Java analyzer on Unix systems. In some cases, the analyzer crashed right after starting and issued an error as follows:
The issue appeared due to undetected dependency libraries. We fixed this issue in the 7.23 release. Now, Java developers can use PVS-Studio to analyze their projects on Unix systems :). If you still have this or any other error, feel free to email us — we will try to help.
Solved issues with NMake projects analysis
Sometimes, the following error appeared when analyzing a CMake project that uses NMake:
This issue relates to NMake restrictions on the length of the command, however, we managed to solve it. Now, the analyzer successfully generates a report for the entire project.
If you've previously tried PVS-Studio and encountered the described error, then try a new version where we solved the issue.
- V1093. The result of the right shift operation will always be 0. The right operand is greater than or equal to the number of bits in the left operand.
- V1094. Conditional escape sequence in literal. Its representation is implementation-defined.
- V3184. The argument's value is greater than the size of the collection. Passing the value into the 'Foo' method will result in an exception.
- V3185. An argument containing a file path could be mixed up with another argument. The other function parameter expects a file path instead.
- V3186. The arguments violate the bounds of collection. Passing these values into the method will result in an exception.
This time our team made quite an addictive game — Endless coding:
You can try it here. Be careful — the game is very relatable!
We also created a Christmas quiz — Save Christmas from bugs! You can take it here. You will have to answer questions about Christmas bug stories in various well-known companies.
A great opportunity to feel the holiday atmosphere again :).
You can also take our quick poll. A small gift will be waiting for you at the end.
For C++ developers:
- Falsehoods programmers believe about undefined behavior
- Top 10 bugs found in C++ projects in 2022
- PVS-Studio and RPCS3: the best warnings in one click
For C# developers:
- PVS-Studio now analyzes Blazor components
- Top 10 bugs found in C# projects in 2022
- PVS-Studio and protobuf-net: best warnings are one click away
- Help the compiler, and the compiler will help you. Subtleties of working with nullable reference types in C#
- .NET 7: suspicious places and errors in the source code
What else to read:
- Overview of the PVS-Studio plugin for Visual Studio Code
- What you need to know about PVS-Studio enhancements
- Under the hood of SAST: how code analysis tools look for security flaws
- Wave Function Collapse for procedural generation in Unity
- C++ — programming language of the year 2022. What about other languages?
- PVS-Studio in 2022
- Christmas holidays with PVS-Studio
- PVS-Studio: 2 features for a quick start
You can download the latest PVS-Studio version here.
If you want to get press releases by email, subscribe to the newsletter.