Pull to refresh

Comments 6

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

Вопрос, чуть отходит от темы, но я когда то хотел генерировать html отчёты из warning-ов clang. Потому что scan-build выдавал только несколько ошибок а ещё были интересные предупреждения при компиляции, как их тоже в html отчёт вывести? С этими опциями запуска clang так и не разобрался в чем отличия.

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

А можно узнать что конкретно Python не мог делать из того что требовалось для чекера?
В своём коде я использую встроенные функции обхода по AST, и виртуальные классы для проверки состояния например перед заходом в функцию или после использования выражения. Из python биндингов, насколько я понимаю, этого не сделать.
Ну и для меня приятным бонусом было, что на C++ много примеров работы с CSA.
Sign up to leave a comment.