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

Как NASA ошиблись в исходном коде планеты

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

Баги в коде — явление нередкое, но сегодня мы исследуем не просто ошибки, а настоящие космические баги! Что скрывает проект, созданный в недрах NASA? Готовьте свои шапочки из фольги!

Поехали!

Полезные материалы для C++ разработчиков от PVS-Studio

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

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

Читать далее

Подборка авторских Telegram-каналов про разработку

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

Подборка авторских Telegram-каналов про разработку

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

Поехали!

.NET Digest #7

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

Добро пожаловать на седьмой выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! В этот раз мы расскажем про .NET 10 preview 2 и 3, новый релиз Mono, множество интересных статей и, конечно же, AI. Команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов. Поехали!

Читать далее

Необходимость статического анализа для РБПО на примере 190 багов в TDengine

Уровень сложностиСложный
Время на прочтение39 мин
Количество просмотров963

РБПО


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

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

История C#: эволюция версий, .NET, Unity, Blazor, MAUI

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

C# — один из самых популярных языков программирования, используемый для разработки приложений, веб-сервисов и игр. В этой статье мы заглянем в его историю: рассмотрим ключевые изменения от версии к версии и различные инструменты, без которых C# трудно представить.

Читать далее

Поиск в поиске: проверка Elasticsearch

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

Один из самых больших проектов на Java в Open Source. Elasticsearch используется во многих крупных организациях, таких как GitHub, Альфа-Банк, Тинькофф, Netflix и Amazon. Шесть лет назад мы уже проверяли проект, но интересно, какие новые ошибки появились за столь долгое время?

Читать далее

Сворачиваем CPython вокруг PVS-Studio

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

Python... язык программирования, не нуждающийся в особом представлении. За удобство в обработке "больших данных" заслуженно получил звание "лучшего Excel". За удобство интеграции в C и C++ код его любит геймдев. А также у него низкий порог вхождения!

Но как обстоят дела внутри?

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

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

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

Читать далее

Инновационные технические решения и баги в исходном коде PowerShell

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

PowerShell — известный инструмент от Microsoft. Но какие секреты сможет найти статический анализатор в его исходном коде? Посмотрим в этой статье.

Читать далее

Учимся рефакторить код на примере багов в TDengine, часть 3: плата за лень

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

Лень


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


В этот раз поговорим про написание кода методом Copy-Paste. С одной стороны, программисты знают, что копирование кода с последующей его модификацией провоцирует ошибки и опечатки. С другой — набирать каждый раз фрагмент кода, похожий на уже написанный, скучно и непродуктивно. Здесь важно соблюдать некий баланс, который сложно сформулировать и понимание которого приходит с опытом.

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

Безопасная работа с массивами? Нет, не слышали

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

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

Читать далее

Инъекция блокнотом или история о том, как мы новые диагностики делали

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

В этой статье я немного расскажу о том, как в Java осуществляется вызов команд уровня операционной системы. Также поговорим про OS Command и Argument Injections и про то, как мы делали диагностики, которые могут помочь в их обнаружении.

Читать далее

Графический переполох: что таит в себе ScottPlot?

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

ScottPlot — библиотека под .NET для построения графиков. Из-за специфики подобных проектов их код нередко бывает запутанным. Сегодня мы попробуем распутать его и отыскать проблемные места с помощью статического анализатора

Читать далее

Учимся рефакторить код на примере багов в TDengine, часть 2: макрос, пожирающий стек

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

Макрос пожирает стек


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

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

Грязный код — надёжное хранилище ошибок. Теория разбитых окон

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

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

Читать далее

PVS-Studio в разработке на Unity: новые специализированные диагностики

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

По сей день Unity остаётся популярен у тысяч разработчиков. На этом движке созданы многие популярные игры, такие как V Rising, Beat Saber, Hearthstone, Genshin Impact и прочие. Насколько полезен был бы анализатор PVS-Studio разработчикам таких проектов? Какие ошибки и возможности для оптимизации кода он мог бы помочь найти? Давайте узнаем!

Читать далее

.NET Digest #6

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

Добро пожаловать на шестой выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! В этот раз набралось множество нового материала, так ещё и вышла предварительная версия .NET 10. Команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов. Поехали!

Читать далее

Нововведения Java 24

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

Уже скоро, 18 марта, выйдет новая версия Java. Поэтому предлагаю посмотреть, какие в ней будут новшества, включая финализацию давно ожидаемых Stream Gatherers!

Читать далее

Copy-paste на большом экране: разбор ошибок и странных мест Radarr

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

Писать одно и то же — невероятно муторное занятие! Поэтому программисты регулярно используют copy-paste, но, помимо экономии времени, также растет и количество ошибок. Чтобы в этом убедиться, мы разберём ошибки и странные места проекта Radarr.

Читать далее
1
23 ...

Информация

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