add link to more background on UnsafeCell
[web.git] / research / thesis.html
index ecf170b0f842a9da090aa9bbbc9ddfa33171c873..89f73286a99f4ba2b11a3280e282e31ba8e397d8 100644 (file)
@@ -3,6 +3,11 @@ title: Understanding and Evolving the Rust Programming Language
 slug: Thesis
 ---
 
+<i>PhD Thesis, Defended in August 2020</i>
+
+
+<h3>Abstract</h3>
+
 <p><em>Rust</em> is a young systems programming language that aims to fill the gap between <em>high-level languages</em>—which provide strong static guarantees like memory and thread safety—and <em>low-level languages</em>—which give the programmer fine-grained control over data layout and memory management. This dissertation presents two projects establishing the first formal foundations for Rust, enabling us to better <em>understand</em> and <em>evolve</em> this important language: <em>RustBelt</em> and <em>Stacked Borrows</em>.</p>
 
 <p><em>RustBelt</em> is a formal model of Rust’s type system, together with a soundness proof establishing memory and thread safety. The model is designed to verify the safety of a number of intricate APIs from the Rust standard library, despite the fact that the implementations of these APIs use <em>unsafe</em> language features.</p>
@@ -11,9 +16,18 @@ slug: Thesis
 
 <p>RustBelt is built on top of <em>Iris</em>, a language-agnostic framework, implemented in the Coq proof assistant, for building higher-order concurrent separation logics. This dissertation begins by giving an introduction to Iris, and explaining how Iris enables the derivation of complex high-level reasoning principles from a few simple ingredients. In RustBelt, this technique is exploited crucially to introduce the <em>lifetime logic</em>, which provides a novel separation-logic account of <em>borrowing</em>, a key distinguishing feature of the Rust type system.</p>
 
-<h3>Download</h3>
+<p style="font-weight:bold">
+This thesis has received an <a href="https://awards.acm.org/about/2020-doctoral-dissertation" style="font-weight:bold;">Honorable Mention for the ACM Doctoral Dissertation Award</a>,
+the <a href="https://sigplan.org/Awards/Dissertation/#2021_Ralf_Jung__Max_Planck_Institute_for_Software_Systems_and_Saarland_University" style="font-weight:bold;">ACM SIGPLAN John C. Reynolds Doctoral Dissertation Award</a> (as one of two recipients),
+an <a href="https://www.mpg.de/prizes/otto-hahn-medal" style="font-weight:bold;">Otto Hahn Medal</a>,
+the <a href="https://etaps.org/2021/doctoral-dissertation-award" style="font-weight:bold;">ETAPS Doctoral Dissertation Award</a>,
+and the Saarland University <a href="https://www.uni-saarland.de/universitaet/aktuell/news/artikel/nr/24072.html" style="font-weight:bold;">Dr. Eduard Martin-Preis</a>.
+</p>
+
+<h3>Download and references</h3>
 
 <ul>
-<li><a href="phd/thesis-screen.pdf">Screen-optimized version (PDF)</a></li>
-<li><a href="phd/thesis-print.pdf">Print-optimized version (PDF)</a></li>
+<li><a href="phd/thesis-screen.pdf">Screen-optimized version (PDF)</a> (updated 2020-12-08)</li>
+<li><a href="phd/thesis-print.pdf">Print-optimized version (PDF)</a> (official final version)</li>
+<li>DOI: <a href="http://dx.doi.org/10.22028/D291-31946">10.22028/D291-31946</a></li>
 </ul>