Pull to refresh
284.84
PVS-Studio
Static Code Analysis for C, C++, C# and Java
Show first

How does strange code hide errors? TensorFlow.NET Analysis

Reading time15 min
Views879

PVS-Studio and TensorFlow.NET

Static analysis is an extremely useful tool for any developer, as it helps to find in time not only errors, but also suspicious and strange code fragments that may cause bewilderment of programmers who will have to work with it in the future. This idea will be demonstrated by the analysis of the TensorFlow.NET open C# project, developed for working with the popular TensorFlow machine learning library.
Read more →
Total votes 3: ↑2 and ↓1+1
Comments0

Starting My Collection of Bugs Found in Copy Functions

Reading time4 min
Views791

memcpy

I've already noticed a few times before that programmers seem to tend to make mistakes in simple copy functions. Writing a profound article on this topic is going to take quite a while since I'll have to do some thorough research and sample collecting, but for now I'd like to share a couple of examples I stumbled upon recently.
Read more →
Rating0
Comments0

How Deep the Rabbit Hole Goes, or C++ Job Interviews at PVS-Studio

Reading time4 min
Views1.7K

Job Interviews at PVS-Studio

Authors: Andrey Karpov, khandeliants Phillip Khandeliants.
Here's an interesting story about how one of the questions we ask at job interviews turned out to reach even deeper than intended by its author. You've always got to watch your step with C++ and C++ compilers – there's never a risk of getting bored.
Read more →
Rating0
Comments0

Checking the Code of Zephyr Operating System

Reading time13 min
Views2K

PVS-Studio and Zephyr

Some time ago we announced PVS-Studio's new feature that enabled it to integrate into PlatformIO. Naturally, our team kept in touch with the PlatformIO team while working on that feature, and they suggested that we check the real-time operating system Zephyr to see if we could find any interesting bugs in its code. We thought it was a good idea, and so here's this article about the check results.
Read more →
Total votes 2: ↑1 and ↓1+2
Comments0

OpenToonz: inside and out

Reading time10 min
Views661
Picture 1

Almost four years have passed since the PVS-Studio team checked the OpenToonz source code. This project is a very powerful tool for creating two-dimensional animation. Since the last check, with its help, such animated works as Mary and the Witch Flower, Batman-Ninja, Promare and others were created. As large studios continue using Toonz, why not check the quality of the source code again?
Read more →
Total votes 3: ↑3 and ↓0+3
Comments0

Is static code analysis possible without false positives?

Reading time3 min
Views981

Today at one of the forums, when discussing the PVS-Studio static analyzer, the following question was asked:

Tell me, do you have the mode that guarantees the absence of false positives? Let there be fewer tests in this mode, but no false positives at all. The fact is that when I was looking for the analyzer for projects and was going to make the analysis part of CI/CD, all the tested commercial analyzers were rejected right because of having such warnings. In addition, the C++ team was weak and I couldn't spend my time digging into each warning. By the way, at that point the budget could go very far, the price was no object at all.

This question can be answered both yes and no. Let's try to figure it out.
Read more →
Total votes 3: ↑3 and ↓0+3
Comments4

Zero, one, two, Freddy's coming for you

Reading time23 min
Views1.4K

Рисунок 1

This post continues the series of articles, which can well be called «horrors for developers». This time it will also touch upon a typical pattern of typos related to the usage of numbers 0, 1, 2. The language you're writing in doesn't really matter: it can be C, C++, C#, or Java. If you're using constants 0, 1, 2 or variables' names contain these numbers, most likely, Freddie will come to visit you at night. Go on, read and don't say we didn't warn you.
Read more →
Total votes 2: ↑2 and ↓0+2
Comments0

PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps

Reading time9 min
Views609

Рисунок 1

We continue making the use of PVS-Studio more convenient. Our analyzer is now available in Chocolatey, the package manager for Windows. We believe this will make it easier to deploy PVS-Studio, particularly in cloud services. So right off the bat, we also checked the source code of the same Chocolatey. Azure DevOps took on the role of the CI system.
Read more →
Total votes 1: ↑1 and ↓0+1
Comments0

VVVVVV??? VVVVVV!!! :)

Reading time10 min
Views2.3K
If you're reading this text, you've either thought that something was wrong with the headline or you've seen the name of a familiar computer game. VVVVVV is an indie platformer game that has stolen the hearts of many players by its pleasant external simplicity and no less pleasant internal complexity. A few days ago, VVVVVV turned 10 years, and the author of the game — Terry Cavanagh — celebrated this holiday by publishing its source code. What mind-boggling things is it hiding? Read the answer in this article.

Рисунок 1
Read more →
Total votes 3: ↑3 and ↓0+3
Comments0

Machine Learning in Static Analysis of Program Source Code

Reading time27 min
Views2.9K

Machine Learning in Static Analysis of Program Source Code

Machine learning has firmly entrenched in a variety of human fields, from speech recognition to medical diagnosing. The popularity of this approach is so great that people try to use it wherever they can. Some attempts to replace classical approaches with neural networks turn up unsuccessful. This time we'll consider machine learning in terms of creating effective static code analyzers for finding bugs and potential vulnerabilities.
Read more →
Total votes 2: ↑2 and ↓0+2
Comments0

What Is MISRA and how to Cook It

Reading time11 min
Views1.1K

Рисунок 2

Perhaps every microcontroller software developer has heard about special coding standards to help improve the code security and portability. One of such standards is MISRA. In this article, we'll take a closer look at what this standard is, its concept and how to use it in your projects.
Read more →
Total votes 3: ↑1 and ↓20
Comments0

Our Small Contribution to Avalonia UI's Fight for Fewer Platforms

Reading time11 min
Views956

Рисунок 2

This article is a review of the bugs found in the Avalonia UI project with the static analyzer PVS-Studio. Avalonia UI is an open-source cross-platform XAML-based UI framework. This is one of the most technologically significant projects in the history of .NET as it enables developers to create cross-platform interfaces based on the WPF system. We hope the project's authors will find this article helpful in fixing some of the bugs, and convincing enough to make static analysis part of their development process.
Read more →
Total votes 7: ↑7 and ↓0+7
Comments0

Top 10 Bugs Found in C++ Projects in 2019

Reading time8 min
Views2K

Picture 7

Another year is drawing to an end, and it's a perfect time to make yourself a cup of coffee and reread the reviews of bugs collected across open-source projects over this year. This would take quite a while, of course, so we prepared this article to make it easier for you. Today we'll be recalling the most interesting dark spots that we came across in open-source C/C++ projects in 2019.
Read more →
Total votes 1: ↑1 and ↓0+1
Comments2

Top 10 Bugs Found in Java Projects in 2019

Reading time8 min
Views1.3K


2019 is drawing to an end, and the PVS-Studio team is looking back at the accomplishments of this year. In the beginning of 2019, we enhanced our analyzer's diagnostic capabilities by adding Java support, which enabled us to check and review Java projects as well. We have found lots of bugs over this year, and here's our Top 10 bugs found in Java projects.
Read more →
Total votes 2: ↑1 and ↓10
Comments0

Information

Website
pvs-studio.com
Registered
Founded
2008
Employees
31–50 employees