CompCert | |
---|---|
Tyyppi | Kääntäjä |
Tekijä | Xavier Leroy , INRIA |
Sisään kirjoitettu | Caml _ _ |
Ensimmäinen painos | 3. huhtikuuta 2008 |
Laitteistoalusta | Monialustainen ohjelmisto |
uusin versio |
|
Lisenssi | ilmainen ei-kaupalliseen käyttöön [1] ; kaupalliset lisenssit AbsInt:ltä |
Verkkosivusto | compcert.inria.fr |
CompCert on projekti, jolla luodaan virallisesti varmennettuja kääntäjiä. Projekti kehitti CompCert C -kääntäjän C - kielelle (ISO C90 / ANSI C -standardit pienin rajoituksin ja erillisillä laajennuksilla, jotka ovat inspiroituneet myöhemmistä standardeista), ja Coq -varmennusjärjestelmä oli täysin kirjoitettu ja esitelty . Pääkehittäjä on Xavier Leroy . Tällä kääntäjällä on konetarkistus, että luotu koodi käyttäytyy samalla tavalla kuin lähdekoodi. Kääntäjän avulla voit luoda konekoodia PowerPC- , ARM- ja x86 - suoritinarkkitehtuureille .
Koska kääntäjät ovat erittäin monimutkaisia ohjelmistoja, ne kärsivät usein monista virheistä [3] . He eivät esimerkiksi voi luoda koodia, joka vastaa lähdekoodia. Nämä virheet voivat johtaa erittäin vakaviin seurauksiin kriittisillä alueilla. Näin ollen CompCertin tavoitteena on luoda muodollisesti varmennettu kääntäjä, jolla on matemaattiset takuut.
CompCertin luoma koodi on noin kaksi kertaa nopeampi kuin ilman optimointia luotu GCC ja hieman hitaampi kuin korkeammalla optimointitasolla luotu koodi. [neljä]