17 января 2024 года Syrmia (занимается разработкой встроенного ПО) представила Autocheck (free C/C++ code checker for Automotive). Это открытый проект парсера на базе LLVM/Clang для проверки кода C и C++ на предмет оценки его пригодности для работы внутри транспортных механизмов (автомобилей и прочего) и других критически важных для безопасности технических сред в рамках соответствия требованиям стандарта AUTOSAR (AUTOmotive Open System ARchitecture) C++14.
Исходные коды проекта Autocheck выложены на GitHub под лицензией Apache License 2.0.
Также Autocheck доступен в качестве плагина для VSCode. В этом случае Autocheck отображает нарушения правил AUTOSAR C++ в режиме реального времени по мере того, как пользователь вводит код. Каждое нарушение выделяется в редакторе, а сообщение о нарушенном правиле отображается при наведении курсора на код, а также на панели Problems.
За прошедшие годы мы в Syrmia выявили распространённые запросы наших партнёров о проверке их кода на соответствие автомобильным стандартам. Автомобильная промышленность быстро меняется, и мы считаем, что такие стандарты, как AUTOSAR C++, заслуживают бесплатной проверки кода, поэтому любой, кто хочет проверить свой код на соответствие автомобильному стандарту, может сделать это легко.
По этой причине мы запустили проект под названием Autocheck. Он бесплатен и является результатом наших внутренних усилий по созданию хорошего и актуального инструмента для анализа исходного кода. Теперь вы можете использовать его сами, а при желании также можете принять участие. В конце концов, если сделать инструмент ещё лучше, это принесёт пользу всем, кто его использует.
Autocheck реализован с использованием Clang API. Основная цель — проверить ваше программное обеспечение на соответствие автомобильному стандарту AUTOSAR. Стандарт содержит набор рекомендаций по использованию языка C++ в критически важных системах и системах, связанных с безопасностью, и его цель — повысить безопасность, надёжность и качество программного обеспечения.
Мы рассмотрели большинство правил (используя уже существующую поддержку в Clang/LLVM), которые применимы к текущему стандарту AUTOSAR, но не все, и мы надеемся продолжать добавлять новые правила. Кроме того, недавно был опубликован новый стандарт, поэтому мы могли бы сосредоточиться на его освещении и в будущем.
Мы предлагаем вам посетить наш репозиторий на GitHub, попробовать Autocheck, и если вам это нравится, не стесняйтесь сказать об этом. И пока мы все не достигнем 5-го уровня SAE по автономному вождению, не садитесь за руль в нетрезвом виде, какими бы хорошими ни были ваши инструменты анализа»,
— пояснили разработчики проекта.
Источник: habr.com