|
Проверка программ на соответствие стандарту MISRA C с использованием инфраструктуры Clang
Р. А. Бучацкийa, Я. А. Чуркинba, К. А. Чибисовa, М. В. Пантилимоновa, Е. В. Долгодворовac, А. В. Вязовцевac, А. Г. Волоховa, В. В. Труновac, Г. О. Миракянd, К. Н. Китаевac, А. А. Белеванцевba a Институт системного программирования им. В.П. Иванникова РАН
b Московский государственный университет имени М. В. Ломоносова
c Московский физико-технический институт
d Российско-Армянский университет
Аннотация:
MISRA C – это сборник правил и рекомендаций по программированию на языке C, который является фактическим стандартом в отраслях, где безопасность играет ключевую роль. Стандарт разработан консорциумом MISRA (Motor Industry Software Reliability Association) и включает в себя набор рекомендаций, которые позволяют использовать язык C для разработки безопасного, надежного и переносимого программного обеспечения. MISRA широко применяется во многих отраслях с высокими требованиями к надежности, включая аэрокосмическую, оборонную, автомобильную и медицинскую.
Мы разработали статические детекторы для проверки кода на соответствие рекомендациям стандарта безопасного кодирования MISRA C 2012. Средство проверки кода основано на компиляторной инфраструктуре LLVM/clang. В данной статье описываются стратегии, лежащие в основе проектирования и реализации детекторов. На тестовых примерах MISRA С предложенные детекторы с высокой точностью определяют соответствие или нарушение рекомендациям. Также детекторы показывают большее покрытие и лучшую скорость работы, чем Cppcheck, популярный статический анализатор с открытым исходным кодом.
Ключевые слова:
MISRA, статический анализ, символьное выполнение, LLVM, Clang, Clang-Tidy, статический анализатор Clang
Образец цитирования:
Р. А. Бучацкий, Я. А. Чуркин, К. А. Чибисов, М. В. Пантилимонов, Е. В. Долгодворов, А. В. Вязовцев, А. Г. Волохов, В. В. Трунов, Г. О. Миракян, К. Н. Китаев, А. А. Белеванцев, “Проверка программ на соответствие стандарту MISRA C с использованием инфраструктуры Clang”, Труды ИСП РАН, 35:5 (2023), 169–192
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp822 https://www.mathnet.ru/rus/tisp/v35/i5/p169
|
Статистика просмотров: |
Страница аннотации: | 17 | PDF полного текста: | 31 |
|