The OpenNET Project / Index page

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

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

01.03.2018 18:39

Компания СиПроВер подготовила новую версию статического анализатора 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 3.0
Короткая ссылка: https://opennet.ru/48169-pvs-studio
Ключевые слова: pvs-studio
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (69) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 19:53, 01/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –18 +/
    В СПО как-то все зарабатывают. Некоторые даже грантами на всякие глупости умудряются швыряться. У вас коммерческий проект, и тем не менее вы на столько опустились, что везде спамите. Как так?
     
     
  • 2.3, A.Stahl (ok), 19:54, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, справедливости ради, надо сказать, что давно их не было слышно. Тут во всяком случае.
     
     
  • 3.37, Аноним (-), 09:27, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я лично видел уже с десяток постов на хабре и как минимум 3 здесь. Все уши прожужжали, какой у них крутой анализатор. Такая агрессивная реклама ничего кроме отвращения не вызывает.
     
  • 3.49, Аноним (-), 19:48, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте все разработчики проприетарного софта тут начнут постить свою рекламу. Сайт, в конце концов, называется opennet или как?
     
  • 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 (ok), 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 (ok), 23:09, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это запрещено в соглашении.
     
     
  • 6.27, Аноним (-), 01:36, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    ну и покс
     
     
  • 7.34, Ilya Indigo (ok), 08:19, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    После ответа Карпова ниже мне уже действительно пoкс и на него самого и на его проприетарное пoделие.
    В соседней новости поинтереснее этой рекламы.
     
     
  • 8.45, Аноним (-), 11:41, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А я его поддерживаю Возьми и сам проверь Привыкли людей на халяву напрягать Я... текст свёрнут, показать
     
     
  • 9.46, angra (ok), 12:10, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Возможно, это дитя индиго думает, что существует волшебная команда проверить по... текст свёрнут, показать
     
     
  • 10.48, Аноним (-), 14:35, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот и я об этом ... текст свёрнут, показать
     
  • 6.28, Какаянахренразница (ok), 02:20, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В соглашении с кем? Я правлю СВОЙ код. Пишу туда, что хочу и как хочу.
     
     
  • 7.30, angra (ok), 04:33, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В соглашении об использовании PVS-Studio. У тебя целых три варианта регулярного использования PVS-Studio для своего кода:
    1. Честно добавить требуемые комментарии в код и использовать бесплатный вариант PVS-Studio
    2. Честно купить PVS-Studio и не добавлять в код никаких рекламных комментариев
    3. Возомнить себя кулхацкером, очень хитро поломавшим систему. И пофиг, что этот способ "взлома" описан прямо в лицензионном соглашении. Кулхацкеры такое не читают.
     
     
  • 8.66, Какаянахренразница (ok), 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 (ok), 23:42, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Ребята пошли дальше и нашли способ спамить прямо в чужих исходниках.

    Решение спамить или не спамить в исходниках какого-либо проекта принимают не разработчики PVS-Studio, а разработчики этого проекта. Так что если чё, все претензии к последним.

     
  • 3.10, Аноним (-), 20:54, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Сейчас ребята выкатили апдейт: ARM. Это значит, что на Raspberry и ведроидах
    > станет меньше глюков.

    Ты разуй глаза и прочитай, про что новость. Они поддержку каких-то проприетарных компилеров и IDE добавили. Никто в здравом уме ими софт для малины не собирает.

     
     
  • 4.12, kai3341 (ok), 21:00, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ты разуй глаза и прочитай, про что новость. Они поддержку каких-то проприетарных компилеров и IDE добавили. Никто в здравом уме ими софт для малины не собирает.

    GCC и clang всё ещё поддерживаются, а указанными выше Вас пользоваться никто не заставляет.

    Хозяйке на заметку: основная функциональность этого продукта не зависит от компилятора

     
     
  • 5.16, Аноним (-), 21:38, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А что, с gcc и clang оно раньше не работало?
     
  • 3.32, Аноним (-), 06:48, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я аж прослезился. Если Пивасик-Студия исчезнет, что при этом потеряет опенсорс, ничего.
     
     
  • 4.55, lfx (ok), 19:58, 03/03/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Отвечу на твой вопрос, как минимум opensource потеряет хороший инструмент, который проверил уже не мало открытых проектов и нашел в них не мало ошибок.
    А теперь ответь на мой вопрос что потеряет opensource если исчезнешь ты? Пустозвона, диванного аналитика, халявщика? Который не привнес в тот самый opensource ничего.
     
     
  • 5.58, Аноним (-), 06:46, 04/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    немало. извините
     
  • 3.39, Аноним (-), 09:58, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Не поверишь, но далеко не всем нужен PVS-Studio. А тем, кому нужен, уже 100% знают о нем из прошлых спам рассылок.
    Для написания кода без ошибок есть Rust. А PVS-Studio - костыль.
     
     
  • 4.40, Аноним (-), 10:28, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Для написания кода без ошибок есть Rust.

    Что, сажаешь любую обезьянку, и она фигачит код на rust без ошибок? Не верю!

     
  • 4.56, lfx (ok), 20:15, 03/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но то что без unsafe в котором себе все также можно отстрелить ногу, на Rust далеко не уедешь, ну если ты не пишешь одни HelloWorld'ы. Сударь упомянуть забыл, но скорей всего он этого и не знал, ибо на 10 фанов Rust приходится 1-2 программиста.
     
     
  • 5.59, aZIZ (?), 10:44, 04/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, только там заведомо известно, что там unsafe, в отличии от язычка для которого предназначено это изделие, и сам этот инструментик успешно показывает, что этот язычок сплошной unsafe.
     
     
  • 6.64, lfx (ok), 01:23, 05/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    От того что ты знаешь где у тебя unsafe меньше ошибок ты не допустишь (их ведь не специально допускают), ну и на Rust такого инструмента нет, да и скорость компиляции у Rust не торт, так что вопрос что сейчас лучше спорный :\ Ну и в довершение против Rust я ничего не имею, возможно когда ни будь добавлю его в свой рабочий инструментарий, но на данный момент я не вижу в нем смысла. Я даже опущу дикий синтаксический изврат который в нем периодически встречается.
     
  • 2.26, Аноним (-), 00:46, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    У них анализатор стоит дороже Intel vtune + vc++ :)
     

  • 1.2, Аноним (-), 19:54, 01/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Как раз к новым ноутам на арме и виндусе подоспели, очень хорошо.
     
     
  • 2.6, fi (ok), 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 (ok), 20:40, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Мои аплодисменты проекту Tor - https://www.viva64.com/ru/b/0507/
     
     
  • 3.11, Аноним (-), 21:00, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Мои аплодисменты проекту Tor - https://www.viva64.com/ru/b/0507/
    > Поздравляю авторов проекта Tor. Я не смог найти в этом проекте ошибок,
    > проверив его с помощью статического анализатора PVS-Studio.

    Значит, действительно по заказу и под контролем спецслужб писали!
    Полное отсутсвие ошибок специально задуманно, чтобы побольше людей верило в свою безопасность и поменьше ковырялось во внутренностях кода, с возможностью чисто случайно наткнуться на закладки!


     
     
  • 4.13, Аноним (-), 21:11, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Спецслужбы повсюду, спасает лишь одно - фольгированная шапочка, чтоб они не могли читать мои мысли как в 1984. Говорят, что рептилоиды улетят обратно в Нибиру, когда соберут все золото на Земле, но до этого еще не скоро, поэтому закупайтесь фольгой, господа. Поддерживаю комментатора сверху.
     
     
  • 5.14, A.Stahl (ok), 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 +/
    > читать мои мысли как в 1984

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

     
  • 4.15, Аноним (-), 21:21, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    На этом форуме новость на тему tor относится к 2010му году, а сам проект впервые выкатили в 2001м. Может ли это говорить нам о том, что в предыдущих новостях было написано о том, что тор разрабатывает непосредственно АНБ, навроде селинукса или ещё какого-то опенсорца, посвящённого безопасности?
     
  • 4.68, Аноним (-), 11:37, 07/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Значит, действительно по заказу и под контролем спецслужб писали!
    > Полное отсутсвие ошибок специально задуманно,

    А может все проще? И поскольку это сетевой сервис, который многим хочется разломать - приходится кодить его качественно? Или на выбор будут громкие факапы, с брызгами.

    Поскольку у них изначально планка требований к безопасности высокая - приходится писать код нормально. Иначе хакерье разломает в момент а репутация проекта упадет в плинтус.

     
     
  • 5.73, Аноним (-), 20:22, 07/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Значит, действительно по заказу и под контролем спецслужб писали!
    >> Полное отсутсвие ошибок специально задуманно,
    > А может все проще? И поскольку это сетевой сервис, который многим хочется

    Проще, проще. В следующий раз обязательно добавлю тег <ирония> для бронелобых.

     
  • 3.22, Ilya Indigo (ok), 23:14, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Мои аплодисменты проекту Tor - https://www.viva64.com/ru/b/0507/

    А свежие postfix и dovecot проверяли?

     
     
  • 4.25, Andrey_Karpov (ok), 23:48, 01/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А свежие postfix и dovecot проверяли?

    Оплатите регулярный мониторинг проекта?


     
     
  • 5.62, Michael Shigorin (ok), 16:59, 04/03/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> А свежие postfix и dovecot проверяли?
    > Оплатите регулярный мониторинг проекта?

    Интересу ради -- какой порядок величин?

     
     
  • 6.63, Andrey_Karpov (ok), 19:29, 04/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересу ради -- какой порядок величин?

    Нет какого-то прайса. Каждый раз это обговаривается отдельно, тем более, что обычно это крупные проекты. Примеры: https://www.viva64.com/ru/b/0342/ , https://www.viva64.com/ru/b/0330/ .
    Если у кого-то есть конкретные предложения - приходите в почту, будем обсуждать. :) https://www.viva64.com/ru/b/0500/

     
  • 5.69, Аноним (-), 11:39, 07/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Оплатите регулярный мониторинг проекта?

    При наличии coverity который нахаляву открытые проекты сканит, так что даже бэджик на гитхабе можно вывесить - сами понимаете :)

     
     
  • 6.71, Andrey_Karpov (ok), 15:13, 07/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > При наличии coverity который нахаляву открытые проекты сканит, так что даже бэджик
    > на гитхабе можно вывесить - сами понимаете :)

    Так и для PVS-Studio существует бесплатный вариант лицензии: https://www.viva64.com/ru/b/0457/

    Для бесплатного использования Coverity, требуется открыть исходники. PVS-Studio не требует открывать исходники, но нужно вставить комментарий. Два анализатора - два подхода со своими преимуществами и недостатками.

     

  • 1.18, Аноним (-), 21:47, 01/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Хотел было высказать Карпову благодарность за то, что поведал о существовании ОС RT-Thread. Но открыл её сайт и передумал.
     
  • 1.31, anonymous (??), 06:10, 02/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А чем отличаются arm компиляторы от x86 с точки зрения статического анализа?
     
     
  • 2.35, Andrey_Karpov (ok), 08:31, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А чем отличаются arm компиляторы от x86 с точки зрения статического анализа?

    В основном разными расширениями языка. Плюс потребовалось учесть ряд разных низкоуровневых трюков, которые были подозрительны анализатору (ложные срабатывания), но для микроконтроллеров вполне себе нормальная практика.

     

  • 1.38, Ne01eX (ok), 09:54, 02/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А тем временем в далёкой-далёкой галактике... Вот -> https://www.opennet.dev/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 (ok), 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 (ok), 04:33, 04/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Андрей, ответьте не специалисту: как я понял для JAVA ваш анализатор может отлавливать ошибки связанные с многопоточностью. Это возможно благодаря тому, что в JAVA есть специальные языковые конструкции для написания многопоточного кода? И для C/C++ поиск подобных ошибок реализовать не удастся?
     
     
  • 3.60, Andrey_Karpov (ok), 11:34, 04/03/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > как я понял для JAVA ваш анализатор может отлавливать ошибки связанные с многопоточностью

    Откуда Вы это взяли? :)
    Во-первых, Java анализатор вообще ещё только в разработке и про него не было ни одной статьи. Во-вторых, в первую очередь мы будем реализовывать аналоги диагностик, существующие в C++ анализаторе. По поводу диагностик для выявления ошибок многопоточности ничего сейчас сказать не могу, мы про это пока не думали.
    Выявлять ошибки, связанные с многопоточностью в C/C++ вообще очень сложная задача для статического анализа. Есть два варианта. Или делать очень, очень сложный анализатор. Например, Intel в своё время делал такой анализатор, делал, да бросил. Не пошло. Второй вариант — это использовать аннотации, которые добавляет в код человек. В некоторых случаях такие аннотации уже могут быть, если речь идёт о OpenMP. Т.е. директивы OpenMP и есть те самые аннотации, которые нужны в качестве подсказок анализатору. Мы в своё время делали анализатор VivaMP, вот некоторые старые статьи на эту тему:
    https://www.viva64.com/ru/a/0054/
    https://www.viva64.com/ru/a/0044/
    https://www.viva64.com/ru/b/0005/
    Но анализатор не пользовался спросом, и мы закрыли это направление.

     
     
  • 4.61, Tita_M (ok), 15:28, 04/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Откуда Вы это взяли? :)

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

     
     
  • 5.65, lfx (ok), 01:29, 05/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Зато вскрылась интересная информация :)
    >Java анализатор вообще ещё только в разработке
     
  • 4.70, Аноним (-), 11:43, 07/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Но анализатор не пользовался спросом, и мы закрыли это направление.

    Правильно, gcc и clang запилили хренову кучу *san как часть компилятора. Там типовые проблемы ловятся, в том числе и для многопоточных программ. При том не статическим анализом, что mission impossible, а таки анализом в рантайме. Что явно перспективнее.

     
     
  • 5.72, Andrey_Karpov (ok), 15:16, 07/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Что явно перспективнее.

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


     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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