Pull to refresh
229.29
Rating
PVS-Studio
Static Code Analysis for C, C++, C# and Java
Show first
  • New
  • Top

How WCF Shoots Itself in the Foot With TraceSource

PVS-Studio corporate blog .NET *C# *Development for Windows *

We don't often get the chance to write something on parallel programming issues. This time we "got lucky". The TraceEvent standard method has some implementation peculiarities. They resulted in an error with multiple threads blocking. So we'd like to warn users about this nuance and cover this interesting case from our users support practice. Why was our support involved? Keep reading to find out. Enjoy the reading!

Read more
Total votes 5: ↑5 and ↓0 +5
Views 487
Comments 0

.NET Application Optimization: Simple Edits Speeded Up PVS-Studio and Reduced Memory Consumption by 70%

PVS-Studio corporate blog .NET *C# *

We know many ways to detect performance problems, such as extremely low speed and high memory consumption. Usually tests, developers, or testers detect such applications' drawbacks. In the worst case, users find weaknesses and report back. Alas, detecting defects is only the first step. Next, we should localize the problem. Otherwise, we won't solve it. Here comes a question - how to find weak points that lead to excessive memory consumption and slow down in a large project? Are there such at all? Maybe it's not about the application? So now you're reading a story how PVS-Studio C# developers encountered a similar problem and managed to solve it.

Read more
Rating 0
Views 550
Comments 0

PVS-Studio's New Website: How We Designed It

PVS-Studio corporate blog Website development *IT Infrastructure *

The PVS-Studio website turns 15 this year. This is quite significant for any internet resource. Back then, when our website was born, Russia announced 2006 as a year of humanities. That same year, in June, Denis Kryuchkov established a new platform, "Habrhabr" (now known as Habr). In November, Microsoft officially completed OS Windows Vista. That same month we registered the viva64.com domain.

We celebrated our domain's 10th anniversary with the website's redesign. After that, we would only change the resource capacity and features, but we'd never touch the design in any way. During this time, the number of articles grew so much that we needed to add tags to facilitate navigation. Right now we are also working on our YouTube channel. This means, you will see more and more new videos on our website as well. We keep adding new web pages at a tremendous rate, while the website's usability stays the same.

Time has come for big changes!

Читать далее
Rating 0
Views 583
Comments 2

OWASP, Vulnerabilities, and Taint Analysis in PVS-Studio for C#. Stir, but Don't Shake

PVS-Studio corporate blog Information Security *.NET *C# *

0831_TaintAnalysis_Cs/image1.png


We continue to develop PVS-Studio as a SAST solution. Thus, one of our major goals is expanding OWASP coverage. You might ask, what's the use when there's no taint analysis? That's exactly what we thought — and decided to implement taint analysis in the C# analyzer. Curious about what we accomplished? Read on!

Read more →
Total votes 2: ↑1 and ↓1 0
Views 348
Comments 0

PVS-Studio Team: Switching to Clang Improved PVS-Studio C++ Analyzer's Performance

PVS-Studio corporate blog C++ *Build automation *

From the earliest days, we used MSVC to compile the PVS-Studio C++ analyzer for Windows - then, in 2006, known as Viva64, version 1.00. With new releases, the analyzer's C++ core learned to work on Linux and macOS, and we modified the project's structure to support CMake. However, we kept using the MSVC compiler to build the analyzer's version for Windows. Then, in 2019, on April 29th, Visual Studio developers announced they had included the LLVM utilities and Clang compiler in the IDE. And just recently we've gotten around to try it.

Read more
Total votes 5: ↑3 and ↓2 +1
Views 496
Comments 0

PVS-Studio New Features for Notifying Developers About Errors Found

PVS-Studio corporate blog DevOps *

PVS-Studio user support often receives clients' suggestions on product improvement. We are happy to implement many of them. Recently one of the users suggested refining the automatic notification utility for developers (Blame Notifier). They asked us to make Blame Notifier extract the date/the code revision to which the analyzer issued a message using blame information from the version control system. This feature allowed us to expand the utility capabilities, which we'll discuss in this article.

Читать далее
Total votes 4: ↑3 and ↓1 +2
Views 225
Comments 0

IncrediBuild: How to Speed up Your Project's Build and Analysis

PVS-Studio corporate blog C++ *Unreal Engine *DevOps *

"How much longer are you going to build it?" - a phrase that every developer has uttered at least once in the middle of the night. Yes, a build can be long and there is no escaping it. One does not simply redistribute the whole thing among 100+ cores, instead of some pathetic 8-12 ones. Or is it possible?

Читать далее
Rating 0
Views 422
Comments 0

Roslyn API: Why PVS-Studio Was Analyzing the Project So Long

PVS-Studio corporate blog API *Development Management *

How many of you have used third-party libraries when writing code? It's a catchy question. Without third-party libraries the development of some products would be delayed for a very, very long time. One would have to reinvent the wheel to solve each problem. When you use third-party libraries you still stumble upon some pitfalls in addition to obvious advantages. Recently PVS-Studio for C# has also faced one of the deficiencies. The analyzer could not finish analyzing a large project for a long time. It was due to the use of the SymbolFinder.FindReferencesAsync method from the Roslyn API in the V3083 diagnostic.

Read more
Total votes 2: ↑1 and ↓1 0
Views 284
Comments 0

Finally! PVS-Studio Supports .NET 5 Projects

PVS-Studio corporate blog

On November 10th, 2020, Microsoft released a new version of .NET Core - .NET 5. The updated platform presents many new enhancements. For example, it allows C# developers to use features the new C# 9 offers: records, relational pattern matching, etc. Unfortunately, there was a disadvantage: PVS-Studio could not analyze these projects. However (and here's the good news)... That used to be the case :) Our next release, PVS-Studio 7.13, will support projects that target .NET 5.

Read more
Total votes 4: ↑3 and ↓1 +2
Views 389
Comments 0

Pitfalls in String Pool, or Another Reason to Think Twice Before Interning Instances of String Class in C#

PVS-Studio corporate blog Programming *.NET *C# *

As software developers, we always want our software to work properly. We'll do everything to improve the software quality. To find the best solution, we are ready to use parallelizing or applying any various optimization techniques. One of these optimization techniques is the so-called string interning. It allows users to reduce memory usage. It also makes string comparison faster. However, everything is good in moderation. Interning at every turn is not worth it. Further, I'll show you how not to slip up with creating a hidden bottleneck in the form of the String.Intern method for your application.

Read more
Total votes 2: ↑1 and ↓1 0
Views 691
Comments 0

PVS-Studio Team's Kanban Board. Part 1: Agile

PVS-Studio corporate blog Agile *

This article could have been born about a year ago – that's when the PVS-Studio team decided to try agile. However, we wanted to experience it hands-on before we told the world about it. Aside from introducing agile, we decided to switch from Bitbucket to a new task tracker. We also wanted to upgrade many of our internal development processes. No time for an article!

Read more
Total votes 2: ↑1 and ↓1 0
Views 532
Comments 0

MacOS Kernel, How Good Is This Apple?

PVS-Studio corporate blog Open source *C++ *Development for MacOS *

0818_XNU_MacOS_Kernel/image1.png


At the very beginning of this year, Apple released the source code for macOS – Big Sur. It includes XNU, the kernel of the macOS operating system. A few years ago, PVS-Studio has already checked the kernel source code. It coincided with the analyzer release on macOS. It's been a while since then. The new kernel source code has been released. A second check? Why not?

Read more →
Total votes 1: ↑1 and ↓0 +1
Views 1.1K
Comments 0

Example of How New Diagnostics Appear in PVS-Studio

PVS-Studio corporate blog Information Security *Perfect code *C++ *C *

PVS-Studio new C++ rule


Users sometimes ask how new diagnostics appear in the PVS-Studio static analyzer. We answer that we draw inspiration from a variety of sources: books, coding standards, our own mistakes, our users' emails, and others. Recently we came up with an interesting idea of a new diagnostic. Today we decided to tell the story of how it happened.

Read more →
Rating 0
Views 259
Comments 0

PVS-Studio 7.12 New Features for Finding Safety and Security Threats

PVS-Studio corporate blog Information Security *

Security. What does this word mean to you? Nowadays, companies spare no effort to ensure that their product is secured from hacking and all sorts of information leaks. PVS-Studio decided to help its users and expand the functionality in this area. Therefore, one of the main innovations of the upcoming release will be the introduction of analyzer new features which will ensure code safety and security. This article aims to present these features.

Read More
Total votes 2: ↑1 and ↓1 0
Views 256
Comments 0

Short-lived Music or MuseScore Code Analysis

PVS-Studio corporate blog Open source *C++ *C *Sound

Having only programming background, it is impossible to develop software in some areas. Take the difficulties of medical software development as an example. The same is with music software, which will be discussed in this article. Here you need an advice of subject matter experts. However, it's more expensive for software development. That is why developers sometimes save on code quality. The example of the MuseScore project check, described in the article, will show the importance of code quality expertise. Hopefully, programming and musical humor will brighten up the technical text.

Читать далее
Total votes 2: ↑1 and ↓1 0
Views 501
Comments 0

What Is yield and How Does It Work in C#?

PVS-Studio corporate blog Programming *.NET *C# *Development for Windows *

C# capabilities keep expanding from year to year. New features enrich software development. However, their advantages may not always be so obvious. For example, the good old yield. To some developers, especially beginners, it's like magic - inexplicable, but intriguing. This article shows how yield works and what this peculiar word hides. Have fun reading!

Read more
Total votes 2: ↑1 and ↓1 0
Views 1.1K
Comments 0

Information

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