Product News

PVS-Studio 7.04

PVS-Studio is a tool designed to detect errors and potential vulnerabilities in the source code of programs, written in C, C++, C#, Java. It works in Windows, Linux, and macOS environment.

PVS-Studio 7.04

by Svyatoslav Razmyslov

From the article:

When working on a task developers take code from so many various places. A popular source of Copy-Paste code is the Stackoverflow website and similar ones. There are cases when a developer takes the code from an open source project and doesn't check license requirements. Thus, a closed source project may accidentally get a few files from an open source project with a Copyleft license, which obliges to make the entire project code open source. In companies with a large number of employees, it's difficult to keep track of this, whereas such actions might cause adverse risks and problems. So, PVS-Studio now has a diagnostic, which will help to find such files. It relates to all supported languages (C, C++, C#, Java). The diagnostic is looking for the following "virus" licenses: AGPL-3.0, GPL-2.0, GPL-3.0, LGPL-3.0.

Sourcetrail 2019.3 released -- Eberhard Gräther

Sourcetrail is a cross-platform Visual Source Explorer based on LLVM/Clang

<img alt="" data-cke-saved-src="https://www.sourcetrail.com/blog/images/release_2019_3/composition_trail.png" src="https://www.sourcetrail.com/blog/images/release_2019_3/composition_trail.png" 2638px;="" height:="" 1634px;"="" style="height: 142px; width: 230px; float: right;">

Sourcetrail 2019.3 released

by Eberhard Gräther

From the article:

The Sourcetrail 2019.3 release introduces the new Custom Trail dialog to query and display connections between any two symbols. Additionally, the new release brings Precompiled Header (PCH) Support for C and C++ projects to speed up the indexing step.

How to set up PVS-Studio in Travis CI using the example of PSP game console emulator

Travis CI is a distributed web service for building and testing software that uses GitHub as a source code hosting service. In addition to the above scripts, you can add your own, thanks to the extensive configuration options. In this article we will set up Travis CI for working with PVS-Studio by the example of PPSSPP C++ code.

How to set up PVS-Studio in Travis CI using the example of PSP game console emulator

by Maxim Zvyagintsev

From the article:

At the beginning of the travis_install function we install the compilers we need using environment variables. Then, if the $PVS_ANALYZE variable stores the value of Yes (we specified it in the env section when configuring the build matrix), we install the pvs-studio package. Besides it, there are also libio-socket-ssl-perl and libnet-ssleay-perl packages, but they are needed to send the results by mail, so they are not necessary if you have chosen another way of report delivery.

ReSharper C++ 2019.2 has arrived with improved C++20 support, new code analysis checks, and more

Welcome ReSharper C++ 2019.2 release!

ReSharper C++ 2019.2: Faster indexing, improved C++20 support, new code analysis checks, and better Unreal Engine support

by Anastasia Kazakova

The new update brings:

  • 15-25% faster indexing on typical solutions like LLVM or Unreal Engine.
  • More sophisticated support for Unreal Engine (built-in documentation for reflection specifiers, RPC support in refactorings, specific UE4 code analysis checks).
  • More C++20 support (char8_t and conditional explicit support, pack expansion in lambda init-capture, default constructible and assignable stateless lambdas, and more).
  • Updates to built-in code analysis (new checks to catch unmatched preprocessor directive and redundant final function specifier in a final class).
  • Updates to code completion, navigation, and code formatter.
  • New code hints.

Getting Started with the PVS-Studio Static Analyzer for C++ Development under Linux

There are different ways to install PVS-Studio under Linux, depending on your distro type. The most convenient and preferred method is to use the repository, since it allows auto-updating the analyzer upon releasing new versions.

Getting Started with the PVS-Studio Static Analyzer for C++ Development under Linux

by Yuri Minaev

From the article:

Besides strace, you can base the analysis on the compile_commands.json (JSON Compilation Database) file. Many build systems have built-in means of exporting compilation commands, or you could use the BEAR utility to do this. Here's the command to launch the analysis in this case: pvs-studio-analyzer analyze –f /path/to/compile_commands.json

 

CLion 2019.2 has landed with more support for Embedded Dev, MSVC debugger, Unused Includes, and more

This year's second major update, CLion 2019.2, has just landed!

CLion 2019.2 has landed with new functionality for Embedded Developers, experimental MSVC debugger, updated Unused Includes check, parameter hints, and much more

by Anastasia Kazakova

From the article:

  • For Embedded developers:
    • On-Chip debugging with GDB Server
    • A Peripheral View for ARM Devices
  • In the debugger:
    • Completion for GDB/LLDB commands
    • On-the-fly detection of pending, resolved, and invalid line breakpoints
    • An experimental debugger for the Microsoft Visual C++ toolchain
    • Go to address and ASCII view in Memory View
  • In the editor:
    • The 'Unused Includes' check is back and now more accurate
    • Updated Clang-Tidy brings a set of new checks to CLion
    • Parameter Name Hints added to make your code easier to read
    • Code assistance in ClangFormat config files
  • Performance improvements
  • Syntax highlighting for over 20 new languages
  • Updates to naming convention settings, bundled Shell Script plugin, and VCS support

ReSharper C++: Better Ways to Test C++ with doctest

doctest stands out with its ability to write tests in a new and easier way, unlocking the potential for more thorough, up-to-date, and uniform testing.

ReSharper C++: Better Ways to Test C++ with doctest

by Viktor Kirilov

From the article:

What truly sets doctest apart is the ability to use it alongside your production code. This is made possible because of 5 main properties:

Going a step further – doctest can even be used as a general-purpose assert library within the production code itself - outside of a testing context!

Here is a direct question/answer thread of a user interested in mixing production code and tests.

Cevelop: New Release 1.12

A new release 1.12 of the free C++ IDE Cevelop is available.

Cevelop

by the IFS Cevelop Team

About the release

Notable new features include the expanded and improved AUTOSAR/MISRA and Core Guideline Codeanalysator beta plug-in with Checkers and Quick-fixes.

General stability and performance improvements, i.e., in our Constificator beta plug-in, for making your code more const correct.

 

A new technology for C++ -- Erkam Murat Bozkurt

In this article, a new programming technology for C++ has been introduced.

A new technology for C++ and its application to the multithreading

by Erkam Murat Bozkurt

From the article:

 This technology acts as a separate intelligent actor simplifying software development process. In fact, this technology is a new meta-programming system which builds application specific libraries for its users. The tools that are built on the library construction process collect status information from the process and act as autonomous process management systems. This new programming technology may offer a good alternative for interpreters that are used on high level languages.

 

Use constexpr for faster, smaller, and safer code--Trail of Bits

More safety, maybe more speed.

Use constexpr for faster, smaller, and safer code

by Trail of Bits

From the article:

With the release of C++14, the standards committee strengthened one of the coolest modern features of C++: constexpr. Now, C++ developers can write constant expressions and force their evaluation at compile-time, rather than at every invocation by users. This results in faster execution, smaller executables and, surprisingly, safer code...