Обновить
269.42
PVS-Studio
Статический анализ кода для C, C++, C# и Java
Сначала показывать

Межмодульный анализ C и C++ проектов в деталях. Часть 2

Время на прочтение14 мин
Охват и читатели3K

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

Читать далее

Статический анализатор кода vs разработчики. Шо, опять?

Время на прочтение3 мин
Охват и читатели3.2K

В середине мая этого года мы опубликовали обновлённую версию нашего квиза для C++ разработчиков. Спустя 2 месяца мы решили рассказать о результатах.


0964_rezultaty_quiza_cpp_ru/image1-3f082de585be7198d831d7e418a82578.png

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

Межмодульный анализ C и C++ проектов в деталях. Часть 1

Время на прочтение12 мин
Охват и читатели4.6K

Начиная с PVS-Studio 7.14, для C и C++ анализатора появилась поддержка межмодульного анализа. В этой статье, которая будет состоять из двух частей, мы расскажем, как устроены похожие механизмы в компиляторах и раскроем некоторые технические подробности реализации в нашем статическом анализаторе.

Читать далее

PVS-Studio для проверки лабораторных работ на C и C++

Время на прочтение3 мин
Охват и читатели2.7K

C++ error: "pointer being freed was not allocated


Встретил очередной вопрос на Stack Overflow от человека, изучающего язык C++. Количество подобных вопросов можно сократить, используя PVS-Studio. Человек сразу может получить ответ, не отвлекая других.

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

Проверка проекта Orleans статическим анализатором PVS-Studio

Время на прочтение11 мин
Охват и читатели2.1K

Orleans – кроссплатформенный фреймворк для создания масштабируемых облачных приложений. Это ПО разработано компанией Microsoft, проекты которой не раз проверялись анализатором PVS-Studio. Посмотрим, сколько подозрительных мест удастся найти в этот раз.

Читать далее

Игра: найди ошибку в C++ коде

Время на прочтение2 мин
Охват и читатели10K

Игра PVS-Studio: найди ошибку в C++ коде
Авторы анализатора PVS-Studio предлагают вам проверить свою внимательность и развлечься. Попробуйте быстро отыскать баг в фрагменте исходного кода и ткнуть в него мышкой.

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

Тем, кто учится программировать и решил написать вопрос на Stack Overflow: «Почему код не работает?»

Время на прочтение3 мин
Охват и читатели6.6K

PVS-Studio Online


На сайте Stack Overflow много вопросов от людей, ещё только изучающих языки программирования. Лайфхак: ответы на многие эти вопросы можно получить сразу, запустив анализатор кода. Получится быстрее.


Эту заметку меня побудила написать дискуссия "Segmentation fault when converting char * to char **" на сайте Stack Overflow. Человек, изучающий программирование, интересуется, что не так с его кодом.

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

PVS-Studio 7.19: что новенького?

Время на прочтение4 мин
Охват и читатели1.3K

0958_Release_7_19_ru/image1-d83377c0bb97c038f744bf28d7ca8a35.png


Недавно вышла новая версия PVS-Studio – 7.19. В этой заметке расскажем, что нового появилось в анализаторе, какие разделы документации мы улучшили; кроме того — что почитать, посмотреть и… во что поиграть.

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

В мире антропоморфных животных: PVS-Studio проверил Overgrowth

Время на прочтение9 мин
Охват и читатели2.6K

Недавно в сети появилась новость о том, что был открыт исходный код игры Overgrowth. Мы не смогли пройти мимо и проверили его качество с помощью PVS-Studio. Давайте же вместе посмотрим, где больше интересного экшена: в игре или в её исходном коде!

Читать далее

Проверяем эмулятор GPCS4, или сможем ли когда-нибудь поиграть в «Bloodborne» на PC

Время на прочтение15 мин
Охват и читатели11K

Эмулятор – это приложение, способное имитировать запуск программы, предназначенной для одной платформы, на другой. Примером эмулятора является GPCS4, предназначенный для запуска игр для PS4 на PC. Недавно состоялся первый релиз GPCS4, и мы решили проверить этот проект. Давайте посмотрим, какие ошибки удалось найти PVS-Studio в исходном коде этого эмулятора.

Читать далее

Новый механизм мониторинга компиляции в PVS-Studio для Windows

Время на прочтение12 мин
Охват и читатели2K

В релизе PVS-Studio 7.18 утилита мониторинга компиляции для Windows получила новый механизм, который позволяет полностью устранить пропуски запусков компиляторов. В этой статье мы напомним, как наш анализатор справляется с разнообразными системами сборки и расскажем о реализации нового режима Wrap Compilers.


0954_CLMonitor_IFEO_ru/image1.png

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

Обрабатывать ли в PVS-Studio вывод других инструментов?

Время на прочтение5 мин
Охват и читатели1.2K

Обрабатывать ли в PVS-Studio вывод других инструментов?
Анализатор PVS-Studio умеет "схлопывать" повторяющиеся предупреждения. Предоставляет возможность задать baseline, что позволяет легко внедрять статический анализ в legacy-проекты. Стоит ли предоставить эти возможности для сторонних отчётов?

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

Насколько хорошо защищены ваши пароли? Проверка проекта Bitwarden

Время на прочтение11 мин
Охват и читатели13K

Bitwarden – менеджер паролей с открытым исходным кодом. Это программное обеспечение помогает генерировать уникальные пароли и управлять ими. Получится ли у анализатора PVS-Studio отыскать ошибки в таком проекте?

Читать далее

Зачем разработчикам игр на Unity использовать статический анализ?

Время на прочтение8 мин
Охват и читатели2.9K

С годами стоимость создания игр стала больше, вырос их масштаб, а следовательно, и их кодовая база. Разработчикам становится всё сложнее уследить за ошибками. А забагованная игра влечёт финансовые и репутационные убытки. Как же с этим может помочь статический анализ?

Читать далее

Комментарии в коде как вид искусства

Время на прочтение10 мин
Охват и читатели10K

Приветствую всех программистов, а также сочувствующих. Кто из нас хотя бы раз в жизни не оставлял комментарии в коде? Был ли это ваш код, а может, чужой? Что за комментарии вы написали: полезные или не очень? А может, они были забавные, чтобы порадовать коллег или тимлида на следующем ревью? Давайте попробуем немного порассуждать и дать ответы на эти вопросы в формате небольшой заметки. Постараемся понять, что движет людьми, комментирующими свою программу. Упор сделаем на нестандартные, весёлые комментарии. У нас припасено для вас несколько отличных примеров. Поехали.


0943_Code_comments_ru/image1.png

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

Эволюция PVS-Studio: анализ потока данных для связанных переменных

Время на прочтение20 мин
Охват и читатели1.9K

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

Читать далее

Нереальный baselining или доработки PVS-Studio для Unreal Engine проектов

Время на прочтение9 мин
Охват и читатели1.4K

Статический анализатор PVS-Studio постоянно развивается: улучшаются различные механизмы, происходит интеграция с игровыми движками, IDE, CI/CD и другими системами и сервисами. Благодаря этому несколько лет назад появилась возможность использования PVS-Studio для анализа Unreal Engine проектов. Однако один из важных механизмов PVS-Studio – подавление сообщений анализатора (baselining, отключение выдачи предупреждений на существующий код) — не работал с UE-проектами. Почему он не был реализован сразу, и как в итоге была решена эта задача – читайте далее.

Читать далее

Зачем нужен статический анализ? Разбираем на примере ошибки из Akka.NET

Время на прочтение2 мин
Охват и читатели4.3K

0940_AkkaNET_Error_ru/image1.png


"Статический анализ нужно использовать регулярно, а не только перед релизами… Чем раньше найдена ошибка, тем дешевле её исправление..." – вы уже слышали это 100 раз. Сегодня ещё раз ответим на вопрос "зачем?". Поможет нам ошибка из проекта Akka.NET.

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

Место SAST в Secure SDLC: 3 причины внедрения в DevSecOps-пайплайн

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

0937_SAST_In_SSDLC_ru/image1.png


Репутационные и денежные риски, связанные с уязвимостями, огромны. На фоне этого понятен повышенный интерес к безопасности и стремление выстроить цикл безопасной разработки (SSDLC). Сегодня мы поговорим об одном из подходов, используемых в SSDLC, – SAST.

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

Как PVS-Studio защищает от поспешных правок кода, пример N5

Время на прочтение3 мин
Охват и читатели2.1K
Blender commit

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

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

Информация

Сайт
pvs-studio.ru
Дата регистрации
Дата основания
2008
Численность
51–100 человек
Местоположение
Россия
Представитель
Андрей Карпов