Search
Write a publication
Pull to refresh
119
0
Святослав @SvyatoslavMC

Product Manager

Send message

Статический анализ кода коллекции библиотек PMDK от Intel и ошибки, которые не ошибки

Reading time14 min
Views2.2K
PVS-Studio, PMDK

Нам предложили проверить с помощью анализатора PVS-Studio коллекцию открытых библиотек PMDK, предназначенную для разработки и отладки приложений с поддержкой энергонезависимой памяти. Собственно, почему бы и нет. Тем более это небольшой проект на языке C и C++ с общим размером кодовой базы около 170 KLOC, если не считать комментарии. А значит, обзор результатов анализа не займёт много сил и времени. Let's go.
Читать дальше →

Unicorns break into RTS: analyzing the OpenRA source code

Reading time16 min
Views634
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 →

Единороги врываются в RTS: анализируем исходный код OpenRA

Reading time17 min
Views3.2K
image1.png

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

Под капотом PVS-Studio для Java: разработка диагностик

Reading time8 min
Views2.1K

Для разнообразия сегодня немного расскажем про процесс разработки и доработки диагностических правил для PVS-Studio Java. Посмотрим, почему старые срабатывания анализатора не слишком сильно плавают от релиза к релизу, а новые – не слишком сумасшедшие. А ещё немного заспойлерим "чего там у джавистов в планах" и покажем парочку красивых (и не очень) ошибок, найденных с помощью диагностик из следующего релиза.
Читать дальше →

Как анализатор PVS-Studio стал находить ещё больше ошибок в проектах на Unity

Reading time7 min
Views2.4K
image1.png

Разрабатывая статический анализатор PVS-Studio, мы стараемся развивать его в различных направлениях. Так, наша команда работает над плагинами для IDE (Visual Studio, Rider), улучшением интеграции с CI и т. д. Увеличение эффективности анализа проектов под Unity также является одной из наших приоритетных целей. Мы считаем, что статический анализ позволит программистам, использующим этот игровой движок, повысить качество своего исходного кода и упростить работу над любыми проектами. Поэтому хотелось бы увеличить популярность PVS-Studio среди компаний, занимающихся разработкой под Unity. Одним из первых шагов в реализации данной задумки стало написание нами аннотаций для методов, определённых в движке. Это позволяет контролировать корректность кода, связанного с вызовами аннотируемых методов.
Читать дальше →

Что делать, если на гос.портале с вас собирают персональные данные и хотят согласие на рассылку рекламных сообщений?

Reading time2 min
Views22K
Навеяло обсуждениями к посту Как «активный гражданин» приучает людей к фишингу.
Потом, когда пришло не только жене, но и мне — полез смотреть откуда… и неожиданно узнал что рекламу теперь может слать и mos.ru
Совсем потеряли совесть…
Давно уже реализуемая практика. Стоит зарегистрироваться на портале. или оформить обращение… Не важно на mos.ru, или прокуратуру с полицией, вам тут же начнутся звонки и сомнительные смс.)
Не хочется об этих всех службах думать плохо. Но повторные обращения и снова звонки и смс. Так что борьба с мошенничеством стоит под контролем. Мошенники сами себя не ловят.)
Точно. Сходил пару раз в МФЦ и просто шквал звонков с разной рекламой. Причем сплошняком роботы текст зачитывают.

Для тех, кого интересует судебная практика по вопросу сбора персональных данных пользователей на различных порталах государственных организаций, а так же при предоставлении всевозможных государственных услуг, прошу под кат:
Читать дальше →

Как внедрить статический анализатор кода в legacy проект и не демотивировать команду

Reading time9 min
Views4.9K

PVS-Studio охраняет сон программиста

Попробовать статический анализатор кода легко. А вот, чтобы внедрить его, особенно в разработку большого старого проекта, потребуется умение. При неправильном подходе анализатор может добавить работы, замедлить разработку и демотивировать команду. Давайте кратко поговорим, как правильно подойти к интеграции статического анализа в процесс разработки и начать его использовать как часть CI/CD.
Читать дальше →

Как найти ошибки в C# проекте, работая под Linux и macOS

Reading time20 min
Views2.8K

Picture 8

PVS-Studio – известный статический анализатор кода, позволяющий найти множество каверзных ошибок, скрытых в исходниках. Недавно завершился бета-тест новой версии, в которой появилась возможность анализа C# проектов под Linux и macOS. Кроме того, теперь анализатор можно интегрировать с кроссплатформенной IDE от JetBrains – Rider. Данная статья позволит познакомиться с этими возможностями на примере проверки open source проекта RavenDB.
Читать дальше →

Анализатор PVS-Studio: выявления потенциальных проблем совместимости Java SE API

Reading time9 min
Views1.4K

Рисунок 9

2019 был очень насыщенным годом в плане конференций. Наша команда могла уезжать на целые недели в командировки. А как известно, конференция – время делиться знаниями. Помимо того, что мы выступали с докладами и много интересного рассказывали на нашем стенде, мы также узнавали много нового от общения с участниками конференции и от докладчиков. Так вот на осенней конференции Joker 2019 доклад от Dalia Abo Sheasha «Migrating beyond Java 8» вдохновил нас на реализацию нового диагностического правила, которое позволяет выявлять несовместимости в Java SE API между разными версиями Java. Об этом и пойдет речь.
Читать дальше →

Как мы решаем проблему неинициализированной стековой памяти в Windows

Reading time19 min
Views21K
В этой заметке я расскажу в общих чертах о том, как в Microsoft устраняют уязвимости, связанные с неинициализированной стековой памятью, и почему мы вообще этим занимаемся.
Читать дальше →

Как забраться на дерево

Reading time20 min
Views3.2K

Picture 2

Точнее, как с него спуститься. Но обо всем по порядку. Эта статья немного выбьется из привычного формата статей от PVS-Studio. Мы часто пишем о проверке других проектов, но почти никогда не приоткрываем дверь нашей внутренней кухни. Пришло время это исправить и рассказать о том, как анализатор устроен изнутри. Точнее, о наиболее важной из его частей – синтаксическом дереве. Речь в статье пойдет о той части PVS-Studio, которая относится к языкам C и C++.
Читать дальше →

PVS Studio.VS.Статический анализ GCC 10. Независимый минитест

Reading time3 min
Views5.2K
После появления переводной статьи про Статический анализ в GCC 10, и ожидаемой реакции присутствующих здесь представителей разработчика коммерческого статического анализатора PVS-Studio, у меня возник вопрос: «Почему же представители отказываются проверить свой продукт на таких простых примерах для статического анализа, и не скрывают ли они чего?»
Andrey2008 Ды, неинтересно мне это. Поймал/не поймал синтетическую ошибку, это ничего не говорит о возможностях анализатора
Должны же они как то прогонять юнит-тесты своего продукта и как, если не на таких синтетических простых примерах?!

Собственно, пришлось сделать это самому.
Читать дальше →

Проверка компилятора GCC 10 с помощью PVS-Studio

Reading time9 min
Views8.9K

PVS-Studio vs GCC 10

Компилятор GCC написан с обильным использованием макросов. Очередная проверка кода GCC с помощью PVS-Studio вновь подтверждает мнение нашей команды, что макросы – это плохо. В таком коде тяжело разбираться не только статическому анализатору, но и программисту. Конечно, разработчики GCC уже привыкли к проекту и хорошо разбираются в нём. Но со стороны очень сложно что-то понять. Собственно, из-за макросов и не удалось полноценно выполнить проверку кода. Тем не менее, анализатор PVS-Studio, как всегда, показал, что может находить ошибки даже в компиляторах.
Читать дальше →

DeepCode: взгляд со стороны

Reading time7 min
Views7.4K
Picture 1

Не так давно DeepCode, статический анализатор, основанный на машинном обучении, стал поддерживать проверку C и C++ проектов. И теперь мы можем на практике взглянуть, чем отличаются результаты классического статического анализа и статического анализа, основанного на машинном обучении.
Читать дальше →

Как странный код скрывает ошибки? Анализ TensorFlow.NET

Reading time16 min
Views3.9K

TensorFlow.NET и PVS-Studio

Статический анализ – крайне полезный инструмент для любого разработчика, так как помогает вовремя отыскать не только ошибки, но и просто подозрительные и странные фрагменты кода, которые могут вызвать недоумение у программистов, которым пришлось бы работать с ним в будущем. Эту мысль продемонстрирует анализ открытого C# проекта TensorFlow.NET, разрабатываемый для работы с популярной библиотекой машинного обучения TensorFlow.
Читать дальше →

Начало коллекционирования ошибок в функциях копирования

Reading time4 min
Views5.7K

memcpy

Уже несколько раз замечал, что программисты допускают ошибки в простых функциях копирования данных. Эта тема потребует в будущем ещё много времени для изучения и подбора материала, чтобы написать основательную статью. Но захотелось поделиться парой примеров, недавно замеченных мною.
Читать дальше →

Глубина кроличьей норы или собеседование по C++ в компании PVS-Studio

Reading time4 min
Views23K

Собеседование по C++ в компании PVS-Studio

Авторы: Андрей Карпов, khandeliants Филипп Хандельянц.

Хочется поделиться интересной ситуацией, когда вопрос, используемый нами на собеседовании, оказался сложнее, чем задумывал его автор. С языком C++ и компиляторами надо всегда быть начеку. Не заскучаешь.
Читать дальше →

Checking the Code of Zephyr Operating System

Reading time13 min
Views2K

PVS-Studio and Zephyr

Some time ago we announced PVS-Studio's new feature that enabled it to integrate into PlatformIO. Naturally, our team kept in touch with the PlatformIO team while working on that feature, and they suggested that we check the real-time operating system Zephyr to see if we could find any interesting bugs in its code. We thought it was a good idea, and so here's this article about the check results.
Read more →

Исследуем качество кода операционной системы Zephyr

Reading time14 min
Views4K

PVS-Studio и Zephyr

Недавно мы рассказывали, что анализатор кода PVS-Studio начал интегрироваться с PlatformIO. Естественно, при этом команда разработчиков PVS-Studio общалась с командой PlatformIO и те предложили ради интереса проверить код операционной системы реального времени Zephyr. Почему бы и нет, подумали мы, и вот перед вами статья о таком исследовании.
Читать дальше →

OpenToonz: снаружи и внутри

Reading time10 min
Views5K
image1.png

Прошло уже почти четыре года с тех пор, как PVS-Studio поверял исходный код OpenToonz. Этот проект является очень мощным инструментом для создания двухмерной анимации. За время с последней проверки с его помощью были созданы такие мультипликационные произведения, как Мэри и Ведьмин цветок, Бэтмэн-Нинзя, Промаре и другие. Раз большие студии продолжают пользоваться Toonz, то почему бы не проверить качество исходного кода еще раз?
Читать дальше →

Information

Rating
Does not participate
Works in
Date of birth
Registered
Activity