]> git.ralfj.de Git - web.git/blob - research/publications.html
add Completeness paper
[web.git] / research / publications.html
1 ---
2 title: Publications
3 slug: Publications
4 ---
5
6 <h2>Conference and journal papers</h2>
7
8 <h3>2026</h3>
9
10 <ul><li>
11   <b>Completeness of Iris-Based Program Logics</b><br>
12   Johannes Hostert, Zichen Zhang, Puming Liu, Simon Oddershede Gregersen, Ralf Jung, Joseph Tassarotti<br>
13   <i>In <a href="https://icfp26.sigplan.org/">ICFP 2026</a></i><br>
14   [<a href="https://iris-project.org/pdfs/2026-icfp-completeness.pdf">paper</a>] [<a href="https://plf.inf.ethz.ch/research/icfp26-completeness.html">paper website</a>]
15 </li></ul>
16
17 <ul><li>
18   <b>Miri: Practical Undefined Behavior Detection for Rust</b><br>
19   Ralf Jung, Benjamin Kimock, Christian Poveda, Eduardo Sánchez Muñoz, Oli Scherer, Qian Wang<br>
20   <i>In <a href="https://popl26.sigplan.org/">POPL 2026</a></i><br>
21   [<a href="papers/2026-popl-miri.pdf">paper</a>] [<a href="https://plf.inf.ethz.ch/research/popl26-miri.html">paper website</a>] [<a href="https://www.youtube.com/watch?v=9A8ZeDIStAs">conference talk</a>]
22 </li></ul>
23
24 <h3>2025</h3>
25
26 <ul><li>
27   <b>Tree Borrows</b><br>
28   Neven Villani, Johannes Hostert, Derek Dreyer, Ralf Jung<br>
29   <i>In <a href="https://pldi25.sigplan.org/">PLDI 2025</a>, <b>Distinguished Paper Award</b></i><br>
30   [<a href="papers/2025-pldi-tree-borrows.pdf">paper</a>] [<a href="https://plf.inf.ethz.ch/research/pldi25-tree-borrows.html">paper website</a>] [<a href="https://www.youtube.com/watch?v=CJi_Fcs4bak">conference talk</a>]
31 </li></ul>
32
33 <ul><li>
34   <b>Program Logics à la Carte</b><br>
35   Max Vistrup, Michael Sammler, Ralf Jung<br>
36   <i>In <a href="https://popl25.sigplan.org/">POPL 2025</a></i><br>
37   [<a href="papers/2025-popl-itree-program-logic.pdf">paper</a>] [<a href="https://plf.inf.ethz.ch/research/popl25-itree-program-logic.html">paper website</a>] [<a href="https://www.youtube.com/watch?v=w_hpI4wz76g">conference talk</a>]
38 </li></ul>
39
40 <h3>2024</h3>
41
42 <ul><li>
43   <b>Rustlantis: Randomized Differential Testing of the Rust Compiler</b><br>
44   Qian Wang, Ralf Jung<br>
45   <i>In <a href="https://2024.splashcon.org/">OOPSLA 2024</a></i><br>
46   [<a href="papers/2024-oopsla-rustlantis.pdf">paper</a>] [<a href="https://plf.inf.ethz.ch/research/oopsla24-rustlantis.html">paper website</a>] [<a href="https://www.youtube.com/watch?v=0jqI8M1xzj4&pp=ygVAUnVzdGxhbnRpczogUmFuZG9taXplZCBEaWZmZXJlbnRpYWwgVGVzdGluZyBvZiB0aGUgUnVzdCBDb21waWxlcg%3D%3D">conference talk</a>]
47 </li></ul>
48
49 <ul><li>
50   <b>RefinedRust: A Type System for High-Assurance Verification of Rust Programs</b><br>
51   Lennard Gäher, Michael Sammler, Ralf Jung, Robbert Krebbers, Derek Dreyer<br>
52   <i>In <a href="https://pldi24.sigplan.org/">PLDI 2024</a></i><br>
53   [<a href="https://iris-project.org/pdfs/2024-pldi-refinedrust.pdf">paper</a>] [<a href="https://plv.mpi-sws.org/refinedrust/">paper website</a>] [<a href="https://www.youtube.com/watch?v=WP4s6w6ZxyU">conference talk</a>]
54 </li></ul>
55
56 <h3>2023</h3>
57
58 <ul><li>
59   <b>Grove: a Separation-Logic Library for Verifying Distributed Systems</b><br>
60   Upamanyu Sharma, Ralf Jung, Joseph Tassarotti, M. Frans Kaashoek, Nickolai Zeldovich <br>
61   <i>In <a href="https://sosp2023.mpi-sws.org/index.html">SOSP 2023</a></i><br>
62   [<a href="https://iris-project.org/pdfs/2023-sosp-grove.pdf">paper</a>] [<a href="https://arxiv.org/abs/2309.03046">extended version</a>]
63 </li></ul>
64
65 <ul><li>
66   <b>Verifying vMVCC, a high-performance transaction library using multi-version concurrency control</b><br>
67   Yun-Sheng Chang, Ralf Jung, Upamanyu Sharma, Joseph Tassarotti, M. Frans Kaashoek, Nickolai Zeldovich <br>
68   <i>In <a href="https://www.usenix.org/conference/osdi23">OSDI 2023</a></i><br>
69   [<a href="https://pdos.csail.mit.edu/papers/vmvcc:osdi23.pdf">paper</a>] [<a href="https://pdos.csail.mit.edu/projects/vmvcc.html#vmvcc">paper website</a>]
70 </li></ul>
71
72 <h3>2022</h3>
73
74 <ul><li>
75   <b>Later Credits: Resourceful Reasoning for the Later Modality</b><br>
76   Simon Spies, Lennard Gäher, Joseph Tassarotti, Ralf Jung, Robbert Krebbers, Lars Birkedal, Derek Dreyer <br>
77   <i>In <a href="https://icfp22.sigplan.org/">ICFP 2022</a></i><br>
78   [<a href="https://plv.mpi-sws.org/later-credits/paper-later-credits.pdf">paper</a>] [<a href="https://plv.mpi-sws.org/later-credits/">paper website</a>]
79 </li></ul>
80
81 <ul><li>
82   <b>Simuliris: A separation logic framework for verifying concurrent program optimizations</b><br>
83   Lennard Gäher, Michael Sammler, Simon Spies, Ralf Jung, Hoang-Hai Dang, Robbert Krebbers, Jeehoon Kang, Derek Dreyer<br>
84   <i>In <a href="https://popl22.sigplan.org/">POPL 2022</a>, <b>Distinguished Paper Award</b></i><br>
85   [<a href="https://iris-project.org/pdfs/2022-popl-simuliris.pdf">paper</a>]
86 </li></ul>
87
88 <h3>2021</h3>
89
90 <ul><li>
91   <b>GhostCell: Separating Permissions from Data in Rust</b><br>
92   Joshua Yanovski, Hoang-Hai Dang, Ralf Jung, Derek Dreyer<br>
93   <i>In <a href="https://icfp21.sigplan.org/">ICFP 2021</a></i><br>
94   [<a href="https://plv.mpi-sws.org/rustbelt/ghostcell/paper.pdf">paper</a>] [<a href="https://plv.mpi-sws.org/rustbelt/ghostcell/">paper website</a>]
95 </li></ul>
96
97 <ul><li>
98   <b>GoJournal: a verified, concurrent, crash-safe journaling system</b><br>
99   Tej Chajed, Joseph Tassarotti, Mark Theng, Ralf Jung, M. Frans Kaashoek, Nickolai Zeldovich<br>
100   <i>In <a href="https://www.usenix.org/conference/osdi21">OSDI 2021</a></i><br>
101   [<a href="papers/2021-osdi-gojournal.pdf">paper</a>]
102 </li></ul>
103
104 <ul><li>
105   <b>Safe Systems Programming in Rust: The Promise and the Challenge</b><br>
106   Ralf Jung, Jacques-Henri Jourdan, Robbert Krebbers, Derek Dreyer<br>
107   <i>In Communications of the ACM (CACM)</i><br>
108   [<a href="https://cacm.acm.org/magazines/2021/4/251364-safe-systems-programming-in-rust/fulltext">article</a>]
109   [<a href="https://iris-project.org/pdfs/2021-rustbelt-cacm-final.pdf">pdf</a>]
110   [<a href="https://vimeo.com/514402648">video</a>]
111 </li></ul>
112
113 <h3>2020</h3>
114
115 <ul><li>
116   <b>The Future is Ours: Prophecy Variables in Separation Logic</b><br>
117   Ralf Jung, Rodolphe Lepigre, Gaurav Parthasarathy, Marianna Rapoport, Amin Timany, Derek Dreyer, Bart Jacobs<br>
118   <i>In <a href="https://popl20.sigplan.org/">POPL 2020</a></i><br>
119   [<a href="https://plv.mpi-sws.org/prophecies/paper.pdf">paper</a>] [<a href="https://plv.mpi-sws.org/prophecies/">paper website</a>]
120 </li></ul>
121
122 <ul><li>
123   <b>Stacked Borrows: An Aliasing Model for Rust</b><br>
124   Ralf Jung, Hoang-Hai Dang, Jeehoon Kang, Derek Dreyer<br>
125   <i>In <a href="https://popl20.sigplan.org/">POPL 2020</a></i><br>
126   [<a href="https://plv.mpi-sws.org/rustbelt/stacked-borrows/paper.pdf">paper</a>] [<a href="https://plv.mpi-sws.org/rustbelt/stacked-borrows/">paper website</a>]
127 </li></ul>
128
129 <h3>2018</h3>
130
131 <ul><li>
132   <b>Iris from the Ground Up: A Modular Foundation for Higher-Order Concurrent Separation Logic</b><br>
133   Ralf Jung, Robbert Krebbers, Jacques-Henri Jourdan, Aleš Bizjak, Lars Birkedal, Derek Dreyer<br>
134   <i>In <a href="https://www.cambridge.org/core/journals/journal-of-functional-programming/issue/832F8756D0A835287494117BF9ED5E74">Journal of Functional Programming (JFP), Volume 28, e20, November 2018</a></i><br>
135   [<a href="https://www.mpi-sws.org/~dreyer/papers/iris-ground-up/paper.pdf">paper</a>] [<a href="https://iris-project.org">project website</a>]
136 </li></ul>
137
138 <ul><li>
139   <b>Reconciling High-Level Optimizations and Low-Level Code in LLVM</b><br>
140   Juneyoung Lee, Chung-Kil Hur, Ralf Jung, Zhengyang Liu, John Regehr, Nuno P. Lopes<br>
141   <i>In <a href="https://conf.researchr.org/track/splash-2018/splash-2018-OOPSLA">OOPSLA 2018</a></i><br>
142   [<a href="papers/2018-oopsla-twinsem.pdf">paper</a>] [<a href="https://sf.snu.ac.kr/llvmtwin/">paper website</a>]
143 </li></ul>
144
145 <ul><li>
146   <b>MoSeL: A General, Extensible Modal Framework for Interactive Proofs in Separation Logic</b><br>
147   Robbert Krebbers, Jacques-Henri Jourdan, Ralf Jung, Joseph Tassarotti, Jan-Oliver Kaiser, Amin Timany, Arthur Charguéraud, Derek Dreyer<br>
148   <i>In <a href="https://icfp18.sigplan.org/">ICFP 2018</a></i><br>
149   [<a href="https://iris-project.org/pdfs/2018-icfp-mosel-final.pdf">paper</a>] [<a href="https://iris-project.org/mosel/">paper website</a>]
150 </li></ul>
151
152 <ul><li>
153   <b>RustBelt: Securing the Foundations of the Rust Programming Language</b><br>
154   Ralf Jung, Jacques-Henri Jourdan, Robbert Krebbers, Derek Dreyer<br>
155   <i>In <a href="https://popl18.sigplan.org/">POPL 2018</a></i><br>
156   [<a href="https://plv.mpi-sws.org/rustbelt/popl18/paper.pdf">paper</a>] [<a href="https://plv.mpi-sws.org/rustbelt/popl18/">paper website</a>] [<a href="https://www.youtube.com/watch?v=Cy9NUVaiYUg" target="_blank">talk (YouTube)</a>] [<a href="https://plv.mpi-sws.org/rustbelt/popl18/talk.pdf">talk (slides)</a>]
157 </li></ul>
158
159 <h3>2017</h3>
160
161 <ul><li>
162   <b>The Essence of Higher-Order Concurrent Separation Logic</b><br>
163   Robbert Krebbers, Ralf Jung, Aleš Bizjak, Jacques-Henri Jourdan, Derek Dreyer, Lars Birkedal<br>
164   In <a href="https://www.etaps.org/index.php/2017/esop">ESOP 2017</a><br>
165   [<a href="https://iris-project.org/pdfs/2017-esop-iris3-final.pdf">paper</a>] [<a href="https://iris-project.org">project website</a>]
166 </li></ul>
167
168 <ul><li>
169   <b>A Higher-Order Logic for Concurrent Termination-Preserving Refinement</b><br>
170   Joseph Tassarotti, Ralf Jung, Robert Harper<br>
171   <i>In <a href="https://www.etaps.org/index.php/2017/esop">ESOP 2017</a></i><br>
172   [<a href="https://iris-project.org/pdfs/2017-esop-refinement-final.pdf">paper</a>] [<a href="https://www.cs.cmu.edu/~jtassaro/papers/iris-refinement/index.html">paper website</a>]
173 </li></ul>
174
175 <h3>2016</h3>
176
177 <ul><li>
178   <b>Higher-Order Ghost State</b><br>
179   Ralf Jung, Robbert Krebbers, Lars Birkedal, Derek Dreyer<br>
180   <i>In <a href="https://conf.researchr.org/home/icfp-2016">ICFP 2016</a></i><br>
181   [<a href="https://iris-project.org/pdfs/2016-icfp-iris2-final.pdf">paper</a>] [<a href="https://iris-project.org">project website</a>] [<a href="https://www.youtube.com/watch?v=vUxWU-qvGX0" target="_blank">talk (YouTube)</a>] [<a href="iris/talk-icfp2016.pdf">talk (slides)</a>]
182 </li></ul>
183
184 <h3>2015</h3>
185
186 <ul><li>
187   <b>Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning</b><br>
188   Ralf Jung, David Swasey, Filip Sieczkowski, Kasper Svendsen, Aaron Turon, Lars Birkedal, Derek Dreyer<br>
189   <i>In <a href="https://popl.mpi-sws.org/2015/">POPL 2015</a>, <b>Most Influential Paper Award</b></i><br>
190   [<a href="https://iris-project.org/pdfs/2015-popl-iris1-final.pdf">paper</a>] [<a href="https://iris-project.org">project website</a>] [<a href="iris/talk-popl2015.pdf">talk (slides)</a>]
191 </li></ul>
192
193 <h2>Theses</h2>
194
195 <h3>2020</h3>
196 <ul><li>
197   <b>Understanding and Evolving the Rust Programming Language</b><br>
198   Ralf Jung<br>
199   <i>PhD Thesis</i><br>
200   [<a href="thesis.html">website</a>]
201 </li></ul>
202
203
204 <h3>2019</h3>
205 <ul><li>
206   <b>Higher-Order Ghost State</b><br>
207   Ralf Jung<br>
208   <i>Master Thesis</i><br>
209   [<a href="https://iris-project.org/pdfs/2016-icfp-iris2-final.pdf">based on this paper</a>]
210 </li></ul>
211
212 <h3>2013</h3>
213 <ul><li>
214   <b>An Intermediate Language To Formally Justify Memory Access Reordering</b><br>
215   Ralf Jung<br>
216   <i>Bachelor Thesis</i><br>
217   [<a href="bachelor/bachelor.pdf">thesis</a>] [<a href="bachelor/bachelor-talk.pdf">slides</a>] [<a href="bachelor/bachelor.zip">coq</a>]
218 </li></ul>
219
220 <!--
221 <h2>Workshop Talks</h2>
222
223 <h3>2020</h3>
224
225 <ul><li>
226   <b>Stacked Borrows: An Aliasing Model for Rust</b><br>
227   Ralf Jung<br>
228   <i>At <a href="https://agozillon.github.io/PRiML/">PRiML 2020</a> (invited talk)</i><br>
229   [<a href="rust/talk-priml2020.pdf">slides</a>]
230 </li></ul>
231
232 <h3>2019</h3>
233
234 <ul><li>
235   <b>Logical Atomicity in Iris: the Good, the Bad, and the Ugly</b><br>
236   Ralf Jung<br>
237   <i>At <a href="https://iris-project.org/workshop-2019/">Iris Workshop 2019</a></i><br>
238   [<a href="iris/talk-iris2019.pdf">slides</a>]
239 </li></ul>
240
241 <h3>2015</h3>
242
243 <ul><li>
244   <b>Unifying Worlds and Resources</b><br>
245   Ralf Jung, Derek Dreyer<br>
246   <i>At <a href="https://users-cs.au.dk/birke/hope-2015/">HOPE 2015</a>: 4th ACM SIGPLAN Workshop on Higher-Order Programming with Effects</i><br>
247   [<a href="iris/talk-hope2015.pdf">slides</a>] [<a href="https://www.youtube.com/watch?v=9Dyna88piek&amp;list=PLnqUlCo055hX6SsmMr1AmW6quMjvdMPvK&amp;index=10" target="_blank">YouTube</a>]
248 </li></ul>
249 -->