X-Git-Url: https://git.ralfj.de/web.git/blobdiff_plain/70ca154a79cb81fa50b9790d87357f0a946f1ccf..0b781ce69bd72f63239d9a5edd1ce2281bc28e21:/research/thesis.html diff --git a/research/thesis.html b/research/thesis.html index 29ca075..5efaad2 100644 --- a/research/thesis.html +++ b/research/thesis.html @@ -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="color:red"> +This thesis has received an <a href="https://awards.acm.org/about/2020-doctoral-dissertation" style="color:red;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="color:red;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="color:red;font-weight:bold;">Otto Hahn Medal</a>, +the <a href="https://etaps.org/2021/doctoral-dissertation-award" style="color:red;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="color:red;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> -</p> +<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>