summaryrefslogtreecommitdiffstats
path: root/content/zettel/3a.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/zettel/3a.md')
-rw-r--r--content/zettel/3a.md36
1 files changed, 36 insertions, 0 deletions
diff --git a/content/zettel/3a.md b/content/zettel/3a.md
new file mode 100644
index 0000000..90c33ec
--- /dev/null
+++ b/content/zettel/3a.md
@@ -0,0 +1,36 @@
++++
+title = "CompCert "
+date = "2020-12-10"
+author = "Yann Herklotz"
+tags = []
+categories = []
+backlinks = ["3b6", "1f2a", "1d1", "1b2"]
+forwardlinks = ["3a4", "3b", "3a1"]
+zettelid = "3a"
++++
+
+CompCert \[1\] is a formally verified C compiler, meaning it has been
+proven to always generate machine code that behaves in the same way as
+the original C code. It therefore cannot have any bugs, as every
+translation step has a proof that it is correct. This proof is encoded
+in a theorem prover called Coq, and unlike many other proofs, the
+compiler itself is also written in Coq, so the proof corresponds
+directly to the algorithms. The proofs that are performed in the
+compiler are described in ([\#3a4]).
+
+<div id="refs" class="references csl-bib-body" markdown="1">
+
+<div id="ref-leroy09_formal_verif_realis_compil" class="csl-entry"
+markdown="1">
+
+<span class="csl-left-margin">\[1\]
+</span><span class="csl-right-inline">X. Leroy, “Formal verification of
+a realistic compiler,” *Commun. ACM*, vol. 52, no. 7, pp. 107–115, Jul.
+2009, doi: [10.1145/1538788.1538814].</span>
+
+</div>
+
+</div>
+
+ [\#3a4]: /zettel/3a4
+ [10.1145/1538788.1538814]: https://doi.org/10.1145/1538788.1538814