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

Теперь PVS-Studio ещё лучше знает, что за зверь такой – strlen

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

0824_DataFlow_And_Strlen_ru/image1.png


Как-то так несправедливо сложилось, что мы почти не уделяем в наших заметках внимание усовершенствованию внутренних механизмов анализатора, в отличие от новых диагностик. Поэтому давайте для разнообразия познакомимся с новым полезным усовершенствованием, коснувшимся анализа потока данных.

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

Ядро macOS, есть ли червячки в этом яблоке?

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

0818_XNU_MacOS_Kernel_ru/image1.png


В самом начале этого года Apple выложили в открытый доступ исходный код системных компонентов macOS 11.0 – Big Sur, включая XNU – ядро операционной системы macOS. Пару лет назад исходный код ядра уже проверялся PVS-Studio в связи с выходом анализатора для macOS. Прошло достаточно много времени, и вышел новый релиз исходного кода ядра. Почему бы и не провести повторную проверку.

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

Что такое yield и как он работает в C#?

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

Возможности C# из года в год становятся всё шире. Разные фичи делают жизнь программиста приятнее, но предназначение и особенности некоторых из них могут быть очевидны не всем. Например, старый-добрый yield. Для некоторых разработчиков, особенно начинающих, это самая настоящая магия – непонятная, но интересная. В данной статье будет показано, как же всё-таки работает yield, и что на самом деле скрыто за этим волшебным словом. Приятного чтения!

Читать далее

Дайте хлеба и зрелищ

Время на прочтение4 мин
Количество просмотров2.2K
Что делать, если вы, как и мы, уже устали от года без офлайн мероприятий? Не знаете, как переживать эти карантинно-удаленные будни? И как не потерять в таких Рапунцелевских четырехстенных условиях всю энергию и не выгореть?

image1.png

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

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

TensorFlow.NET и PVS-Studio

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

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

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

PVS-Studio и Zephyr

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

Пояснение про ограничения демонстрационной версии PVS-Studio

Время на прочтение3 мин
Количество просмотров8.3K
PVS-Studio Demo
У ограничений имеется две цели. Первая — как можно быстрее показать потенциальному пользователю, что статический анализатор может находить ошибки в его коде. Вторая — побудить к общению с нами в почте, чтобы помочь использовать инструмент правильно. Я уверен, что эта взаимосвязь непонятна, поэтому я и решил написать эту маленькую заметку.
Читать дальше →

Получение отклика от потенциальных пользователей

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

Не так просто получить отклик и мнение от потенциального клиента, если ты являешься небольшим стартапом. В случае большой компании, как мне кажется, дело обстоит проще. Можно потратить деньги на маркетинговые исследования. Можно пообщаться с уже имеющими клиентами, которые приобретают хотя и другие, но схожие объекты или услуги. В случае нового стартапа, клиентской базы нет, денег тоже нет. И встает задача с максимальной эффективностью, попытаться пообщаться с теми, кто потенциально может стать клиентом и скорректировать свое развитие, если спрос в чем-то расходится с предложением. Другими словами выявить, что следует поправить и предложить, для привлечения большего интереса.

Расскажу на собственном примере о наших экспериментах.

История C и C++. Часть вторая: стандартизация C и C++, Qt, Clang, Unreal Engine

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров6.6K

Вторая часть истории о том, как C и C++ стали такими, какими мы их знаем сегодня. Здесь расскажем об официальной сертификации C и C++, а также о вышедших инструментах в период с 1991 года и до наших дней.

Читать далее

Первая часть исследования Nau Engine

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров5K

Этой статьёй мы начинаем трилогию об игровом движке Nau Engine. В первой части мы сосредоточимся на его функциональности, уделяя особое внимание трём ключевым блокам ошибок: проблемам с памятью, копипасте и логическим ошибкам.

Читать далее

PPSSPP или всё же psp? Смотрим баги в коде из прошлого

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5.4K

В мире видеоигр эмуляторы стали настоящей находкой для поклонников классических проектов. PPSSPP — один из самых популярных эмуляторов для PlayStation Portable (PSP), который позволяет нам вновь окунуться в атмосферу любимых игр, но уже на современных устройствах. Однако чтобы играть без сбоев и лагов, нужно убедиться, что код эмулятора хорошо написан.

Читать далее

Новые диагностические правила в PVS-Studio 7.34

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров1.3K

С релизом PVS-Studio 7.34 в анализаторе появились новые диагностические правила: taint для Java, множество Unity-диагностик для C#, углубление в OWASP и многое другое! Расскажем о них в этой статье.

Читать далее

Внутри Java Enterprise кода: проверка Flowable

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров1.1K

Язык Java известен широким применением в бизнесе. Бизнес-процессами необходимо управлять, в чём может помочь платформа Flowable, которая, так сложилось, написана на Java, так ещё и с открытым исходным кодом! А значит, мы можем изучить его с помощью PVS-Studio и попробовать найти ошибки.

Читать далее

От ВАЛЛ-И до Терминатора: баги, принципы работы и фантазии разработчиков

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.1K

В мире кино и анимации роботы часто предстают как уникальные и порой странные персонажи, каждый со своим набором функций, ошибок и особенностей, которые привлекают внимание. В этой статье мы рассмотрим популярных роботов из мультфильмов и фильмов с точки зрения их технического устройства, принципов работы и «багов».

Читать далее

Чистый код — дар или проклятие? Акт II. Компромисс

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.3K

Что важнее — производительность или гибкость кода? Стоит ли отказаться от философии чистого кода ради перфоманса? Отвечаем на эти и многие другие вопросы вместе с командой разработчиков PVS-Studio.

Читать далее

Дебажим баги в дебаггере x64dbg. Без дебаггера

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.1K

Ни один процесс разработки программы не проходит без отладки. Современные IDE обеспечивают программиста встроенным отладчиком. Однако бывают ситуации, когда использование IDE для отладки избыточно или невозможно, и тогда на помощь приходят автономные отладчики, один из которых — x64dbg.

Сделать шаг с заходом

День, когда Скайнет обрёл сознание, и ещё 69 поводов собраться с коллегами. Часть 2

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2.4K

Согласитесь, что иногда не хватает поводов собраться с коллегами и хорошенько отдохнуть. Да, есть официальные праздники и дни рождения, но список всё равно невелик. Мы нашли выход! Вторая часть подборки ждет вас!

Читать далее

Изучаем подозрительные места в коде AWS SDK для .NET

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров2.6K

1057_AWS_SDK_NET_ru/image1.png


Сегодня под нашим скальпелем оказался проект AWS SDK для .NET. Мы посмотрим на подозрительные места из исходного кода, разберёмся, что в них происходит, и попробуем воспроизвести некоторые проблемы. Заваривайте кофе и устраивайтесь поудобнее.

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

60 антипаттернов для С++ программиста, часть 10 (совет 46 — 50)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5.4K

1053_60_cpp_antipatterns_ru/image2.png


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

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

60 антипаттернов для С++ программиста, часть 7 (совет 31 — 35)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.3K

1053_60_cpp_antipatterns_ru/image2.png


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

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

Информация

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