|
Разработка безопасного компилятора на основе Clang
П. Д. Дунаевa, А. А. Синкевичab, А. М. Гранатac, И. А. Батраеваb, С. В. Мироновb, Н. Ю. Шугалейad a Институт системного программирования РАН
b Саратовский государственный университет имени Н.Г. Чернышевского
c Высшая школа экономики
d Московский физико-технический институт (национальный исследовательский университет)
Аннотация:
В связи с использованием современными компиляторами C/C++ агрессивных оптимизаций, эксплуатирующих неопределённое поведение, существует потребность в безопасном компиляторе, который не проводит подобные оптимизации, а также предотвращает использование разработчиком небезопасных конструкций. В ИСП РАН был реализован безопасный компилятор на основе GCC, однако часть разработчиков предпочитает GCC Clang, который не лишён проблемы эксплуатации неопределённого поведения. В этой работе рассматриваются возможности Clang по осуществлению безопасной компиляции и описывается реализация безопасного компилятора на его основе. Для созданного безопасного компилятора показывается применимость на практике и оценивается влияние на производительность программ.
Ключевые слова:
компилятор; уязвимость; неопределенное поведение; Clang; LLVM; C; C++.
Образец цитирования:
П. Д. Дунаев, А. А. Синкевич, А. М. Гранат, И. А. Батраева, С. В. Миронов, Н. Ю. Шугалей, “Разработка безопасного компилятора на основе Clang”, Труды ИСП РАН, 36:4 (2024), 27–40
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp906 https://www.mathnet.ru/rus/tisp/v36/i4/p27
|
|