CompCert
CompCert — проект по созданию формально верифицированных компиляторов.
Общие сведения
| CompCert | |
|---|---|
| Тип | Компилятор |
| Разработчики | Ксавье Леруа, Сандрин Блази, INRIA |
| Написана на | OCaml, Rocq |
| Интерфейс | командная строка (ccomp) |
| Операционная система | мультиплатформенный |
| Первый выпуск | 3 апреля 2008 |
| Последняя версия |
|
| Репозиторий | github.com/AbsInt/CompCe… |
| Лицензия | INRIA Non-Commercial License Agreement |
| Сайт | compcert.org/comp… (англ.) |
Продукция
Раззработка
Ведущий разработчик проекта — Ксавье Леруа. В проекте также активно участвуют Сандрин Блази, Зайна Дарге, Жак-Анри Журдан, Михаэль Шмидт, Бернард Шоммер и Жан-Батист Тристан.
Для этого компилятора машинно доказано, что сгенерированный им код ведёт себя так же, как исходный исходный код. CompCert способен генерировать машинный код для процессорных архитектур PowerPC, ARM, RISC-V, x86 и x86-64.
Мотивация
Компиляторы относятся к весьма сложному программному обеспечению и часто содержат множество ошибок[3]. Например, компилятор может сгенерировать код, не соответствующий исходному. Такие ошибки могут иметь серьёзные последствия в критически важных областях. Поэтому задача CompCert состоит в создании формально верифицированного компилятора с математической гарантией корректности.
Производительность
Награды
CompCert был отмечен наградой Ассоциации вычислительной техники — премией Software System в 2021 году[5].