Enums in C#: Hidden Pitfalls https://pvs-studio.com/en/blog/posts/csharp/0844/
PVS-Studio
Enums in C#: hidden pitfalls
C# has low barriers to entry and forgives a lot. Seriously, you may not understand how things work under the hood but still write code and remain easy-going about this. Though you still have to deal...
A Beautiful Error in the Implementation of the String Concatenation Function https://pvs-studio.com/en/blog/posts/cpp/0845/
Pvs-Studio
A Beautiful Error in the Implementation of the String Concatenat…
We, the PVS-Studio static code analyzer developers, have a peculiar view on beauty. On the beauty of bugs. We like to find grace in errors, examine them, try to guess how they appeared. Tod…
Checking BitTorrent in honor of the 20th anniversary. Time == quality https://pvs-studio.com/en/blog/posts/cpp/0846/
Pvs-Studio
Checking BitTorrent in honor of the 20th anniversary. Time == qu…
Couple of weeks ago (or to be more precise, on July 2, 2021), the legendary BitTorrent protocol turned twenty years old. Created by Bram Cohen, the protocol has been developing rapidly sinc…
Integrating PVS-Studio into uVision Keil https://pvs-studio.com/en/blog/posts/cpp/0847/
PVS-Studio
Integrating PVS-Studio into uVision Keil
I develop software for embedded systems (mostly for STM32 and Milandr). As the main IDE, I use uVision Keil. As long as I write in C and C++, I've been wondering whether I write code the ri…
Static analysis protects your code from time bombs https://pvs-studio.com/en/blog/posts/cpp/0848/
Pvs-Studio
Static analysis protects your code from time bombs
Static code analysis allows you to identify and eliminate many defects at an early stage. Moreover, it's possible to detect dormant errors that don't show themselves when they appear. They …
PVS-Studio for JetBrains CLion: ad astra per aspera https://pvs-studio.com/en/blog/posts/cpp/0849/
Pvs-Studio
PVS-Studio for JetBrains CLion: ad astra per aspera
The PVS-Studio analyzer already has plugins for such IDEs from JetBrains as Rider, IntelliJ IDEA and Android Studio. Somehow we missed another IDE - CLion. The time has come to make amends!…
VSCode: how to view reports of static analyzers that support SARIF https://pvs-studio.com/en/blog/posts/csharp/0850/
Pvs-Studio
VSCode: how to view reports of static analyzers that support SAR…
People increasingly start optimizing the process of finding code errors using static analyzers. Nowadays, we can choose from a variety of products to view analysis results. This post covers…
Intermodular analysis of C++ projects in PVS-Studio https://pvs-studio.com/en/blog/posts/cpp/0851/
Pvs-Studio
Intermodular analysis of C++ projects in PVS-Studio
Recently PVS-Studio has implemented a major feature—we supported intermodular analysis of C++ projects. This article covers our and other tools' implementations. You'll also find out how to…
Optimization of .NET applications: a big result of small edits https://pvs-studio.com/en/blog/posts/csharp/0852/
Pvs-Studio
Optimization of .NET applications: a big result of small edits
Today we're going to discuss how small optimizations in the right places of the application can improve its performance. Imagine: we remove the creation of an extra iterator in one place, g…
PVS-Studio team's kanban board. Part 2: YouTrack https://pvs-studio.com/en/blog/posts/0853/
PVS-Studio
PVS-Studio team′s kanban board. Part 2: YouTrack
Hello everyone! Welcome to the second part of the PVS-Studio Team′s Kanban Board story. This time we′ll talk about YouTrack. You′ll learn why we chose and implemented this task tracker and what...
Is PHP compilable?! PVS-Studio searches for errors in PeachPie https://pvs-studio.com/en/blog/posts/csharp/0855/
PVS-Studio
Is PHP compilable?! PVS-Studio searches for errors in PeachPie
PHP is widely known as an interpreted programming language used mainly for website development. However, few people know that PHP also has a compiler to .NET – PeachPie. But how well is it …
Tutorial: how to port a project from Interop Word API to Open XML SDK https://pvs-studio.com/en/blog/posts/csharp/0856/
PVS-Studio
Tutorial: how to port a project from Interop Word API to Open XML SDK
With the .NET5 release further development of some projects was questionable due to the complexity of porting. One can abandon small outdated libraries or find a replacement. But it′s hard to throw...
XSS: attack, defense - and C# programming https://pvs-studio.com/en/blog/posts/csharp/0857/
PVS-Studio
XSS: attack, defense - and C# programming
XSS - or cross-site scripting - is one of the most common vulnerabilities in web applications. It has been on the OWASP Top 10 list (the list of the most critical security risks to web applications...
Rob and Matt are joined by Justin Meiners. They first talk about a big boost library update, and whether Valgrind is still useful compared to sanitizers. Then they talk to Justin Meiners about Alex Stepanov, his contribution to the STL and some of his courses that are still relevant to today’s C++ programmers. https://cppcast.com/efficient-programming-components/
Linux kernel turns 30: congratulations from PVS-Studio https://pvs-studio.com/en/blog/posts/cpp/0858/
Pvs-Studio
Linux kernel turns 30: congratulations from PVS-Studio
On August 25th, 2021, the Linux kernel celebrated its 30th anniversary. Since then, it's changed a lot. We changed too. Nowadays, the Linux kernel is a huge project used by millions. We che…
Text broadcast of CppCast 285: Clang Power Tools and C++ myths https://pvs-studio.com/en/blog/posts/cpp/0859/
Pvs-Studio
Text broadcast of CppCast 285: Clang Power Tools and C++ myths
Episode 285 CppCast was recorded on February 3rd, 2020. Hosts Rob Irving and Jason Turner are joined by Victor Ciura. They first talk about different ways to filter a C++ container and a bl…
What's new in C# 9: overview https://pvs-studio.com/en/blog/posts/csharp/0860/
PVS-Studio
What′s new in C# 9: overview
Although C# 9 came out over half a year ago, the community is still processing its immense list of changes and has yet to discover best practices for the new features. It′s a great excuse to go over...