Product News

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...

PVS-Studio in the Clouds - Running the Analysis on Travis CI

At the moment, cloud CI systems are a highly-demanded service. In this article, we'll tell you how to integrate analysis of source code into a CI cloud platform with the tools that are already available in PVS-Studio. As an example we'll use the Travis CI service.

PVS-Studio in the Clouds - Running the Analysis on Travis CI

by Oleg Andreev

From the article:

Travis CI is a service for building and testing software that uses GitHub as a storage. Travis CI doesn't require changing of programming code for using the service. All settings are made in the file .travis.yml located in the root of the repository. We'll take LXC (Linux Containers) as a test project for PVS-Studio. It is a virtualization system at the operation system level for launching several instances of the Linux OS at one node. The project is small, but more than enough for demonstration.

HPX V1.3 released -- STE||AR Group

The STE||AR Group has released V1.3 of HPX -- A C++ Standard library for parallelism and concurrency.

HPX V1.3 Released

The newest version of HPX (V1.3) is now available for download! This release focuses on performance and stability improvements. Please see here for the full release notes.

    HPX is a general purpose parallel C++ runtime system for applications of any scale. It implements all of the related facilities as defined by the C++ Standard. As of this writing, HPX provides the only widely available open-source implementation of the new C++17 parallel algorithms. Additionally, HPX implements functionalities proposed as part of the ongoing C++ standardization process, such as large parts of the C++ Concurrency TS, Parallelism TS V2, data-parallel algorithms, executors, and many more. It also extends the existing C++ Standard APIs to the distributed case (e.g. compute clusters) and for heterogeneous systems (e.g. GPUs).

    HPX seamlessly enables a new Asynchronous C++ Standard Programming Model that tends to improve the parallel efficiency of our applications and helps reducing complexities usually associated with parellism and concurrency.

 

GCC 9.1 Released

Check it out.

GCC 9.1 Released

From the article:

In this release C++17 support is no longer marked experimental. The C++ front-end implements the full C++17 language (already previous GCC major version implemented that) and the C++ standard library support is almost complete. The C++ front-end and library also have numerous further C++2a draft features. GCC has a new front-end for the D language. GCC 9.1 has newly partial OpenMP 5.0 support and almost complete OpenACC 2.5 support...