Blog

  • Logical Expressions in C/C++. Mistakes Made by Professionals

    11.04.2016
    In programming, a logical expression is a language construct that is evaluated as true or false. Many books that teach programming "from scratch" discuss possible operations on logical expressions familiar to every beginner. In this article, I won't be talking about the AND operator having higher precedence than OR. Instead, I will talk about common mistakes that programmers make in simple conditional expressions consisting of no more than three operators, and show how you can check your code using truth tables. Mistakes described here are the ones made by the developers of such well-known projects as FreeBSD, Microsoft ChakraCore, Mozilla Thunderbird, LibreOffice, and many others. Read more
  • Toonz code leaves much to be desired

    07.04.2016
    Recently the world got to know that Digital Video, the makers of TOONZ, and DWANGO, a Japanese publisher, have signed an agreement for the acquisition by Dwango of Toonz, an animation software which was independently developed by Digital Video (Rome, Italy). Read more
  • Serious Sam shooter anniversary - finding bugs in the code of the Serious Engine v.1.10

    21.03.2016
    The first-person shooter 'Serious Sam' celebrated its release anniversary on March, 2016. In honor of this, the game developers form the Croatian company Croteam decided to open the source code for the game engine, Serious Engine 1 v.1.10. It provoked the interest of a large number of developers, who got an opportunity to have a look at the code and improve it. I have also decided to participate in the code improvement, and wrote an article reviewing the bugs that were found by PVS-Studio analyzer. Read more
  • A fresh eye on Oracle VM VirtualBox

    10.03.2016
    Virtual machines are important tools in the arsenal of a software developer. Being an active user of VirtualBox, and checking various open source projects with the help of it, I was personally interested in checking its source code. We did the first check of this project in 2014, and the description of 50 errors barely fit into two articles. With the release of Windows 10 and VirtualBox 5.0.XX the stability of the program got significantly worse, in my humble opinion. So, I decided to check the project again. Read more
  • PVS-Studio delved into the FreeBSD kernel

    17.02.2016
    About a year ago we checked the Linux core. It was one of the most discussed articles at that time. We also got quite a number of requests to check FreeBSD, so finally we decided to take the time to do it. Read more
  • "Why is there no artificial intelligence yet?" Or, analysis of CNTK tool kit from Microsoft Research

    02.02.2016
    Microsoft have given open access to the source code of a tool kit that is used in the company to speed up the development of artificial intelligence: Computational Network Toolkit is now available at Github. The developers had to create their own custom solution, because the existing tools did not work fast enough. Let's have a look at the analysis results of the source code of this project, as done by our static code analyzer. Read more
  • ChakraCore: analysis of JavaScript-engine for Microsoft Edge

    22.01.2016
    On the JSConf US conference in December 2015 the developers announced that they were planning to make open the source code of Chakra key components, a JavaScript-engine, operating in Microsoft Edge. Recently the ChackraCore source code became available under the MIT license in the corresponding repository on GitHub. In this article you will find interesting code fragments that were detected with the help of PVS-Studio code analyzer. Read more
  • A Tribute to Opening Up Dolphin Smalltalk 7's Source Code

    12.01.2016
    A few days ago, the ObjectArts company made their source code and the Dolphin Smalltalk IDE open, making it available under the MIT license! Of course, I couldn't miss the chance to try our PVS-Studio code analyzer on the project. Right off, my congratulations go to the developers: they really managed to create high-quality code which has no critical bugs. However, some bugs and smelling code are always to be found in any project, and I hope this article will help make the code a bit better. Read more
  • Christmas Analysis of .NET Core Libraries (CoreFX)

    28.12.2015
    About a year ago Microsoft made the CoreCLR and CoreFX source code open. The latter project wasn't of a big interest to us until recently, as it was written in C#, not in C++. But with the release of a new version of PVS-Studio 6.00 that now supports C# I decided to go back to the CoreFX and write an article about its analysis. Read more
  • Analysis of Microsoft Code Contracts

    14.12.2015
    We have successfully created and continue developing PVS-Studio analyzer for C/C++ languages. Over the time, it became clear that many of the diagnostics that we have implemented are not related to a specific programming language, so we decided to apply our experience to another programming language, namely C#. In this article, we are talking about the analysis of Code Contracts project by Microsoft done by our C# analyzer. Read more