The OpenNET Project / Index page

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

Релиз свободного статического анализатора кода frama-clang 0.0.5

02.03.2018 00:52

Состоялся релиз frama-clang 0.0.5, плагина для Сlang на базе свободной платформы для статического анализа кода Frama-C. Несмотря на то, что проект существует около года, он уже является рабочим полнофункциональным анализатором кода, написанного на языках Си и Си++, выявляющим возможные проблемы в файлах .cpp, .c++, .c, .cxx, .cc и .ii (файлы препроцессора). Плагин Fragma-C для Clang поставляется под смешанной лицензией LGPL/BSD.

  1. Главная ссылка к новости (http://frama-c.com/frama-clang...)
  2. OpenNews: Facebook открыл RacerD, статический анализатор для многопоточного кода на Java
  3. OpenNews: Статистический анализ предрекает рост популярности Go и сохранение позиций Си
  4. OpenNews: Google представил OSS-Fuzz, сервис для анализа безопасности открытого ПО
  5. OpenNews: Релиз набора компиляторов LLVM 5.0
  6. OpenNews: Обеспечена возможность сборки ядер Linux 4.4 и 4.9 при помощи Clang
Автор новости: Ne01eX
Тип: Программы
Ключевые слова: clang, analyzer
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (43) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, Аноним (-), 09:19, 02/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    "Гори-гори ясно, чтобы не погасло!"
     
     
  • 2.2, Аноним (-), 09:35, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –14 +/
    Гори оно огнём, если там шланг.
     
     
  • 3.5, Ne01eX (ok), 09:49, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Гори оно огнём, если там шланг.

    Fragma-C отдельный статический анализатор. fragma-clang отдельный плагин для Clang. Мухи отдельно, котлеты отдельно.

     
     
  • 4.30, Аноним (-), 19:08, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он не fragma, а frama.
     
  • 3.15, Mezozoysky (?), 12:06, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Пардон за оффтоп. А в чем проблема шланга? 4 года использую, как основной компилятор на работе и дома и за это время не уловил, чем он принципиально хуже гцц. Поясните, плз, если не сложно.
     
     
  • 4.24, Ю.Т. (?), 15:05, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Мол, несвободный в сымсле ГПЛ.
     
     
  • 5.25, Mezozoysky (?), 15:31, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Странная история. У них годная свободная лицензия - свободная, в том числе, от ограничений копилефта. Не вижу проблемы здесь.
     
     
  • 6.29, Аноним (-), 17:10, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Не вижу проблемы здесь.

    А она есть.

     
  • 6.40, Аноним (-), 13:32, 03/03/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Мы помним чем закончилась BSDшная свобода, кода всякими проприетарными бздами руки выворачивали. А потом пришел GPLный Linux - и наконец стало хорошо. Без произвола полутора корпораций.
     
     
  • 7.43, Аноним (-), 20:20, 03/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    мы все помним как GPL-ный линукс умолял дать им лицензию на дрова к ath wifi, OpenBSD дал.
    А потом этот самый линукс зажал отдавать правки, вот же жлобы..
     
     
  • 8.45, Аноним (-), 04:23, 04/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А что значит умолял Если BSDшную шапку не удалять, никакие лицензии не нарушают... текст свёрнут, показать
     
     
  • 9.48, Аноним (-), 15:44, 04/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    http lkml org lkml 2007 8 28 157 И шапку удалил и лицензию сменил, забыв спрос... текст свёрнут, показать
     
  • 4.28, Аноним (-), 17:09, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Clang производит объектный код, который медленнее и больше чем объектный код, производимый GCC. Особенно для не-х86.

    Немного пруфлинков:

    https://github.com/android-ndk/ndk/issues/495
    https://github.com/android-ndk/ndk/issues/21
    https://github.com/android-ndk/ndk/issues/133

     
     
  • 5.31, Аноним (-), 19:29, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Выглядит не очень убедительно. По одной ссылке просела скорость, а про размер ничего не говорится. По другой вырос размер, но скорость увеличилась. По третьей тоже вырос размер, но гораздо меньше. Логично предположить, что это нормальные флуктуации; у кого-то наверняка с clang стало лучше, но они, естественно, не идут на это жаловаться в багтрекер.
     
     
  • 6.32, Аноним (-), 20:15, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Мой опыт подтверждает, что Clang генерит код хуже, чем GCC. И по скорости, и по размеру. Итого, у меня есть мой опыт и 3 ссылки, а у вас только недоверие к моим ссылкам.

    У Мозиллы на Андроиде бинарник на 30% больше с Clang-ом, чем с GCC - это неубедительно? Ну ОК.

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

     
     
  • 7.33, Аноним (-), 21:06, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У нас комплексное приложение, которое требовательно по части производительности и по потреблению памяти (embedded). Так вот, ощутимой разницы между gcc и clang абсолютно никакой нет. Даже при программировании микроконтроллеров никто не задумывается о тестировании разных компиляторов (при реальной разработке), - берут то, что работает.

    Не могу представить, чем нужно заниматься, чтобы примерно +/-1% разницы играл роль, при том, что в общей сумме всей частей приложения скорее всего разница будет стремиться к нулю.

     
     
  • 8.41, Аноним (-), 13:41, 03/03/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Понятно, с этого надо было начинать - в отличие от конкретных пруфлинков мы не у... текст свёрнут, показать
     
     
  • 9.44, Аноним (-), 20:23, 03/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В этом все больные GPL-мозга Все им кажется что их это болезнь батенька ... текст свёрнут, показать
     
     
  • 10.46, Аноним (-), 04:28, 04/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Кто и кого вылечит - это мы еще будем посмотреть GPL изменил мир и не буду скры... текст свёрнут, показать
     
  • 9.47, Аноним (-), 10:39, 04/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Здесь есть люди, которые знакомы с математикой, статистикой и пределами Поэтому... текст свёрнут, показать
     
  • 2.4, Ne01eX (ok), 09:41, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не погаснет, я думаю. :-) В отличии от проприетарных продуктов, здесь есть полная возможность для развития (как плагина для Сlang, так и Fragma-С) силами сообщества. :-)
     
     
  • 3.27, sadasd (?), 16:33, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Силами сообщества можно развивать что-то небольшое, а такие крупные вещи как компилятор только сообществом не разовьешь. Вот и получается, что корпорасты забирают то что делает сообщество, а свое держат при себе. В том-же GCC вечно патчи то от Intel, то еще от кого появляются.
    Тот-же illumos сильно силами сообщества развивается?
     

  • 1.6, x0r (??), 10:14, 02/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Классная штука, но похоже задолбаешься собирать
     
     
  • 2.11, Ne01eX (ok), 11:03, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А под какой дистрибутив надо?
     
     
  • 3.13, x0r (??), 11:21, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    centos 6
     

  • 1.7, Вареник (?), 10:15, 02/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Успехов проекту!
     
  • 1.9, Аноним (-), 10:25, 02/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как оно в сравнении со scan-build?
     
     
  • 2.10, Ne01eX (ok), 10:40, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да вроде не делал никто таких сравнений. Ниша свободна, можете попробовать fragma-clang и отписаться по результатам.  Будьте первопроходцем. :-)
     
     
  • 3.18, Аноним (-), 13:06, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не, не буду. Вспомнил, что пробовал его безо всяких шлангов. Чтобы был толк, надо добавлять в код ACSL-аннотации, иначе вывалит кучу фолсов. То есть годится только при написании новых проектов с нуля, если готов заморочиться.
     

  • 1.14, Аноним (-), 11:24, 02/03/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    PVS-Studioкапец?
     
     
  • 2.16, leap42 (ok), 12:46, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ещё с момента появления

    cppcheck -q -x c --enable=all --suppress=missingIncludeSystem .

    прост у cppcheck отдел маркетинга послабее

     
     
  • 3.17, Анонис (?), 13:03, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    нету такой опции -x
     
     
  • 4.26, leap42 (ok), 15:52, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    --language=<language>, -x <language>
                             Forces cppcheck to check all files as the given

    cppcheck-1.80-1.fc26.x86_64

     
  • 3.19, Аноним (-), 13:08, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > прост у cppcheck отдел маркетинга послабее

    cppcheck — искючительно примитивный инструмент. Какие-то элементарные ошибки он вылавливает, конечно, но это совершенно не та весовая категория. Вот scan-build вполне может с пивасом потягаться.

     
     
  • 4.20, Аноним (-), 13:21, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    cppcheck умеет согласно Wikipedia (https://ru.wikipedia.org/wiki/Cppcheck)
    Проверяет выход за пределы.
    Обнаруживает утечки памяти.
    Обнаруживает возможное разыменовывание NULL-указателей.
    Обнаруживает неинициализированные переменные.
    Обнаруживает неправильное использование STL.
    Проверяет обработку исключительных ситуаций на безопасность.
    Находит устаревшие и неиспользуемые функции.
    Предупреждает о неиспользуемом или бесполезном коде.
    Находит подозрительные участки кода, которые могут содержать в себе ошибки.

    + можно писать модули расширения га ЛЮБЫЕ проверки

     
     
  • 5.21, Аноним (-), 13:38, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > согласно Wikipedia

    То есть на практике ты его применять не пробовал.

     
     
  • 6.22, Аноним (-), 13:52, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Прямо сейчас использую. Мои новичковые ошибки ловит.
     
     
  • 7.23, Аноним (-), 14:06, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Новичковые ловит, да. В хелловорлдах. Когда доходит до хитрой разветвлённой логики — ловит уже хуже.
    Я не к тому, что cppcheck не надо использовать. Польза от него есть. Но надо и понимать его ограниченность.
     
     
  • 8.34, Аноним (-), 21:14, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Используем на практике Каждый коммит автоматом проходит проверку Не проходит, ... текст свёрнут, показать
     
  • 3.35, Andrey_Karpov (ok), 22:15, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://habrahabr.ru/company/pvs-studio/blog/346128/

    Удачи с Cppcheck... :)

     
  • 2.36, Andrey_Karpov (ok), 22:19, 02/03/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > PVS-Studioкапец?

    Ой. Я такие вопросы уже много лет слушу... :) Не бойтесь, мы очень быстро разиваем анализатор. Вот сейчас в процессе символьные вычисления, поддержка Java, учимся искать уязвимости ( https://www.viva64.com/ru/w/v1010/ ).

     
     
  • 3.38, Андрей (??), 03:02, 03/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > PVS-Studioкапец?

    Не люблю я подобных фраз. А вот если бы как у frama удалось бы стать open & free software с возможностью коммерческой поддержки - тогда бы точно цены не было!

     
     
  • 4.42, Аноним (-), 13:45, 03/03/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Не люблю я подобных фраз. А вот если бы как у frama
    > удалось бы стать open & free software с возможностью коммерческой поддержки
    > - тогда бы точно цены не было!

    Они отстали лет на цать. Кейл они блин поддержали и IAR :). Самые кривые да еще и платные компилеры. Вообще не понимаю зачем ими пользоваться когда gcc есть. Он бесплатный и код генерит очень даже.

     

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



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

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