Pull to refresh

All streams

Show first
  • New
  • Top
Rating limit
  • All
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Even small projects have bugs, or how PVS-Studio checked Blend2D

C *C++ *

We often check large projects because it's easier to find bugs there. What if we try PVS-Studio on a small project? In this article we analyze Blend2D — a library for vector 2D graphics. Let's look at what we found.


0894_Blend2d/image1.png


Introduction


It's no secret that large projects have fascinating errors. It's not just "the larger the codebase is – the more errors we can find". It's also a known fact that the density of errors grows along with the codebase. That's why we love checking large projects — to treat you with a variety of "yummy" and tricky errors and typos. Besides, it's always interesting to search through a huge project with lots of dependencies, legacy code, and other stuff.


Today I'm moving away from this tradition. I decided to take a small project and see what PVS-Studio can find there. I chose Blend2D — branch master, commit c484790.

Read more →
Rating 0
Views 11
Comments 0

The Dino game from Google Chrome using FPGA

Delirium coding FPGA *Circuit design *Games and game consoles

Many people are familiar with the situation when there is no Internet, and a small dinosaur appears on the Google Chrome screen. Today we will tell you how to implement this game on the Cyclone IV FPGA board.

We are Yegor Blinov, Egor Kuziakov, and Inga Ezhova - the first-year students of Innopolis University. In our program, there was a course "Computer Architecture", where we had labs with FPGA boards Cyclone IV and MAX10. We were inspired by this equipment and decided to implement the project on one of the boards.

Read more
Total votes 4: ↑4 and ↓0 +4
Views 152
Comments 0

Concordance of sense

Search engines *Semantics *Algorithms *Natural Language Processing *
Translation

In [1,2,3] texts (sign sequences with repetitions) were transformed (coordinated) into algebraic systems using matrix units as word images. Coordinatization is a necessary condition of algebraization of any subject area. Function (arrow) (7) in [1]) is a matrix coordinatization of text. One can perform algebraic operations with words and fragments of matrix texts as with integers, but taking into account the noncommutativity of multiplication of words as matrices. Structurization of texts is reduced to the calculation of ideals and categories of texts in matrix form.

Read more
Total votes 1: ↑1 and ↓0 +1
Views 103
Comments 0

CML AT Medical Developed a 3D Printed Knee Joint Endoprosthesis

Top 3D Shop corporate blog 3D printers

In the past, FDM 3D printing solutions have been primarily used for surgical planning. The added benefit is one can perform surgical planning digitally in preparation for surgical procedures, create mock up operations physically with the usage of trustworthy full-scale printed parts and test implants prior to inserting them into the body.

Read more
Total votes 3: ↑3 and ↓0 +3
Views 68
Comments 0

Virtual function calls in constructors and destructors (C++)

PVS-Studio corporate blog Programming *C++ *

Virtual function calls in constructors (C++)
In different programming languages, the behavior of virtual functions differs when it comes to constructors and destructors. Incorrect use of virtual functions is a classic mistake. Developers often use virtual functions incorrectly. In this article, we discuss this classic mistake.

Read more →
Total votes 2: ↑2 and ↓0 +2
Views 381
Comments 0

Raise3D Announced an FDM 3D Printer That Works with Carbon-Filled Polymers

Top 3D Shop corporate blog 3D printers

Raise3D is preparing to receive pre-orders for E2CF — a version of its desktop additive system E2 that is able to print using carbon-fiber-reinforced polymers. The device is optimized for working with carbon-filled filaments. 

Previously, Raise3D was primarily known for its large-format series such as the Raise3D Pro2 Plus (build volume: 305 x 305 x 605 mm), but the manufacturer is certainly planning to expand in the industrial segment with their focus on engineering-grade materials.

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

Thanks, Mario, but the code needs fixing — checking TheXTech

PVS-Studio corporate blog Open source *C++ *Game development *

It's cool when enthusiastic developers create a working clone of a famous game. It's even cooler when people are ready to continue the development of such projects! In this article, we check TheXTech with PVS-Studio. TheXTech is an open implementation of the game from the Super Mario universe.


0889_TheXTech/image1.png

Read more →
Total votes 3: ↑3 and ↓0 +3
Views 351
Comments 0

How to create bilingual books. Part 2. Lingtrain Alignment Studio

Open source *Programming *Learning languages Natural Language Processing *
Tutorial

title


How to make a parallel book for language learning. Part 1. Python and Colab version


This is a second article on making parallel books. Today we will use the more advanced tool which will bring rich UI functionality. Lingtrain Alignment Studio is a web application written on Vue and Python. The main purpose of it is to extract the parallel corpora from two raw texts and make a bilingual (or even multilingual) parallel book. This is an open-source project and I will be glad to hear all of your bright ideas. Links to the sources and our community contacts can be found below. Los geht's!


Setup


The app is packed into the docker container. It's a simple technology to deploy your stuff anywhere from the server to your local machine. It's available across all the operating systems. So at first, you need a docker installed locally. Then you need to run two simple commands. The first will download the container:


docker pull lingtrain/aligner:v4

And the second one will run the application:


docker run -v C:\app\data:/app/data -v C:\app\img:/app/static/img -p 80:80 lingtrain/aligner:v4

C:\app\data and C:\app\img — your local folders.


The app will be available on the 80th port. Let's open the localhost page in your favorite browser.


Lingtrain app 1


We will make three simple steps: Load, Align, Create

Continue reading
Total votes 7: ↑7 and ↓0 +7
Views 323
Comments 0

How the Carla car simulator helped us level up the static analysis of Unreal Engine 4 projects

PVS-Studio corporate blog Programming *C++ *Game development *Unreal Engine *

One of the mechanisms of static analysis is method annotations of popular libraries. Annotations provide more information about functions during errors detecting. CARLA is an impressive open-source project in C++ that helped us implement this mechanism to our analyzer. Subsequently, the simulator became a test-target for the improved PVS-Studio static analyzer.


0888_Carla/image2.png

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