The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

01.03.2018 18:39  Статический анализатор PVS-Studio 6.22 адаптирован для ARM-компиляторов (реклама)

Компания СиПроВер подготовила новую версию статического анализатора PVS-Studio 6.22, который доработан для обеспечения проверки кода для встраиваемых устройств на базе архитектуры ARM. В частности, в новой версии появилась поддержка ARM Compiler 5 и ARM Compiler 6 в составе сред разработки Keil uVision 5 и Keil DS-MDK, а также поддержка IAR C/C++ Compiler for ARM в составе среды IAR Embedded Workbench.

Для загрузки доступна демонстрационная версия PVS-Studio для Linux. Так как многие проекты для встраиваемых систем являются небольшими и для них не всегда окажется целесообразным приобретать лицензию, разработчики предоставили для подобных проектов вариант бесплатной лицензии. В том числе предоставленный вариант бесплатной лицензии позволяет использовать её не только в открытых, но и в закрытых проектах.

Для тестирования новых возможностей PVS-Studio была проведена проверка кода открытой операционной системы RT-Thread, ориентированной на применения на IoT-устройствах на базе как микроконтроллеров (ARM Cortex-M0, Cortex-M3/4/7), так и процессоров ARM (ARM Cortex-A8 и ARM Cortex-A9 DualCore). Тестирование было проведено в режимах Keil и IAR, и результаты получились примерно одинаковыми.

Из выявленных предупреждений было отобрано 95 наиболее интересных проблем, среди которых:

  • Запись во внешнюю структуру локальных переменных, которые перестанут существовать после выхода из функции, а в структуре останутся указатели уже на другие объекты в стеке;
  • Логическая ошибка при построении условных операторов;
  • Опечатки, в которых вместо двух операторов "&" дважды использовали оператор "&&", что приводит к постоянному возврату значения 0 или 1;
  • Использование вместо оператора "‹‹" значения "‹";
  • Применение всегда истинного условия "i ‹= 255" для переменной i с типом uint8_t, которое в коде приводит к зацикливанию;
  • Использование условий вида (x !=0 || x != 1 || x != 2 || x != 3), которые всегда являются истинными;
  • Использование при вызове memcpy(elementAddress, filter, sizeof(filter)) не размера всей структуры, а размера указателя на структуру;
  • Разыменование указателя до его проверки;
  • Неосмысленная перезапись переменной ("reg_value =" вместо "reg_value |=");
  • Неполная инициализация массива (обнулялся только элемент с индексом 0, а остальные элементы остались неинициализированными);
  • Тело цикла всегда выполняется только один раз и все условия внутри цикла бессмысленны, так как переменная i всегда равна 0;
  • Переменная нигде не инициализируется перед чтением из неё значения.


  1. Главная ссылка к новости (http://www.viva64.com/ru/pvs-s...)
  2. OpenNews: Сравнение качества кода Firebird, MySQL и PostgreSQL в анализаторе PVS-Studio (реклама)
  3. OpenNews: Итоги проверки Tizen в статическом анализаторе PVS-Studio (реклама)
  4. OpenNews: Анализатор PVS-Studio бесплатно доступен экспертам по безопасности (реклама)
  5. OpenNews: Использование PVS-Studio для поиска дефектов безопасности (реклама)
  6. OpenNews: Эксперимент по выявлению уязвимостей во FreeBSD при помощи PVS-Studio (реклама)
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: pvs-studio
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.1, Аноним, 19:53, 01/03/2018 [ответить] [смотреть все]     [к модератору]
  • –18 +/
    В СПО как-то все зарабатывают Некоторые даже грантами на всякие глупости умудря... весь текст скрыт [показать]
     
     
  • 2.3, A.Stahl, 19:54, 01/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Ну, справедливости ради, надо сказать, что давно их не было слышно Тут во всяко... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.37, Аноним, 09:27, 02/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Я лично видел уже с десяток постов на хабре и как минимум 3 здесь Все уши прожу... весь текст скрыт [показать]
     
  • 3.49, Аноним, 19:48, 02/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Давайте все разработчики проприетарного софта тут начнут постить свою рекламу С... весь текст скрыт [показать]
     
  • 2.4, sadasd, 20:22, 01/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Команда маленькая, если есть идеи как им по другому рекламу подешевле делать, то... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.50, Аноним, 19:50, 02/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Это не реклама Эта антиреклама какая-то В каждой их рекламе обсуждается сама р... весь текст скрыт [показать]
     
     
  • 4.54, Аноним, 14:11, 03/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Да уж, рассуждать на портале по СПО про кейл и иар - весьма оригинально Можно е... весь текст скрыт [показать]
     
  • 2.5, kai3341, 20:23, 01/03/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +30 +/
    Если бы все так спамили, я бы даже uBlock выключил

    Любая ошибка -- это головная боль. Такие ошибки, как Race Condition, тестами не отловить. Ребята же предлагают решение, снимающее массу головной боли на старте. Это плохо?

    Ребята использовали опенсорс как тестовый полигон: кода много самого разного качества, ошибки самые разнообразные. Что опенсорс от этого потерял?

    Ребята пиарились отчётами об ошибках, попутно объясняя, как не наступить на некоторые грабли (например, memset). Что потерял пользователь от такой рекламы?

    В результате опенсорс получал отчёты об ошибках, большая часть которых исправлялась (я оптимист). Что при этом терял опенсорс? Ну кроме ошибок и глюков.

    Ребята пошли дальше навтречу опенсорсу и позволили проверять проекты, в шапке которых было несколько строк. Если у тебя нет денег на покупку продукта -- пользуйся им бесплатно. Я замечу, что сложность синтаксического анализа чуть выше, чем нарисовать кнопку на форме (ну то есть намного порядков, кто сарказма не видит). И результатами работы ребята позволили пользоваться бесплатно, если у вас нет денег на лицензию. Что при этом потерял опенсорс? Может, что-то при этом потеряли лично Вы?

    Сейчас ребята выкатили апдейт: ARM. Это значит, что на Raspberry и ведроидах станет меньше глюков. Что при этом потерял опенсорс? Что потеряли лично Вы?

     
     
  • 3.9, Аноним, 20:52, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Ребята пошли дальше и нашли способ спамить прямо в чужих исходниках ... весь текст скрыт [показать]
     
     
  • 4.20, Аноним, 22:59, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Напиши скрипт fuse fs, вставляющий нужную йобу в файлы специально для анализатор... весь текст скрыт [показать]
     
     
  • 5.21, Ilya Indigo, 23:09, 01/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Это запрещено в соглашении.
     
     
  • 6.27, Аноним, 01:36, 02/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    ну и покс
     
     
  • 7.34, Ilya Indigo, 08:19, 02/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    После ответа Карпова ниже мне уже действительно пoкс и на него самого и на его п... весь текст скрыт [показать]
     
     
  • 8.45, Аноним, 11:41, 02/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    А я его поддерживаю Возьми и сам проверь Привыкли людей на халяву напрягать Я... весь текст скрыт [показать]
     
     
  • 9.46, angra, 12:10, 02/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Возможно, это дитя индиго думает, что существует волшебная команда проверить по... весь текст скрыт [показать]
     
     
  • 10.48, Аноним, 14:35, 02/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Вот и я об этом)
     
  • 6.28, Какаянахренразница, 02:20, 02/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    В соглашении с кем? Я правлю СВОЙ код. Пишу туда, что хочу и как хочу.
     
     
  • 7.30, angra, 04:33, 02/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    В соглашении об использовании PVS-Studio У тебя целых три варианта регулярного ... весь текст скрыт [показать]
     
     
  • 8.66, Какаянахренразница, 17:09, 06/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    У тебя та же болезнь, что и у Карпова Правка моего кода никак не связана с испо... весь текст скрыт [показать]
     
  • 6.29, annual slayer, 03:08, 02/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    а если создать форк с дополнительной шапкой?
     
  • 6.36, Аноним, 09:13, 02/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    citation needed
     
  • 4.24, Ordu, 23:42, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Решение спамить или не спамить в исходниках какого-либо проекта принимают не раз... весь текст скрыт [показать]
     
  • 3.10, Аноним, 20:54, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ты разуй глаза и прочитай, про что новость Они поддержку каких-то проприетарных... весь текст скрыт [показать]
     
     
  • 4.12, kai3341, 21:00, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    GCC и clang всё ещё поддерживаются, а указанными выше Вас пользоваться никто не ... весь текст скрыт [показать]
     
     
  • 5.16, Аноним, 21:38, 01/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    А что, с gcc и clang оно раньше не работало?
     
  • 3.32, Аноним, 06:48, 02/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Я аж прослезился Если Пивасик-Студия исчезнет, что при этом потеряет опенсорс, ... весь текст скрыт [показать]
     
     
  • 4.55, lfx, 19:58, 03/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Отвечу на твой вопрос, как минимум opensource потеряет хороший инструмент, котор... весь текст скрыт [показать]
     
     
  • 5.58, Аноним, 06:46, 04/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    немало. извините
     
  • 3.39, Аноним, 09:58, 02/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –4 +/
    Не поверишь, но далеко не всем нужен PVS-Studio А тем, кому нужен, уже 100 зна... весь текст скрыт [показать]
     
     
  • 4.40, Аноним, 10:28, 02/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Что, сажаешь любую обезьянку, и она фигачит код на rust без ошибок Не верю ... весь текст скрыт [показать]
     
  • 4.56, lfx, 20:15, 03/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Но то что без unsafe в котором себе все также можно отстрелить ногу, на Rust дал... весь текст скрыт [показать]
     
     
  • 5.59, aZIZ, 10:44, 04/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну да, только там заведомо известно, что там unsafe, в отличии от язычка для кот... весь текст скрыт [показать]
     
     
  • 6.64, lfx, 01:23, 05/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    От того что ты знаешь где у тебя unsafe меньше ошибок ты не допустишь их ведь н... весь текст скрыт [показать]
     
  • 2.26, Аноним, 00:46, 02/03/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    У них анализатор стоит дороже Intel vtune + vc++ :)
     
  • 1.2, Аноним, 19:54, 01/03/2018 [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    Как раз к новым ноутам на арме и виндусе подоспели, очень хорошо.
     
     
  • 2.6, fi, 20:25, 01/03/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    IAR Embedded - это не про ноуты, а про железки самопальные
     
  • 2.67, Аноним, 11:31, 07/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    С нетерпением жду как ты кайлом и иаром под виндовые армы собирать будешь На эт... весь текст скрыт [показать] [показать ветку]
     
  • 1.7, Аноним, 20:27, 01/03/2018 [ответить] [смотреть все]    [к модератору]  
  • –3 +/
    Проверьте пожалуйста проект Tor
     
     
  • 2.8, Andrey_Karpov, 20:40, 01/03/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +6 +/
    Мои аплодисменты проекту Tor - https://www.viva64.com/ru/b/0507/
     
     
  • 3.11, Аноним, 21:00, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –5 +/
    Значит, действительно по заказу и под контролем спецслужб писали Полное отсутс... весь текст скрыт [показать]
     
     
  • 4.13, Аноним, 21:11, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Спецслужбы повсюду, спасает лишь одно - фольгированная шапочка, чтоб они не могл... весь текст скрыт [показать]
     
     
  • 5.14, A.Stahl, 21:17, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Ты ведь знаешь, что для экранирования мозголучей эффективна лишь золотая фольга ... весь текст скрыт [показать]
     
     
  • 6.19, Аноним, 21:54, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Не слушайте его, он глубоко внедренный агент рептилоидов Фольга помогает только... весь текст скрыт [показать]
     
     
  • 7.23, анонимус, 23:39, 01/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Спасибо, записал
     
  • 5.17, Аноним, 21:40, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Прежде чем с умным видом ссылаться на какую-то книгу, полезно эту книгу прочесть... весь текст скрыт [показать]
     
  • 4.15, Аноним, 21:21, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    На этом форуме новость на тему tor относится к 2010му году, а сам проект впервые... весь текст скрыт [показать]
     
  • 4.68, Аноним, 11:37, 07/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А может все проще И поскольку это сетевой сервис, который многим хочется разлом... весь текст скрыт [показать]
     
     
  • 5.73, Аноним, 20:22, 07/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Проще, проще В следующий раз обязательно добавлю тег ирония для бронелобых ... весь текст скрыт [показать]
     
  • 3.22, Ilya Indigo, 23:14, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А свежие postfix и dovecot проверяли ... весь текст скрыт [показать]
     
     
  • 4.25, Andrey_Karpov, 23:48, 01/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Оплатите регулярный мониторинг проекта ... весь текст скрыт [показать]
     
     
  • 5.62, Michael Shigorin, 16:59, 04/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Интересу ради -- какой порядок величин ... весь текст скрыт [показать]
     
     
  • 6.63, Andrey_Karpov, 19:29, 04/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Нет какого-то прайса Каждый раз это обговаривается отдельно, тем более, что обы... весь текст скрыт [показать]
     
  • 5.69, Аноним, 11:39, 07/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    При наличии coverity который нахаляву открытые проекты сканит, так что даже бэдж... весь текст скрыт [показать]
     
     
  • 6.71, Andrey_Karpov, 15:13, 07/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Так и для PVS-Studio существует бесплатный вариант лицензии https www viva64 ... весь текст скрыт [показать]
     
  • 1.18, Аноним, 21:47, 01/03/2018 [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Хотел было высказать Карпову благодарность за то, что поведал о существовании ОС... весь текст скрыт [показать]
     
  • 1.31, anonymous, 06:10, 02/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    А чем отличаются arm компиляторы от x86 с точки зрения статического анализа?
     
     
  • 2.35, Andrey_Karpov, 08:31, 02/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    В основном разными расширениями языка Плюс потребовалось учесть ряд разных низк... весь текст скрыт [показать] [показать ветку]
     
  • 1.38, Ne01eX, 09:54, 02/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    А тем временем в далёкой-далёкой галактике... Вот -> https://www.opennet.ru/opennews/art.shtml?num=48174 что получилось. :-)
     
  • 1.41, Аноним, 10:43, 02/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    fragma-clang гораздо приятнее

    http://frama-c.com/frama-clang.html

     
  • 1.44, Аноним, 11:38, 02/03/2018 [ответить] [смотреть все]     [к модератору]  
  • +/
    Отличный продукт А не нравится статья - не читайте Да и где вы здесь спам у... весь текст скрыт [показать]
     
     
  • 2.52, Аноним, 19:56, 02/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Ты заходишь в почту и видешь рекламу заработать в интернете миллион бесплатно, б... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.53, Аноним, 21:37, 02/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Эта реклама явно помечена как реклама И, заметьте, помечена не малозаметным тег... весь текст скрыт [показать]
     
  • 1.47, Andrey_Karpov, 12:23, 02/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +3 +/
    Сегодня опубликовали статью: Статический анализатор кода PVS-Studio 6.22 адаптирован для ARM-компиляторов (Keil, IAR) - https://habrahabr.ru/company/pvs-studio/blog/350314/
     
     
  • 2.57, Tita_M, 04:33, 04/03/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Андрей, ответьте не специалисту: как я понял для JAVA ваш анализатор может отлавливать ошибки связанные с многопоточностью. Это возможно благодаря тому, что в JAVA есть специальные языковые конструкции для написания многопоточного кода? И для C/C++ поиск подобных ошибок реализовать не удастся?
     
     
  • 3.60, Andrey_Karpov, 11:34, 04/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Откуда Вы это взяли Во-первых, Java анализатор вообще ещё только в разработк... весь текст скрыт [показать]
     
     
  • 4.61, Tita_M, 15:28, 04/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    >Откуда Вы это взяли? :)

    Спутал с другим анализатором, от Фейсбука, кажется. :)

     
     
  • 5.65, lfx, 01:29, 05/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Зато вскрылась интересная информация :)
    >Java анализатор вообще ещё только в разработке
     
  • 4.70, Аноним, 11:43, 07/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Правильно, gcc и clang запилили хренову кучу san как часть компилятора Там тип... весь текст скрыт [показать]
     
     
  • 5.72, Andrey_Karpov, 15:16, 07/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Что явно перспективнее.

    Динамические анализаторы не заменять статические. И наоборот. Эти технологии не конкурируют, а дополняют друг друга. https://www.viva64.com/ru/b/0248/


     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor