Все потоки
Поиск
Написать публикацию
Обновить
611
7
Андрей Карпов @Andrey2008

Директор по развитию бизнеса

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

Зачем PVS-Studio использует анализ потока данных: по мотивам интересной ошибки в Open Asset Import Library

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

PVS-Studio - Анализ потока данных
Анализ потока данных является неотъемлемой частью любого современного статического анализатора кода. Однако, со стороны, не очень понятно, что это и главное – зачем нужно. До сих пор некоторые ассоциируют статический анализ с поиском чего-то в коде по определённому шаблону. Поэтому время от времени мы пишем заметки, в которых демонстрируем, как та или иная технология, используемая в анализаторе PVS-Studio, помогает выявить очередную интересную ошибку. Сегодня как раз такая статья, в которой мы рассмотрим баг в одной из реализаций стандарта кодирования двоичных данных Base64.

Читать дальше →

Why PVS-Studio Uses Data Flow Analysis: Based on Gripping Error in Open Asset Import Library

Время на прочтение5 мин
Количество просмотров710

Why PVS-Studio Uses Data Flow Analysis
An essential part of any modern static code analyzer is data flow analysis. However, from an outside perspective, the use of data flow analysis and its benefit is unclear. Some people still consider static analysis a tool searching for something in code according to a certain pattern. Thus, we occasionally write blog posts to show how this or that technology, used in the PVS-Studio analyzer, helps to identify another interesting error. Today, we have such an article about the bug found in the Base64, one of the encoding standard implementations of binary data.

Read more →

Обработка дат притягивает ошибки или 77 дефектов в Qt 6

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

PVS-Studio проверяет Qt 6


Относительно недавно состоялся релиз фреймворка Qt 6, и это стало поводом вновь проверить его с помощью PVS-Studio. В статье будут рассмотрены различные интересные ошибки, например, связанные с обработкой дат. Обнаружение всех этих ошибок хорошо демонстрирует пользу, которую может получить проект от использования таких инструментов, как PVS-Studio, особенно если они применяются регулярно.

Читать дальше →

Date Processing Attracts Bugs or 77 Defects in Qt 6

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

PVS-Studio & Qt 6


The recent Qt 6 release compelled us to recheck the framework with PVS-Studio. In this article, we reviewed various interesting errors we found, for example, those related to processing dates. The errors we discovered prove that developers can greatly benefit from regularly checking their projects with tools like PVS-Studio.

Read more →

Дорожная карта PVS-Studio на 2021 год

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

PVS-Studio Дорожная карта


В начале года наша команда года провела несколько встреч и выработала внутреннюю карту развития компании и продукта PVS-Studio на 2021 год. Мы решили оформить часть наших планов в виде этой статьи. Неопубликованная часть планов секретна? Нет, но вряд ли нашим читателям будут интересны подробности по планам обучения отдельных сотрудников или когда и какой сервер мы планируем приобрести. Здесь мы опишем основные планы развития самого программного продукта PVS-Studio и его позиционирования.

Читать дальше →

Исследование COVID-19 и неинициализированная переменная

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

0796_covid_sim_ru/image1.png


Существует открытый проект COVID-19 CovidSim Model, написанный на языке C++. Существует статический анализатор кода PVS-Studio, который умеет хорошо находить ошибки. Однажды они встретились. Познайте хрупкость алгоритмов математического моделирования и почему нужно прикладывать максимум усилий к качеству программного кода.

Читать дальше →

COVID-19 Research and Uninitialized Variable

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

0796_covid_sim/image1.png
There is an open project COVID-19 CovidSim Model, written in C++. There is also a PVS-Studio static code analyzer that detects errors very well. One day they met. Embrace the fragility of mathematical modeling algorithms and why you need to make every effort to enhance the code quality.

Read more →

Выявляем опечатки в проекте GTK 4 с помощью PVS-Studio

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

0793_GTK_4_continue_ru/image1.png


Возможно, вы уже читали недавнюю статью о процессе первого запуска PVS-Studio на примере проекта GTK 4 и о первичной фильтрации предупреждений. Теперь пришло время поработать с полученным отчётом более подробно. И как уже догадались наши постоянные читатели, предлагаю вашему вниманию статью с описанием найденных в коде ошибок.

Читать дальше →

Finding Typos in the GTK 4 Project by PVS-Studio

Время на прочтение16 мин
Количество просмотров716

0793_GTK_4_continue/image1.png


You may have already read a recent article about the first PVS-Studio run and filtration of warnings. We used the GTK 4 project as an example. It's about time we worked with the received report in more detail. Our regular readers may have already guessed that this article will be a description of errors found in the code.

Read more →

Espressif IoT Development Framework: 71 выстрел в ногу

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

0790_Espressif_IoT_Development_Framework_ru/image1.png
Один из наших читателей обратил наше внимание на Espressif IoT Development Framework. Он нашёл ошибку в коде проекта и поинтересовался, смог бы её найти статический анализатор PVS-Studio. Именно эту ошибку анализатор пока найти не может, зато нашёл множество других. По мотивам этой истории и найденных ошибок, мы решили написать классическую статью про проверку открытого проекта. Приятного изучения того, из-за чего IoT устройства могут "выстрелить вам в ногу".

Читать дальше →

Espressif IoT Development Framework: 71 Shots in the Foot

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

0790_Espressif_IoT_Development_Framework/image1.png
One of our readers recommended paying heed to the Espressif IoT Development Framework. He found an error in the project code and asked if the PVS-Studio static analyzer could find it. The analyzer can't detect this specific error so far, but it managed to spot many others. Based on this story and the errors found, we decided to write a classic article about checking an open source project. Enjoy exploring what IoT devices can do to shoot you in the foot.

Read more →

Анализатор кода не прав, да здравствует анализатор

Время на прочтение6 мин
Количество просмотров6K
Foo(std::move(buffer), line_buffer - buffer.get());

Совмещать много действий в одном выражении языка C++ плохо, так как такой код тяжело понимать, тяжело поддерживать, так в нём еще и легко допустить ошибку. Например, создать баг, совмещая различные действия при вычислении аргументов функции. Мы согласны с классической рекомендацией, что код должен быть прост и понятен. И сейчас рассмотрим интересный случай, когда формально анализатор PVS-Studio не прав, но с практической точки зрения код всё равно стоит изменить.
Читать дальше →

The Code Analyzer is wrong. Long live the Analyzer

Время на прочтение6 мин
Количество просмотров724
Foo(std::move(buffer), line_buffer - buffer.get());

Combining many actions in a single C++ expression is a bad practice, as such code is hard to understand, maintain, and it is easy to make mistakes in it. For example, one can instill a bug by reconciling different actions when evaluating function arguments. We agree with the classic recommendation that code should be simple and clear. Now let's look at an interesting case where the PVS-Studio analyzer is technically wrong, but from a practical point of view, the code should still be changed.
Read more →

Почему PVS-Studio не предлагает автоматические правки кода

Время на прочтение4 мин
Количество просмотров3.1K
Почему PVS-Studio не предлагает автоматические правки кода

Статический анализатор PVS-Studio обнаруживает достаточно сложные и хитрые фрагменты кода, содержащие ошибки. И как их исправить, не всегда понятно даже человеку, и сейчас мы рассмотрим пару примеров. Поэтому лучше вообще не генерировать никаких предположений по автоматическому исправлению кода.
Читать дальше →

Why PVS-Studio Doesn't Offer Automatic Fixes

Время на прочтение4 мин
Количество просмотров775
Why PVS-Studio Doesn't Offer Automatic Fixes

Static analyzer PVS-Studio can detect bugs in pretty complex and intricate parts of code, and coming up with appropriate fixes for such bugs may be a tough task even for human developers. That's exactly the reason why we should avoid offering any options for automatic fixing at all. Here are a couple of examples.
Read more →

Проверка Clang 11 с помощью PVS-Studio

Время на прочтение11 мин
Количество просмотров4.4K
PVS-Studio: Всё ещё достоин!

Время от времени нам приходится писать статьи о проверке очередной версии какого-то компилятора. Это неинтересно. Однако, как показывает практика, если этого долго не делать, люди начинают сомневаться, достоин ли анализатор PVS-Studio звания хорошего ловца багов и потенциальных уязвимостей. Возможно, новый компилятор уже умеет это делать? Да, компиляторы не стоят на месте. Однако развивается и PVS-Studio, вновь и вновь демонстрируя возможности находить ошибки даже в коде таких высококачественных проектов, как компиляторы.
Читать дальше →

Checking Clang 11 with PVS-Studio

Время на прочтение10 мин
Количество просмотров847
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 →

Проверка коллекции header-only C++ библиотек (awesome-hpp)

Время на прочтение17 мин
Количество просмотров5.1K
PVS-Studio и Awesome hpp

Волею судьбы мы проверили большинство библиотек, входящих в коллекцию под названием "Awesome hpp". Это небольшие проекты на языке C++, состоящие только из заголовочных файлов. Надеемся, найденные ошибки помогут сделать эти библиотеки немного лучше. Также мы будем рады, если их авторы начнут бесплатно использовать анализатор PVS-Studio на регулярной основе.
Читать дальше →

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

Время на прочтение17 мин
Количество просмотров1.2K
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 →

Продолжение: обидно за мнения про статические анализаторы кода

Время на прочтение4 мин
Количество просмотров7.2K
image1.png

Планировалось, что, написав статью "Обидно за мнения про статические анализаторы кода", мы выговоримся и спокойно отпустим тему. Но неожиданно эта статья вызвала бурный отклик. К сожалению, обсуждение пошло не туда, и сейчас мы сделаем вторую попытку объяснить своё видение ситуации.
Читать дальше →

Информация

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

Специализация

Специалист
C++
C
Разработка программного обеспечения