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

Повторная проверка Newton Game Dynamics статическим анализатором PVS-Studio

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

Рисунок 1

Недавно на просторах интернета мной был обнаружен физический движок Newton Game Dynamics. Зная, что в таких проектах обычно большой объём сложного кода, я подумал, что будет интересно проверить его статическим анализатором PVS-Studio. Мой энтузиазм ещё больше подстегнуло то, что мой коллега Андрей Карпов уже проверял данный проект в 2014 году, а значит, это ещё и хорошая возможность продемонстрировать развитие нашего анализатора за последние шесть лет. Также стоит отметить, что на момент написания статьи последний релиз Newton Game Dynamics датирован 27 февраля 2020 года, то есть данный проект тоже активно развивается последние 6 лет. Таким образом, надеюсь, что помимо нашей команды, данная статья будет интересна и разработчикам движка, которые смогут избавиться от некоторых багов и исправить свой код.
Читать дальше →

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

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

PVS-Studio vs GCC 10

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

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

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

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

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

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

TensorFlow.NET и PVS-Studio

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

Поиск багов как образ жизни: обзор №3

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

На фоне введения режима самоизоляции возросла популярность некоторых программ и сервисов. А следовательно, большее количество людей столкнётся с багами, которые ранее «не замечали» разработчики. В этот обзор вошли сервисы, которые так популярны сейчас: доставка еды и продуктов Delivery Club, Яндекс.Еда, iGooods и Автосуши. И другой софт, которым мне понадобилось воспользоваться, находясь длительное время дома: Сбербанк, Puzzle Movies и Налоги ФЛ.
Читать дальше →

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

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

memcpy

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

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

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

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

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

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

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

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

PVS-Studio и Zephyr

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

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

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

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

Скроллбар, который не смог

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


Недавно вышла новая версия Windows Terminal. Всё бы ничего, но работоспособность её скроллбара оставляла желать лучшего. Поэтому настало время немного потыкать в него палкой и сыграть на бубне.
Читать дальше →

Beta-тест C# анализатора PVS-Studio на Linux и macOS

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

Picture 1

Всё больше пользователей C# анализатора PVS-Studio интересуются возможностью его использования для проверки C# кода на Linux и macOS. И сегодня у нас хорошие новости.
Читать дальше →

Интеграция PVS-Studio в PlatformIO

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

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

Перевод на английский язык в сфере IT на примере PVS-Studio

Время на прочтение11 мин
Охват и читатели8.9K
Наша компания PVS-Studio активно публикует статьи на тему разработки, поиска ошибок в коде, техниках по улучшению его качества. Этот пост отличается по тематике – в этот раз рассмотрим вопрос перевода на английский язык русскоязычного контента на тему разработки.

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

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

Ноль, один, два, Фредди заберёт тебя

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

Рисунок 1

Перед вами продолжение серии статей, которую можно озаглавить «ужасы для программистов». В этот раз речь пойдёт о типовом паттерне опечаток, связанном с использованием чисел 0, 1, 2. Неважно, пишете вы на C, C++, C# или Java. Если вы используете константы 0, 1, 2, или если эти числа содержатся в именах переменных, то, скорее всего, Фредди заглянет к вам ночью в гости. Читайте и не говорите потом, что вас не предупреждали.
Читать дальше →

PVS-Studio теперь в Chocolatey: проверка Chocolatey из-под Azure DevOps

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

Рисунок 4

Мы продолжаем делать использование PVS-Studio удобнее. Теперь наш анализатор доступен в Chocolatey, пакетном менеджере для Windows. Мы полагаем, что это облегчит развёртывание PVS-Studio, в частности, в облачных сервисах. Чтобы не идти далеко, проверим исходный код всё того же Chocolatey. В качестве CI системы выступит Azure DevOps.
Читать дальше →

Поиск багов как образ жизни: обзор №2

Время на прочтение8 мин
Охват и читатели18K
Длительная работа в IT натаскивает видеть несовершенства в пользовательском софте. Иногда это откровенные баги, которые хорошо бы исправить. Но сообщить об этом затруднительно из-за непрофессиональной работы поддержки. Публикация таких обзоров багов действительно помогает привлечь внимание разработчиков. В этом обзоре будут рассмотрены проблемы на сайтах ОнлайнТрейд и Ростелеком, в мобильном приложении банка Рокетбанк и даже Хабра! Про Ростелеком вообще детектив получился.

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

Использование машинного обучения в статическом анализе исходного кода программ

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

Использование машинного обучения в статическом анализе исходного кода программ

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

VVVVVV??? VVVVVV!!! :)

Время на прочтение11 мин
Охват и читатели28K
Если вы читаете этот текст – значит, вы либо подумали, что с заголовком статьи что-то не то, либо увидели в нём название знакомой компьютерной игры. VVVVVV – это инди-игра в жанре «платформер», завоевавшая сердца многих игроков своей приятной внешней простотой и не менее приятной внутренней сложностью. Несколько дней назад VVVVVV исполнилось 10 лет, и автор игры – Terry Cavanagh – отметил этот праздник публикацией её исходного кода. Что же «вкусненького» можно в нём найти? Ответ читайте в данной статье.

Рисунок 1

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

Поиск багов как образ жизни

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

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

В «osu!» играй, про ошибки не забывай

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

Picture 1

Приветствуем всех любителей экзотических и не очень ошибок в коде. Сегодня на тестовом стенде PVS-Studio достаточно редкий гость – игра на языке C#. А именно – «osu!». Как обычно: ищем ошибки, думаем, играем.
Читать дальше →

Информация

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