RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2024, том 36, выпуск 4, страницы 27–40 (Mi tisp906)

Эта публикация цитируется в 1 статье

Разработка безопасного компилятора на основе Clang

П. Д. Дунаевa, А. А. Синкевичab, А. М. Гранатac, И. А. Батраеваb, С. В. Мироновb, Н. Ю. Шугалейad

a Институт системного программирования РАН
b Саратовский государственный университет имени Н.Г. Чернышевского
c Высшая школа экономики
d Московский физико-технический институт (национальный исследовательский университет)

Аннотация: В связи с использованием современными компиляторами C/C++ агрессивных оптимизаций, эксплуатирующих неопределённое поведение, существует потребность в безопасном компиляторе, который не проводит подобные оптимизации, а также предотвращает использование разработчиком небезопасных конструкций. В ИСП РАН был реализован безопасный компилятор на основе GCC, однако часть разработчиков предпочитает GCC Clang, который не лишён проблемы эксплуатации неопределённого поведения. В этой работе рассматриваются возможности Clang по осуществлению безопасной компиляции и описывается реализация безопасного компилятора на его основе. Для созданного безопасного компилятора показывается применимость на практике и оценивается влияние на производительность программ.

Ключевые слова: компилятор; уязвимость; неопределенное поведение; Clang; LLVM; C; C++.

DOI: 10.15514/ISPRAS-2024-36(4)-3



© МИАН, 2026