Pull to refresh
191.6
Rating

Open source *

Open source software

Show first
Rating limit
Level of difficulty

ONLYOFFICE Community Server: how bugs contribute to the emergence of security problems

Reading time 12 min
Views 828
PVS-Studio corporate blog Information Security *Open source *.NET *C# *
image1.png

Server-side network applications rarely get the chance to join the ranks of our reviews of errors found in open source software. This is probably due to their popularity. After all, we try to pay attention to the projects that readers themselves offer us. At the same time, servers often perform very important functions, but their performance and benefits remain invisible to most users. So, by chance, the code of ONLYOFFICE Community Server was checked. It turned out to be a very fun review.
Read more →
Total votes 4: ↑3 and ↓1 +2
Comments 2

Talking About Errors in the QuantConnect Lean Code

Reading time 17 min
Views 337
PVS-Studio corporate blog Open source *.NET *C# *
image1.png

This article discusses errors found using a static analyzer in an open source project. There are some simple things that can help you avoid them. For example, the usage of language syntactic constructs starting from C# 8.0. We hope it will be exciting. Have fun reading!
Read more →
Total votes 2: ↑1 and ↓1 0
Comments 0

cGit-UI — a web interface for Git Repositories

Reading time 7 min
Views 2.2K
Open source *Git *Version control systems *
Tutorial

cGit-UI — is a web interface for Git repositories. cGit-UI is based on CGI script written in С.


This article covers installing and configuring cGit-UI to work using Nginx + uWsgi. Setting up server components is quite simple and practically does not differ from setting up cGit.


cGit-UI supports Markdown files that are processed on the server side using the md4c library, which has proven itself in the KDE Plasma project. cGit-UI provides the ability to add site verification codes and scripts from systems such as Google Analytics and Yandex.Metrika for trafic analysis. Users who wonder to receive donations for his projects can create and import custom donation modal dialogs.


Instead of looking at screenshots, it is better to look at the working site to decide on installing cGit-UI on your own server.

Read more →
Rating 0
Comments 2

Analyzing the Code Quality of Microsoft's Open XML SDK

Reading time 10 min
Views 808
PVS-Studio corporate blog Open source *.NET *C# *Development for Office 365 *
image1.png

My first encounter with Open XML SDK took place when I was looking for a library that I could use to create some accounting documents in Word. After more than 7 years of working with Word API, I wanted to try something new and easier-to-use. That's how I learned that Microsoft offered an alternative solution. As tradition has it, before our team adopts any program or library, we check them with the PVS-Studio analyzer.
Read more →
Total votes 5: ↑2 and ↓3 -1
Comments 1

Modern Web-UI for SVN repositories

Reading time 8 min
Views 1.9K
Open source *Version control systems *
Tutorial

cSvn — is a web interface for Subversion repositories. cSvn is based on CGI script written in С.


This article covers installing and configuring cSvn to work using Nginx + uWsgi. Setting up server components is quite simple and practically does not differ from setting up cGit.


cSvn supports Markdown files that are processed on the server side using the md4c library, which has proven itself in the KDE Plasma project. cSvn provides the ability to add site verification codes and scripts from systems such as Google Analytics and Yandex.Metrika for trafic analysis. Users who wonder to receive donations for his projects can create and import custom donation modal dialogs.


Instead of looking at screenshots, it is better to look at the working site to decide on installing cSvn on your own server.


It should be noted that you can browse not only your own repositories, but also configure viewing of third-party resources via HTTPS and SVN protocols.

Read more →
Rating 0
Comments 0

Checking Clang 11 with PVS-Studio

Reading time 10 min
Views 551
PVS-Studio corporate blog Information Security *Open source *C++ *Compilers *
PVS-Studio: I'm still worthy

Every now and then, we have to write articles about how we've checked another fresh version of some compiler. That's not really much fun. However, as practice shows, if we stop doing that for a while, folks start doubting whether PVS-Studio is worth its title of a good catcher of bugs and vulnerabilities. What if the new compiler can do that too? Sure, compilers evolve, but so does PVS-Studio – and it proves, again and again, its ability to catch bugs even in high-quality projects such as compilers.
Read more →
Total votes 3: ↑2 and ↓1 +1
Comments 0

Checking a Header-Only C++ Library Collection (awesome-hpp)

Reading time 17 min
Views 926
PVS-Studio corporate blog Open source *C++ *
PVS-Studio and Awesome hpp

Somehow, we've happened to check most of the libraries making up a collection called "Awesome hpp". These are small header-only projects in C++. Hopefully, the information about the bugs we've found will help make the libraries better. We'll also be happy to see the developers use PVS-Studio on a regular basis thanks to the free-license option we provide.
Read more →
Rating 0
Comments 0

Amnesia: The Dark Descent or How to Forget to Fix Copy Paste

Reading time 14 min
Views 672
PVS-Studio corporate blog Open source *C++ *Game development *
image1.png

Just before the release of the "Amnesia: Rebirth" game, the vendor "Fractional Games" opened the source code of the legendary "Amnesia: The Dark Descent" and its sequel "Amnesia: A Machine For Pigs". Why not use the static analysis tool to see what dreadful mistakes are hidden in the inside of these cult horror games?
Read more →
Rating 0
Comments 0

JavaCC 21 Parser Generator

Reading time 4 min
Views 1.8K
Open source *Java *
Sandbox

JavaCC 21 is a continuation of work on the venerable JavaCC parser generator, originally developed at Sun Microsystems in the 1990’s and released under a liberal open source license in 2003. It is currently the most advanced version of JavaCC. It has many feature enhancements (with more to come soon) and also generates much more modern, readable Java code. Also, certain key bugs have finally been fixed. (N.B. The “21” in JavaCC 21 is not a version number. It is simply part of the project name and means that this is a JavaCC for the 21st century!)

Read more →
Total votes 8: ↑8 and ↓0 +8
Comments 0

Why it is important to apply static analysis for open libraries that you add to your project

Reading time 7 min
Views 655
PVS-Studio corporate blog Open source *Programming *Perfect code *C++ *
PVS-Studio and Awesome header-only C++ libraries

Modern applications are built from third-party libraries like a wall from bricks. Their usage is the only option to complete the project in a reasonable time, spending a sensible budget, so it's a usual practice. However, taking all the bricks indiscriminately may not be such a good idea. If there are several options, it is useful to take time to analyze open libraries in order to choose the best one.
Read more →
Total votes 1: ↑0 and ↓1 -1
Comments 1

Crime, Race and Lethal Force in the USA — Part 3

Reading time 24 min
Views 1.5K
Open source *Python *Data Mining *Big Data *
Translation
image
This is the concluding part of my article devoted to a statistical analysis of police shootings and criminality among the white and the black population of the United States. In the first part, we talked about the research background, goals, assumptions, and source data; in the second part, we investigated the national use-of-force and crime data and tracked their connection with race.
Read more →
Total votes 3: ↑3 and ↓0 +3
Comments 0

Crime, Race and Lethal Force in the USA — Part 1

Reading time 8 min
Views 2.3K
Open source *Python *Data Mining *
Translation
image

Do the police in the US really shoot black people more often than white people? Is use of lethal force connected with race? How is crime related to race? What are the odds of getting shot by the police if you are white and if you are black? We're taking public data and python with pandas to shed some light on these questions, propaganda and politics set far aside.
Read more →
Total votes 7: ↑5 and ↓2 +3
Comments 1

Checking QEMU using PVS-Studio

Reading time 14 min
Views 549
PVS-Studio corporate blog Open source *Programming *C++ *C *
image1.png

QEMU is a rather well-known application for emulation. Static analysis can help developers of complex projects such as QEMU catch errors at early stages and generally improve quality and reliability of a project. In this article, we will check the source code of the QEMU application for potential vulnerabilities and errors using the PVS-Studio static analysis tool.
Read more →
Total votes 3: ↑3 and ↓0 +3
Comments 0

Checking the Code of XMage, and Why You Won't Be Able to Get the Special Rare Cards of the Dragon's Maze Collection

Reading time 13 min
Views 448
PVS-Studio corporate blog Open source *Java *Game development *
image1.png

XMage is a client-server application for playing Magic: The Gathering (MTG). XMage's development was started in early 2010. Since then, it has seen 182 releases, attracted an army of contributors, and it's still being actively developed even now. All that makes it a good reason for us to contribute to its development too! So, today the PVS-Studio unicorn is going to check the code base of XMage and maybe even get into a fight with some entities.
Read more →
Rating 0
Comments 0

Static code analysis of the PMDK library collection by Intel and errors that are not actual errors

Reading time 14 min
Views 673
PVS-Studio corporate blog Information Security *Open source *C++ *C *
PVS-Studio, PMDK

We were asked to check a collection of open source PMDK libraries for developing and debugging applications with NVRAM support by PVS-Studio. Well, why not? Moreover, this is a small project in C and C++ with a total code base size of about 170 KLOC without comments. Which means, the results review won't take much energy and time. Let's go.
Read more →
Total votes 2: ↑2 and ↓0 +2
Comments 1

Unicorns break into RTS: analyzing the OpenRA source code

Reading time 16 min
Views 472
PVS-Studio corporate blog Open source *C# *Games and game consoles
image1.png

This article is about the check of the OpenRA project using the static PVS-Studio analyzer. What is OpenRA? It is an open source game engine designed to create real-time strategies. The article describes the analysis process, project features, and warnings that PVS-Studio has issued. And, of course, here we will discuss some features of the analyzer that made the project checking process more comfortable.
Read more →
Rating 0
Comments 0

The Code of the Command & Conquer Game: Bugs from the 90's. Volume two

Reading time 13 min
Views 3.3K
PVS-Studio corporate blog Open source *C++ *Game development *C *
image1.png

The American company Electronic Arts Inc (EA) has opened the source code of the games Command & Conquer: Tiberian Dawn and Command & Conquer: Red Alert publicly available. Several dozen errors were detected in the source code using the PVS-Studio analyzer, so, please, welcome the continuation of found defects review.
Read more →
Total votes 4: ↑4 and ↓0 +4
Comments 1

The Code of the Command & Conquer Game: Bugs From the 90's. Volume one

Reading time 13 min
Views 1.9K
PVS-Studio corporate blog Open source *C++ *Game development *C *
image1.png

The American company Electronic Arts Inc (EA) has made the source code of the games Command & Conquer: Tibetan Dawn and Command & Conquer: Red Alert publicly available. This code should help the game community to develop mods and maps, create custom units, and customize the gameplay logic. We all now have a unique opportunity to plunge into the history of development, which is very different from the modern one. Back then, there was no StackOverflow site, convenient code editors, or powerful compilers. Moreover, at that time, there were no static analyzers, and the first thing the community will face is hundreds of errors in the code. This is what the PVS-Studio team will help you with by pointing out the erroneous places.
Read more →
Total votes 2: ↑2 and ↓0 +2
Comments 1

Authors' contribution