Как стать автором
Обновить
119
0
Святослав @SvyatoslavMC

Product Manager

Отправить сообщение

Проверка кода компилятора Ark Compiler, недавно открытого компанией Huawei

Время на прочтение6 мин
Количество просмотров11K
Picture 1

Во время презентаций летом 2019 года Huawei анонсировала технологию Ark Compiler. По заверениям представителей компании, этот проект с открытым исходным кодом позволяет существенно повысить плавность и отзывчивость Android и сторонних приложений. Новый интересный открытый проект по традиции должен пройти проверку качества кода с помощью PVS-Studio.

Введение


Впервые компилятор Huawei Ark был представлен вместе с запуском смартфонов Huawei P30 и P30 Pro. По заявлению Huawei, компилятор Ark повышает плавность работы Android на 24%, а скорость отклика – на 44%. При этом сторонние приложения для Android, после перекомпиляции с помощью Ark, могут работать на 60% быстрее. Открытый проект имеет название OpenArkCompiler. Его исходный код доступен на китайском аналоге сайта GitHub – Gitee.
Читать дальше →
Всего голосов 46: ↑41 и ↓5+36
Комментарии4

Checking the Ark Compiler Recently Made Open-Source by Huawei

Время на прочтение6 мин
Количество просмотров969
Picture 1

During the summer of 2019, Huawei gave a series of presentations announcing the Ark Compiler technology. The company claims that this open-source project will help developers make the Android system and third-party software much more fluent and responsive. By tradition, every new promising open-source project goes through PVS-Studio for us to evaluate the quality of its code.

Introduction


The Ark Compiler was first announced by Huawei at the launch of the new smartphone models P30 and P30 Pro. It is claimed that the Ark Compiler will improve the fluency of the Android system by 24% and response speed by 44%. Third-party Android applications will also gain a 60% speed-up after recompilation with the Ark Compiler. The open-source version of the project is called OpenArkCompiler; its source code is available on Gitee, a Chinese fork of GitHub.
Read more →
Всего голосов 24: ↑24 и ↓0+24
Комментарии0

Анализ кода ROOT — фреймворка для анализа данных научных исследований

Время на прочтение14 мин
Количество просмотров4.9K
Picture 3
Пока в Стокгольме проходила 118-я Нобелевская неделя, в офисе разработки статического анализатора кода PVS-Studio готовился обзор кода проекта ROOT, используемого в научных исследованиях для обработки больших данных. Премию за такой код, конечно, не дашь, а вот подробный обзор интересных дефектов кода и лицензию для полной проверки проекта разработчики получат.

Введение


Picture 1

ROOT — набор утилит для работы с данными научных исследований. Он обеспечивает все функциональные возможности, необходимые для обработки больших данных, статистического анализа, визуализации и хранения. В основном написан на языке C++. Разработка началась в CERN (Европейская организация по ядерным исследованиям) для исследований по физике высоких энергий. Каждый день тысячи физиков используют ROOT-приложения для анализа своих данных или для моделирования.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии7

Analyzing the Code of ROOT, Scientific Data Analysis Framework

Время на прочтение14 мин
Количество просмотров2.4K
Picture 3
While Stockholm was holding the 118th Nobel Week, I was sitting in our office, where we develop the PVS-Studio static analyzer, working on an analysis review of the ROOT project, a big-data processing framework used in scientific research. This code wouldn't win a prize, of course, but the authors can definitely count on a detailed review of the most interesting defects plus a free license to thoroughly check the project on their own.

Introduction


Picture 1

ROOT is a modular scientific software toolkit. It provides all the functionalities needed to deal with big data processing, statistical analysis, visualisation and storage. It is mainly written in C++. ROOT was born at CERN, at the heart of the research on high-energy physics. Every day, thousands of physicists use ROOT applications to analyze their data or to perform simulations.
Read more →
Всего голосов 22: ↑22 и ↓0+22
Комментарии4

Celestia: приключения багов в космосе

Время на прочтение6 мин
Количество просмотров6K
Picture 1

Celestia — трехмерный космический симулятор. Симуляция космоса позволяет исследовать нашу вселенную в трех измерениях. Celestia доступна на Windows, Linux и macOS. Проект очень маленький и в нём, с помощью PVS-Studio, обнаруживается совсем небольшое количество дефектов. Однако нам очень хочется уделить ему внимание, так как это популярный образовательный проект, который полезно улучшить. Кстати, программа используется в популярных фильмах, сериалах и передачах для представления космоса. Что тоже повышает требования к качеству кода.
Читать дальше →
Всего голосов 43: ↑38 и ↓5+33
Комментарии11

Celestia: Bugs' Adventures in Space

Время на прочтение6 мин
Количество просмотров983
Picture 1

Celestia is a three-dimensional space simulator. Simulation of the space allows exploring our universe in three dimensions. Celestia is available on Windows, Linux and macOS. The project is very small and PVS-Studio detected few defects in it. Despite this fact, we'd like to pay attention to it, as it's a popular educational project and it will be rather useful to somehow improve it. By the way, this program is used in popular films, series and programs for showing space. This fact, in turns, raises requirements to the code quality.
Read more →
Всего голосов 27: ↑25 и ↓2+23
Комментарии0

Из-за тёмной темы Thunderbird пришлось запускать анализатор кода

Время на прочтение12 мин
Количество просмотров13K
Picture 3
«Приключение» с почтовым клиентом Mozilla Thunderbird началось с автоматического обновления на версию 68.0. Заметными особенностями этой версии было вот что: больше текста добавляется во всплывающие уведомления и тёмная тема по умолчанию. Повстречалась ошибка, которую захотелось попробовать обнаружить с помощью статического анализа. Это стало поводом в очередной раз проверить исходный код проекта с помощью PVS-Studio. Так вышло, что к моменту анализа ошибка уже была исправлена. Но раз мы обратили внимание на этот проект, мы можем написать про другие найденные в нём дефекты.

Введение


Тёмная тема новой версии Thunderbird выглядит достаточно красиво. Я люблю тёмные темы. Уже перешёл на них в мессенджерах, Windows, macOS. Скоро iPhone обновится до iOS 13, где появилась тёмная тема. Ради этого даже пришлось сменить свой iPhone 5S на более новую модель. На практике оказалось, что тёмная тема требует больше усилий для разработчиков, чтобы подобрать цвета интерфейса. Не все с этим справляются с первого раза.
Читать дальше →
Всего голосов 46: ↑39 и ↓7+32
Комментарии8

Dark theme of Thunderbird as a reason to run a code analyzer

Время на прочтение12 мин
Количество просмотров2K
Picture 3
The adventures with the Mozilla Thunderbird mail client began with automatic update to version 68.0. More text in pop-up notifications and default dark theme are the notable features of this version. Occasionally I found an error that I immediately craved to detect with static analysis. This became the reason to go for another check of the project source code using PVS-Studio. It so happened that by the time of the analysis, the bug had already been fixed. However, since we've paid some attention to the project, there's no reason not to write about other found defects.

Introduction


The dark theme of the new Thunderbird version looks pretty. I like dark themes. I've already switched to them in messengers, Windows, macOS. Soon iPhone will be updated to iOS 13 with a dark theme. For this reason I even had to change my iPhone 5S for a newer model. In practice, it turned out that a dark theme requires more effort for developers to pick up the colors of the interface. Not everyone can handle it the first time.
Read more →
Всего голосов 28: ↑26 и ↓2+24
Комментарии0

Один день из поддержки пользователей PVS-Studio

Время на прочтение3 мин
Количество просмотров6.4K
Picture 1

Мы рады любым тематическим общениям на тему качества кода. Нам пишут клиенты, студенты и любые другие пользователи со всех уголков интернета. Независимо от страны, часового пояса или языка. Языка разговорного, конечно. Среди языков программирования нам всё же интересен ограниченный набор. Сейчас это C, C++, C# и Java. Выгоды от общений очень много. Некоторые предложения пользователей мы реализуем сразу, т.к. они действительно полезные. Часто мы просто выручаем чей-то проект, объясняя предупреждения анализатора, которые в итоге оказываются ошибкой. Эта заметка об одном таком случае.
Читать дальше →
Всего голосов 54: ↑45 и ↓9+36
Комментарии15

One Day from PVS-Studio User Support

Время на прочтение2 мин
Количество просмотров824
Picture 2

We welcome any chatting on code quality. Our clients, students, and other users from all corners of the Internet write to us. Regardless of the country, time zone or language. Well, speaking language, not programming. Among programming languages, we are so far interested in a limited set. Right now, it's C, C++, C# and Java. There are many benefits from communication. We implement some users' suggestions immediately, because they are really useful. Often we just lend a hand with someone's project by explaining analyzer warnings, which end up being errors. This note is about such case.
Read more →
Всего голосов 28: ↑25 и ↓3+22
Комментарии2

PVS-Studio 7.04

Время на прочтение9 мин
Количество просмотров4.5K
Picture 4

Лето — не только сезон отпусков, но и время плодотворной работы. Солнечные дни так сильно заряжают энергией, что хватает сил и на поздние прогулки, и объёмные коммиты кода. Второй летний релиз PVS-Studio 7.04 получился достаточно большой, поэтому предлагаем вашему вниманию пресс-релиз, в котором обо всём и расскажем.
Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии6

PVS-Studio 7.04

Время на прочтение8 мин
Количество просмотров882
Picture 4

Summer is not only a holiday season, but also time of fruitful work. Sunny days are so inspiring that there's enough energy both for late walks and large code commits. The second summer PVS-Studio 7.04 release turned out to be quite large, so we suggest for your attention this press release, in which we'll tell you about everything.
Read more →
Всего голосов 21: ↑19 и ↓2+17
Комментарии1

CMake: тот случай, когда проекту непростительно качество его кода

Время на прочтение12 мин
Количество просмотров19K

Picture 1

CMake — это кроссплатформенная система автоматизации сборки проектов. Эта система намного старше, чем статический анализатор кода PVS-Studio, при этом ещё никто не попробовал применить его к коду и сделать обзор ошибок. Ошибок, оказывается, много. Аудитория CMake огромна. На нём начинаются новые проекты и переносятся старые. Страшно представить, у скольких программистов могла проявиться та или иная ошибка.
Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии29

CMake: the Case when the Project's Quality is Unforgivable

Время на прочтение11 мин
Количество просмотров2K

Picture 1

CMake is a cross-platform system for automating project builds. This system is much older than the PVS-Studio static code analyzer, but no one has tried to apply the analyzer on its code and review the errors. As it turned out, there are a lot of them. The CMake audience is huge. New projects start on it and old ones are ported. I shudder to think of how many developers could have had any given error.
Read more →
Всего голосов 25: ↑23 и ↓2+21
Комментарии0

Библиотеки Electronic Arts почти хорошего качества

Время на прочтение4 мин
Количество просмотров17K
Наше внимание привлёк репозиторий Electronic Arts на GitHub. Он очень маленький и из двадцати трёх проектов нас заинтересовали только несколько C++ библиотек: EASTL, EAStdC, EABase, EAThread, EATest, EAMain и EAAssert. Проекты оказались тоже очень маленькими (около 10 файлов), поэтому мы нашли ошибки только в «самом большом» из 20 файлов :D Но нашли, и интересные! Пока писалась заметка, мы с коллегами также бурно обсудили игры компании EA и её стратегию :D

Picture 1

Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии5

Almost Perfect Libraries by Electronic Arts

Время на прочтение4 мин
Количество просмотров5.7K
Our attention was recently attracted by the Electronic Arts repository on GitHub. It's tiny, and of the twenty-three projects available there, only a few C++ libraries seemed interesting: EASTL, EAStdC, EABase, EAThread, EATest, EAMain, and EAAssert. The projects themselves are tiny too (about 10 files each), so bugs were found only in the «largest» project of 20 files :D But we did find them, and they do look interesting! As I was writing this post, we were also having a lively discussion of EA games and the company's policy :D

Picture 1

Read more →
Всего голосов 24: ↑22 и ↓2+20
Комментарии0

Лучшие Copy-Paste алгоритмы для C и C++. Сборник рецептов Haiku OS

Время на прочтение14 мин
Количество просмотров13K
Многочисленные опечатки и Copy-Paste код стали темой для дополнительной статьи о проверке кода Haiku анализатором PVS-Studio. Впрочем, будут ошибки, связанные не сколько с опечатками, а скорее с невнимательностью и неудачным рефакторингом. Найденные примеры ошибок демонстрируют, насколько силён человеческий фактор в разработке программного обеспечения.

Picture 1
Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии16

Best Copy-Paste Algorithms for C and C++. Haiku OS Cookbook

Время на прочтение14 мин
Количество просмотров1.1K
Numerous typos and Copy-Paste code became the main topic of the additional article about checking the Haiku code by the PVS-Studio analyzer. Yet this article mostly tells about errors related to thoughtlessness and failed refactoring, rather than to typos. The errors found demonstrate how strong the human factor is in software development.

Picture 1
Read more →
Всего голосов 16: ↑13 и ↓3+10
Комментарии0

Как выстрелить себе в ногу в C и C++. Сборник рецептов Haiku OS

Время на прочтение21 мин
Количество просмотров27K
История встречи статического анализатора PVS-Studio с кодом операционной системы Haiku уходит в далёкий 2015-й год. Это был интереснейший эксперимент и полезный опыт для команд обоих проектов. Почему эксперимент? Анализатора для Linux тогда не было и не будет ещё полтора года. Но труды энтузиастов нашей команды были вознаграждены: мы познакомились с разработчиками Haiku и повысили качество кода, пополнили базу редкими ошибками программистов и доработали анализатор. Сейчас проверить код Haiku на наличие ошибок можно легко и быстро.

Picture 3

Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии45

How to shoot yourself in the foot in C and C++. Haiku OS Cookbook

Время на прочтение20 мин
Количество просмотров2.9K
The story of how the PVS-Studio static analyzer and the Haiku OS code met goes back to the year 2015. It was an exciting experiment and useful experience for teams of both projects. Why the experiment? At that moment, we didn't have the analyzer for Linux and we wouldn't have it for another year and a half. Anyway, efforts of enthusiasts from our team have been rewarded: we got acquainted with Haiku developers and increased the code quality, widened our error base with rare bugs made by developers and refined the analyzer. Now you can check the Haiku code for errors easily and quickly.
Picture 1

Read more →
Всего голосов 18: ↑17 и ↓1+16
Комментарии1

Информация

В рейтинге
Не участвует
Работает в
Дата рождения
Зарегистрирован
Активность