Как стать автором
Поиск
Написать публикацию
Обновить
328.45
PVS-Studio
Статический анализ кода для C, C++, C# и Java
Сначала показывать

PVS-Studio наконец то добрался до Boost

Время на прочтение9 мин
Количество просмотров27K
Boost and PVS-Studio

Мы уже давно хотели проверить библиотеку Boost. У нас не было уверенности, что результатов проверки хватит на статью. Однако, желание не пропадало. Два раза мы пытались сделать это, но отступали, не разобравшись, как заменить вызов компилятора на вызов PVS-Studio.exe. Теперь мы вооружились новым инструментарием, и третья попытка оказалась удачной. Итак, возможно ли найти в Boost ошибки?

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

Проверка open-source игры Multi Theft Auto

Время на прочтение9 мин
Количество просмотров42K
MTA & PVS-Studio
Мы давно не проверяли игры с помощью PVS-Studio. Решили это исправить и выбрали проект MTA. Multi Theft Auto (MTA) является модификацией для PC версий игры Grand Theft Auto: San Andreas от Rockstar North. MTA позволяет игрокам со всего мира играть друг против друга в режиме онлайн. Как написано в Wikipedia, особенностью игры является «оптимизированный код с наименьшим количеством сбоев». Что же, давайте посмотрим, что скажет анализатор кода.
Читать дальше →

Третья проверка кода проекта Chromium с помощью анализатора PVS-Studio

Время на прочтение19 мин
Количество просмотров34K
Браузер Chromium очень быстро развивается. Например, когда в 2011 году мы впервые проверили этот проект (solution), он состоял из 473 проектов. Сейчас, он состоит уже из 1169 проектов. Нам было интересно, смогли ли разработчики Google сохранить высочайшее качество кода, при такой скорости развития Chromium. Да, смогли.
Читать дальше →

Из подвала секретной лаборатории разработчиков PVS-Studio…

Время на прочтение3 мин
Количество просмотров10K
О, интересная статья про PVS-Studio!
Время от времени мы рассказываем о своих внутренних исследованиях и разработках, которые происходят в команде разработчиков статического анализатора кода PVS-Studio для C/C++. Сегодняшняя история об очередной новинке, которую мы готовим в рамках нашего продукта.

Тем, кто следит за нашим проектом (а тем более пользуется им) известно, что наш анализатор изначально был плагином только для Visual Studio. Затем стало возможно пользоваться им как консольным приложением, встраиваемым в Makefile (спросите меня как, если не знаете). Потом, в начале этого года у нас появилась интеграция в C++Builder. Кстати у нас пока довольно мало пользователей под C++Builder, и мы не совсем понимаем почему. И вот недавно мы задумались над так называемым standalone приложением.

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

Не зная брода, не лезь в воду. Часть N4

Время на прочтение5 мин
Количество просмотров14K
В этот раз я хочу поговорить о виртуальном наследовании в языке Си++, и почему его следует использовать очень осторожно. Предыдущие статьи: часть N1, N2, N3.
Статья написана по мотивам заметки "Грабли 2: Виртуальное наследование". Статья хорошая, но, на мой взгляд, несколько размыта, и новичок может не до конца уловить суть опасностей. Я решил предложить свой вариант описания проблем связанных с виртуальным наследованиям.
Читать дальше →

Мир опечаток и Copy-Paste

Время на прочтение1 мин
Количество просмотров19K
Программисты допускают невероятное количество опечаток, простых логических ляпов и делают ошибки благодаря Copy-Paste. Приглашаю отпробовать их. Приятного аппетита.
Баги
Программисты часто думают, что ошибки, отнимающие больше всего времени очень сложные и коварные. А простые ошибки они не делают.
Читать дальше →

Повторная проверка TortoiseSVN с помощью анализатора кода PVS-Studio

Время на прочтение8 мин
Количество просмотров16K
TortoiseSVN и PVS-Studio
Мы отправили разработчикам TortoiseSVN на некоторое время бесплатный ключ для анализатора PVS-Studio. Пока они не успели им воспользоваться, я решил быстро скачать исходные коды TortoiseSVN и самостоятельно выполнить анализ. Цель понятна. Очередная небольшая статья для рекламы PVS-Studio.
Читать дальше →

Обнаружены ошибки в библиотеках C++Builder

Время на прочтение7 мин
Количество просмотров14K
Мы проверили заголовочные файлы, входящие в состав Embarcadero C++Builder XE3. Фактически, это означает только проверку небольшого числа inline-функций. Соответственно найдено совсем немного подозрительных мест, но достаточно для небольшой заметки.
Читать дальше →

Единорог вновь готов к общению с Си++ программистами

Время на прочтение2 мин
Количество просмотров29K
Единорог вернулся
Приглашаю Си/Си++ программистов присоединиться к блогу PVS-Studio. Вы узнаете о разных интересных вещах из мира Си/Си++ и о том, кто, где и как программирует. Расскажу немного о том, что не было опубликовано на Хабре за время нашего отсутствия здесь.
Читать дальше →

Обнаружены ошибки в библиотеках Visual C++ 2012

Время на прочтение11 мин
Количество просмотров3.5K
Одной из методик выявления ошибок в программах является статический анализ кода. Мы рады, что это методология становится всё более популярной. Во многом этому способствует Visual Studio, в которой статический анализ является одной из многих функциональных возможностей. Эту функциональность легко попробовать и начать регулярно использовать. Когда человек понимает, что ему нравится статический анализ кода, мы рады предложить ему профессиональный анализатор PVS-Studio для языков Си/Си++/Си++11.
Читать дальше →

Ощущения, которые подтвердились числами

Время на прочтение3 мин
Количество просмотров2.1K
Долгое время меня беспокоили статьи в интернете, в которых делалась попытка на основе проверки небольших проектов, судить о пользе использования статических анализаторов кода.
Читать дальше →

PVS-Studio: отзывы

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

Хочу свой Луна-Парк с Fortran и Си

Время на прочтение4 мин
Количество просмотров4.7K
Другим названием этой заметки может стать «Почему мне больше не интересно быть российским MVP в номинации Visual C++». Первая ассоциация, которая может возникнуть у читателя, что мне больше не интересен отживший своё язык. Такие ассоциации меня очень огорчают. C++ живее всех живых. К сожалению, в России многие про это не знают и уверены, что весь мир давно программирует только на C#, PHP, Python и иных новомодных языках. Это очень странно, и я чувствую себя в этой пустыне одиноко. Про это и будет моя статья.
Читать дальше →

Не бойтесь маленького бизнеса

Время на прочтение3 мин
Количество просмотров2.8K
Маленький бизнес
В последнее время мне часто стали попадаться статьи, где ставится знак равенства между малым бизнесом и неудачниками. Пример одной из последних подобных статей: "Сергей Белоусов о зомби-стартапах от которых никакого толку, а избавиться жалко". Краткий смысл: если компания живет, но не развивается, то значит это провальный проект и пора переходить к новому. Я не согласен с таким направлением мысли. Не могут все компании расти и быть грандиозно успешными. И в этом нет ничего плохо. Если компания живет, это уже хорошо. Они не зомби, а просто нашедшие свою нишу компании. Малый бизнес это замечательно.
Читать дальше →

Что общего у статического анализа и поисковиков? Хороший «top»!

Время на прочтение5 мин
Количество просмотров1.3K
Разработчики поисковиков типа Google/Яндекс и разработчики инструментов статического анализа кода решают в каком-то смысле очень похожую задачу. И те, и другие должны предоставить пользователю некоторую выборку с ресурсами, которые «отвечают» желаниям пользователя. Нет, конечно, в идеале разработчики поисковиков хотели бы ограничиться кнопкой «Мне повезет!» (I'm Feeling Lucky). А разработчики инструментов анализа кода хотят выдавать только список реальных ошибок в коде. Но реальность как всегда накладывает ограничения. Хотите узнать, как мы сражаемся с жестокой реальностью при разработке PVS-Studio?

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

Не зная брода, не лезь в воду. Часть третья

Время на прочтение8 мин
Количество просмотров13K
Сдвиги
Продолжу рассказы о том, как программисты ходят по краю, даже не подозревая об этом. Поговорим об операциях сдвига <<, >>. Принципы работы операторов сдвига очевидны и многие программисты даже не знают, что их использование согласно стандарту Си/Си++ может приводить к неопределенному или к неуточненному поведению (undefined behaviour/unspecified behavior).
Читать дальше →

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

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

Аннотация


Эта статья будет интересна тем, кто продвигает свои собственные программные продукты в интернете. Статья исключительно практическая. Она представляет собой отчёт о некоторых действиях, которые мы осуществляли в последнее время для продвижения продукта PVS-Studio. Я расскажу, что работает, что не работает и поделюсь сопутствующими мыслями.
Читать дальше →

Повторная проверка проекта Notepad++

Время на прочтение7 мин
Количество просмотров2.3K
PVS-Studio vs Notepad++
Прошло более года, как мы проверили Notepad++ с помощью PVS-Studio. Интересно посмотреть, насколько анализатор PVS-Studio стал лучше, и что было исправлено в Notepad++ из прежних ошибок.
Читать дальше →

Не зная брода, не лезь в воду. Часть вторая

Время на прочтение8 мин
Количество просмотров11K
Ужасный printf
В этот раз я хочу поговорить о функции printf. Все наслышаны об уязвимостях в программах, и что функции наподобие printf объявлены вне закона. Но одно дело знать, что лучше не использовать эти функции. А совсем другое — понять почему. В этой статье я опишу две классических уязвимости программ, связанных с printf. Хакером после этого вы не станете, но, возможно, по-новому взгляните на свой код. Вдруг, вы реализуете аналогичные уязвимые функции, даже не подозревая об этом.

СТОП. Подожди читатель, не проходи мимо. Я знаю, что ты увидел слово printf. И уверен, что автор статьи сейчас расскажет банальную историю о том, что функция не контролирует типы передаваемых аргументов. Нет! Статья будет не про это, а именно про уязвимости. Заходи почитать.
Читать дальше →

Не зная брода, не лезь в воду. Часть первая

Время на прочтение3 мин
Количество просмотров4.2K
Не зная брода, не лезь в воду
Захотелось написать несколько небольших заметок о том, как программисты на Си/Си++ играют с огнем, не подозревая об этом. Первая заметка будет про попытки явно вызвать конструктор.
Читать дальше →

Информация

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