CompCert is a
formally verified optimizing
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
for a large subset of the
C99 programming language (known as Clight) which currently targets
PowerPC
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
,
ARM
In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
,
RISC-V
RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on estab ...
,
x86
x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introd ...
and
x86-64
x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mod ...
architectures. This project, led by
Xavier Leroy
Xavier or Xabier may refer to:
Place
* Xavier, Spain
People
* Xavier (surname)
* Xavier (given name)
* Francis Xavier (1506–1552), Catholic saint
** St. Francis Xavier (disambiguation)
* St. Xavier (disambiguation)
* Xavier (footballer, born ...
, started officially in 2005, funded by the French institutes
ANR
People
* Akkineni Nageswara Rao, Great Telugu film actor.
Places
* Akkineni Nageswara Rao College, sometimes called ANR College
* Antwerp International Airport (IATA code)
Entities
* Agence nationale de la recherche, a French funding agency f ...
and
INRIA
The National Institute for Research in Digital Science and Technology (Inria) () is a French national research institution focusing on computer science and applied mathematics.
It was created under the name ''Institut de recherche en informatiq ...
. The compiler is specified, programmed and proven in
Coq
Coq is an interactive theorem prover first released in 1989. It allows for expressing mathematical assertions, mechanically checks proofs of these assertions, helps find formal proofs, and extracts a certified program from the constructive proof ...
. It aims to be used for programming
embedded systems requiring reliability. The performance of its generated code is often close to that of
GCC (version 3) at optimization level -O1, and always better than that of GCC without optimizations.
Since 2015
AbsInt
AbsInt is a software-development tools vendor based in Saarbrücken, Germany. The company was founded in 1998 as a technology spin-off from the Department of Programming Languages and Compiler Construction of Prof. Reinhard Wilhelm at Saarland U ...
offers commercial licenses,
provides support and maintenance, and contributes to the advancement of the tool. CompCert is released under a noncommercial license, and is therefore not
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
, although some of its source files are
dual-licensed with the
GNU Lesser General Public License
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
version 2.1 or later or are available under the terms of other licenses.
For the development of CompCert, the first practically useful optimizing compiler targeting multiple commercial architectures that has a complete, mechanically checked proof of its correctness,
Xavier Leroy
Xavier or Xabier may refer to:
Place
* Xavier, Spain
People
* Xavier (surname)
* Xavier (given name)
* Francis Xavier (1506–1552), Catholic saint
** St. Francis Xavier (disambiguation)
* St. Xavier (disambiguation)
* Xavier (footballer, born ...
and the development team of CompCert received the 2021
ACM Software System Award
The ACM Software System Award is an annual award that honors people or an organization "for developing a software system that has had a lasting influence, reflected in contributions to concepts, in commercial acceptance, or both". It is awarded b ...
.
References
External links
*
*
Formal verification of a realistic compilerSoftware System Award — ACM Awards
{{software-stub
Compilers
Formal methods
Logic in computer science