Комментарии 25
Даа, грустно! Ведь mbedOS вроде как юзает asan clang'овский, на гитхабе хостятся и всякие другие модные слова употребляют. И на С++ пишут, а не на С.
Но нет, все равно malloc, а не new хотя бы, никаких умных контейнеров, и опять memset вместо std::fill. Фу.
Единственное, что из статьи не ясно — в чем же именно заключается поддержка GNU Arm Embedded? Я несколько лет назад проверял, что PVS-Studio сходу умеет работать с arm gcc — в конце концов, это ведь просто gcc.
Видимо, теперь учитывается какая-то специфика, но как раз про это в статье не написано.
Но нет, все равно malloc, а не new хотя бы, никаких умных контейнеров, и опять memset вместо std::fill. Фу.
Единственное, что из статьи не ясно — в чем же именно заключается поддержка GNU Arm Embedded? Я несколько лет назад проверял, что PVS-Studio сходу умеет работать с arm gcc — в конце концов, это ведь просто gcc.
Видимо, теперь учитывается какая-то специфика, но как раз про это в статье не написано.
В ядре у них полно C, так что насчет malloc ничего удивительного.
А насчет поддержки, фронтенд там целиком от gcc, так что в этом плане практически без изменений. Мы теперь правильно отличаем обычный gcc от того, который для ARM, и учитываем некоторые специфичные для платформы вещи. Плюс мы теперь под всеми системами автоматически его находим и правильно проставляем все настройки для анализа.
А насчет поддержки, фронтенд там целиком от gcc, так что в этом плане практически без изменений. Мы теперь правильно отличаем обычный gcc от того, который для ARM, и учитываем некоторые специфичные для платформы вещи. Плюс мы теперь под всеми системами автоматически его находим и правильно проставляем все настройки для анализа.
В ядре у них полно C, так что насчет malloc ничего удивительного.
Непонятно только зачем у них там С вообще. Но это к ним вопрос, не к вам :)
учитываем некоторые специфичные для платформы вещи
А вот тут хотелось бы поподробнее!
1) А планируется ли поддержка bare metal или других операционных сред?
2) Выработаны ли диагностики гонки, связанные с моделью памяти на ARM, которая существенно отличается от x86?
2) Выработаны ли диагностики гонки, связанные с моделью памяти на ARM, которая существенно отличается от x86?
1) А планируется ли поддержка bare metal или других операционных сред?Embedded — очень широкое направление. В приоритете пока поддержка чего-нибудь максимально популярного среди разработчиков и где работа препроцессора не сильно отличается от поддерживаемых нами компиляторов.
2) Выработаны ли диагностики гонки, связанные с моделью памяти на ARM, которая существенно отличается от x86?Эта задача полноценно не решается статическим анализом, поэтому ничего нового мы не делали. А существующих диагностик на эту тему совсем не много.
Можно было бы проверить FreeRTOS как одну из самых распространенных открытые ОСРВ для встроенки.
А ещё vxWorks
ага, или ещё код сгенерированный с помощью CubeMX
респект ребята)) очень круто!
Как насчет линаровского тулчейна? www.linaro.org/downloads
Здесь следовало бы либо вызвать delete, либо хотя бы отдать хранящийся в переменной interface адрес наружу в любом случае, чтобы об этом мог позаботиться вызывающий код
а ещё лучше — std::unique_ptr::release
И, да, ребята, категорически умоляю, прячьте объяснения под кат, а то совсем неинтересно становится читать
Здравствуйте, можете по подробнее рассказать про связку PVS-Studio и Keil Embedded Development. Каким образом происходит взаимодействие: имеется некая интеграция в среду разработки или через внешний скрипт?
Добрый день.
Для проверки Keil-проектов у нас пока нет интеграции в среды разработки (uVision/Eclipse), поэтому анализ возможен только с помощью прямой интеграции в скрипты сборки или с использованием режимов мониторинга сборки (для Windows и Linux).
Вы можете запросить на сайте временный ключ для проверки своего проекта. Задать вопросы вы можете через форму обратной связи, или обменяться почтой через ЛС Хабра для продолжения общения.
Для проверки Keil-проектов у нас пока нет интеграции в среды разработки (uVision/Eclipse), поэтому анализ возможен только с помощью прямой интеграции в скрипты сборки или с использованием режимов мониторинга сборки (для Windows и Linux).
Вы можете запросить на сайте временный ключ для проверки своего проекта. Задать вопросы вы можете через форму обратной связи, или обменяться почтой через ЛС Хабра для продолжения общения.
Было бы интересно посмотреть на результат проверки RiotOS.
Присылайте проект в наш Check List на GitHub, откуда мы берём проекты для анализа.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Информация
- Сайт
- pvs-studio.ru
- Дата регистрации
- Дата основания
- 2008
- Численность
- 51–100 человек
- Местоположение
- Россия
- Представитель
- Андрей Карпов
В PVS-Studio появилась поддержка GNU Arm Embedded Toolchain