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

Что такое MISRA и как её готовить

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

Рисунок 1


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

Как PVS-Studio провела второе полугодие конференций 2019

Время на прочтение15 мин
Охват и читатели1K
Кто куда, а наша команда PVS-Studio снова на конференции. В этой статье мы хотели бы поделиться с вами своим опытом, рассказать, как у нас прошло второе полугодие 2019, как мы готовились, где совершали ошибки, как их исправляли, и, как всегда, ждем обратную связь.

Picture 22

Небольшой вклад в борьбе Avalonia UI против зоопарка платформ

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

Рисунок 2

Эта статья – результат проверки проекта Avalonia UI с помощью статического анализатора PVS-Studio. Avalonia UI – это кроссплатформенная платформа пользовательского интерфейса на основе XAML, с открытым исходным кодом. Это один из технологически значимых проектов в истории .NET, так как позволяет создавать кроссплатформенные интерфейсы на основе WPF системы. Надеюсь, эта статья поможет авторам исправить некоторые ошибки и убедит использовать статические анализаторы в будущем.
Читать дальше →

Топ 10 ошибок в проектах C++ за 2019 год

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

Picture 7

Ещё один год стремится к окончанию, поэтому настало время заварить себе кофе и перечитать обзоры ошибок за прошедший год. Конечно, на это уйдёт много времени, поэтому эта статья и была написана. Предлагаю взглянуть на наиболее интересные темные места проектов, которые встретились нам в 2019 году в проектах, написанных на C и C++.
Читать дальше →

Топ 10 ошибок в проектах Java за 2019 год

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


2019 год подходит к концу, и команда PVS-Studio подводит итоги уходящего года. В начале 2019 года мы расширили возможности анализатора, поддержав язык Java. Поэтому список наших публикаций про проверку открытых проектов пополнился обзорами Java проектов. За год было найдено немало ошибок, и мы решили подготовить Top 10 самых интересных из них.
Читать дальше →

Топ 10 ошибок в проектах C# за 2019 год

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

Picture 1

Приветствуем всех любителей багов. Уже скоро наступит Новый год, так что самое время подвести итоги года уходящего. По традиции — рейтинг самых интересных ошибок, которые были обнаружены командой PVS-Studio в открытых проектах C# за 2019 год. Готовы? Тогда приступим.
Читать дальше →

МЕРЧ! МЕРЧ! МЕРЧ! и… единороги

Время на прочтение12 мин
Охват и читатели7.3K
Очередной сезон конференций подошел к концу, и совсем уже уверенно нам на пятки наступает новогодний марафон, поэтому самое время сейчас нам поговорить о прекрасном и самом универсальном виде подарка – сувенирной продукции.


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

Качество кода Apache Hadoop: production VS test

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

Рисунок 1

Для того, чтобы получить качественный production код, недостаточно просто обеспечить максимальное покрытие тестами. Несомненно, для того, чтобы добиться высоких результатов, основной код проекта и тесты обязаны работать в идеально сплоченном тандеме. Поэтому уделять внимания тестам нужно столько же, сколько и основному коду. Написание хорошего теста – залог того, что он отловит регрессию в production. Чтобы показать важность того, что баги в тестах ничем не хуже, чем в production, рассмотрим очередной разбор предупреждений статического анализатора PVS-Studio. Цель: Apache Hadoop.
Читать дальше →

Реклама на YouTube: достучаться до программистов

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

Picture 5

Известный американский маркетолог Стюарт Бритт говорил: «Вести бизнес без рекламы – всё равно, что подмигивать девушке в темноте: вы-то знаете, что вы делаете, а остальные – нет». Сложно не согласиться, ведь недостаточно просто создать продукт — чтобы им пользовались, нужно еще и рассказать о нем. Поэтому пока команда разработчиков PVS-Studio каждый день трудится над улучшением и стабильной работой анализатора, отдел маркетинга берет на себя не менее важную задачу – его продвижение. В последнее время мы активно работаем с YouTube блогерами и фиксируем результаты. Если у вас есть свой канал на YouTube и вы считаете, что вашей аудитории будет полезно и интересно узнать о том, как улучшить свой код, напишите нам — мы будем рады посотрудничать! Нас интересуют такие направления, как C, C++, C#, Java, DevOps, разработка игр, тестирование, качество кода.
Читать дальше →

Clang-format тормозит работу программы

Время на прочтение11 мин
Охват и читатели5.6K
Сегодня мы будем измерять производительность разных реализаций функции toupper, ведь именно этим и занимаются по вторникам.

Вообще-то мне нет никакого дела до функции toupper, просто я недавно писал другой пост и мне нужен был какой-то общий сюжетный стержень, а toupper кажется вполне интересным и безобидным кандидатом в бенчмарки. Я старался выбрать что-то максимально простое, что не увело бы меня в сторону, но так уж получилось, что в этом тесте я столкнулся со странной проблемой.
Читать дальше →

SARIF SDK и его ошибки

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

Picture 2


Сегодня у нас на тесте очередной качественный проект Microsoft, в котором мы всё же попытаемся героически поискать ошибки при помощи PVS-Studio. SARIF – аббревиатура от «Static Analysis Results Interchange Format», представляет собой стандарт (формат файла), предназначенный для взаимодействия и обмена результатами работы статических анализаторов с другими инструментами: IDE, комплексными инструментами проверки и анализа кода (например, SonarQube), системами непрерывной интеграции и т.п. SARIF SDK, соответственно, содержит инструментарий разработчика .NET для поддержки SARIF, а также вспомогательные файлы.
Читать дальше →

Azure SDK for .NET: история о непростом поиске ошибок

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

Picture 2

Когда мы решили поискать ошибки в проекте Azure SDK for .NET, то были приятно удивлены его размером. «Три с половиной миллиона строк кода», — приговаривали мы, изучая статистику проекта. Это сколько же там всего можно найти. Но, увы и ах. Проект оказался с секретом. Какова же особенность проекта и как прошла его проверка — читайте в этой статье.
Читать дальше →

Почему летом так мало конференций?

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

Picture 2

Конечно, они проводятся, но их количество по сравнению с осенними и весенними очень невелико. Хочется изменить эту тенденцию, так как все в нашей команде уверенны, что летние мероприятия — это здорово. В этой короткой статье мы изложим мысли на эту тему и будем рады подискутировать.
Читать дальше →

Проверка кода компилятора Ark Compiler, недавно открытого компанией Huawei

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

Во время презентаций летом 2019 года Huawei анонсировала технологию Ark Compiler. По заверениям представителей компании, этот проект с открытым исходным кодом позволяет существенно повысить плавность и отзывчивость Android и сторонних приложений. Новый интересный открытый проект по традиции должен пройти проверку качества кода с помощью PVS-Studio.

Введение


Впервые компилятор Huawei Ark был представлен вместе с запуском смартфонов Huawei P30 и P30 Pro. По заявлению Huawei, компилятор Ark повышает плавность работы Android на 24%, а скорость отклика – на 44%. При этом сторонние приложения для Android, после перекомпиляции с помощью Ark, могут работать на 60% быстрее. Открытый проект имеет название OpenArkCompiler. Его исходный код доступен на китайском аналоге сайта GitHub – Gitee.
Читать дальше →

Huawei Cloud: в PVS-Studio сегодня облачно

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

Picture 2

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

Причины внедрить в процесс разработки статический анализатор кода PVS-Studio

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

Причины внедрить в процесс разработки статический анализатор кода PVS-Studio

PVS-Studio – это инструмент для поиска ошибок и потенциальных уязвимостей в исходном коде программ, написанных на языках C, C++, C# или Java. PVS-Studio относится к классу инструментов статического тестирования защищённости приложений (Static Application Security Testing, SAST). Анализатор ориентирован на практику непрерывной интеграции (CI) и позволяет выявлять ошибки на самых ранних этапах, когда их исправление почти ничего не стоит.
Читать дальше →

PVS-Studio идёт в облака: GitLab CI/CD

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

Рисунок 2

Эта статья является продолжением цикла публикаций об использовании PVS-Studio в облачных системах. На этот раз мы рассмотрим работу анализатора совместно с GitLab CI — продуктом от GitLab Inc. Интеграция статического анализатора в CI систему позволяет выявить баги сразу после этапа сборки проекта и является очень эффективным способом сократить затраты на обнаружение ошибок.
Читать дальше →

Ответы на задачи со стенда PVS-Studio на конференциях 2018-2019

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

Picture 2


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

Инкремент элементов вектора

Время на прочтение13 мин
Охват и читатели18K
В каком случае инкремент элементов вектора std::vector будет быстрее – если они имеют тип uint8_t или uint32_t?

Чтобы не рассуждать отвлечённо, рассмотрим две конкретные реализации:

void vector8_inc(std::vector<uint8_t>& v)
{
  for (size_t i = 0; i < v.size(); i++)
  {
    v[i]++;
  }
}

void vector32_inc(std::vector<uint32_t>& v)
{
  for (size_t i = 0; i < v.size(); i++)
  {
    v[i]++;
  }
}
Попробуем угадать

По заказам Embedded-разработчиков: ищем ошибки в Amazon FreeRTOS

Время на прочтение15 мин
Охват и читатели8.5K
Каждый, кто программирует микроконтроллеры, наверняка знает о FreeRTOS, или по крайней мере слышал об этой операционной системе. Ребята из Amazon решили расширить возможности этой операционной системы для работы с сервисами AWS Internet of Things – так появилась Amazon FreeRTOS. Нас, разработчиков анализатора кода PVS-Studio, в почте и в комментариях под статьями попросили проверить эти проекты. Что ж, вы просили – мы сделали. Что из этого получилось – читайте далее.

Рисунок 3
Читать дальше →

Информация

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