X-Git-Url: https://git.ralfj.de/web.git/blobdiff_plain/056628b7faa389c254d7f5d3c77ee9412a0a6c41..4b32c2643ee1b60a8ef331949fc9f7cdd06b50c6:/research/thesis.html?ds=sidebyside diff --git a/research/thesis.html b/research/thesis.html index ef9badd..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> @@ -12,7 +17,11 @@ 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> <p style="color:red"> -This thesis has received the <a href="https://etaps.org/2021/doctoral-dissertation-award" style="color:red;font-weight:bold;">2021 ETAPS Doctoral Dissertation Award</a>. +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>