X-Git-Url: https://git.ralfj.de/web.git/blobdiff_plain/039490c1bee965b2fe31499033199f53b6240b2f..936b7648ec6c1adce590d498967d9d40f82dca00:/research/publications.html diff --git a/research/publications.html b/research/publications.html index a12d648..7d85125 100644 --- a/research/publications.html +++ b/research/publications.html @@ -3,18 +3,86 @@ title: Publications slug: Publications --- -<h3>Under Submission</h3> +<h2>Conference and journal papers</h2> + +<h3>2022</h3> <ul><li> - <b>RustBelt: Securing the Foundations of the Rust Programming Language</b><br/> + <b>Simuliris: A separation logic framework for verifying concurrent program optimizations</b><br/> + Lennard Gäher, Michael Sammler, Simon Spies, Ralf Jung, Hoang-Hai Dang, Robbert Krebbers, Jeehoon Kang, Derek Dreyer<br> + <i>In <a href="https://popl22.sigplan.org/">POPL 2022</a>, <b>Distinguished Paper Award</b></i><br> + [<a href="https://iris-project.org/pdfs/2022-popl-simuliris.pdf">paper</a>] +</li></ul> + +<h3>2021</h3> + +<ul><li> + <b>GhostCell: Separating Permissions from Data in Rust</b><br/> + Joshua Yanovski, Hoang-Hai Dang, Ralf Jung, Derek Dreyer<br> + <i>In <a href="https://icfp21.sigplan.org/">ICFP 2021</a></i><br> + [<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> (incl. Coq formalization)] +</li></ul> + +<ul><li> + <b>GoJournal: a verified, concurrent, crash-safe journaling system</b><br/> + Tej Chajed, Joseph Tassarotti, Mark Theng, Ralf Jung, M. Frans Kaashoek, Nickolai Zeldovich<br> + <i>In <a href="https://www.usenix.org/conference/osdi21">OSDI 2021</a></i><br> + [<a href="perennial/gojournal.pdf">paper</a>] +</li></ul> + +<ul><li> + <b>Safe Systems Programming in Rust: The Promise and the Challenge</b><br/> Ralf Jung, Jacques-Henri Jourdan, Robbert Krebbers, Derek Dreyer<br> - [<a href="http://www.mpi-sws.org/~dreyer/papers/rustbelt/paper.pdf">preprint</a>] [<a href="http://iris-project.org">project website</a> (incl. appendix and Coq formalization)] + <i>In Communications of the ACM (CACM)</i><br> + [<a href="https://cacm.acm.org/magazines/2021/4/251364-safe-systems-programming-in-rust/fulltext">article</a>] + [<a href="https://iris-project.org/pdfs/2021-rustbelt-cacm-final.pdf">pdf</a>] + [<a href="https://vimeo.com/514402648">video</a>] +</li></ul> + +<h3>2020</h3> + +<ul><li> + <b>The Future is Ours: Prophecy Variables in Separation Logic</b><br/> + Ralf Jung, Rodolphe Lepigre, Gaurav Parthasarathy, Marianna Rapoport, Amin Timany, Derek Dreyer, Bart Jacobs<br> + <i>In <a href="https://popl20.sigplan.org/">POPL 2020</a></i><br> + [<a href="https://plv.mpi-sws.org/prophecies/paper.pdf">paper</a>] [<a href="https://plv.mpi-sws.org/prophecies/">paper website</a> (incl. appendix and Coq formalization)] +</li></ul> + +<ul><li> + <b>Stacked Borrows: An Aliasing Model for Rust</b><br/> + Ralf Jung, Hoang-Hai Dang, Jeehoon Kang, Derek Dreyer<br> + <i>In <a href="https://popl20.sigplan.org/">POPL 2020</a></i><br> + [<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> (incl. appendix and Coq formalization)] </li></ul> +<h3>2018</h3> + <ul><li> <b>Iris from the Ground Up: A Modular Foundation for Higher-Order Concurrent Separation Logic</b><br/> Ralf Jung, Robbert Krebbers, Jacques-Henri Jourdan, Aleš Bizjak, Lars Birkedal, Derek Dreyer<br> - [<a href="http://www.mpi-sws.org/~dreyer/papers/iris-ground-up/paper.pdf">preprint</a>] [<a href="http://iris-project.org">project website</a> (incl. appendix and Coq formalization)] + <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> + [<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> (incl. appendix and Coq formalization)] +</li></ul> + +<ul><li> + <b>Reconciling High-Level Optimizations and Low-Level Code in LLVM</b><br/> + Juneyoung Lee, Chung-Kil Hur, Ralf Jung, Zhengyang Liu, John Regehr, Nuno P. Lopes<br> + <i>In <a href="https://conf.researchr.org/track/splash-2018/splash-2018-OOPSLA">OOPSLA 2018</a></i><br> + [<a href="twinsem/twinsem.pdf">paper</a>] [<a href="https://sf.snu.ac.kr/llvmtwin/">paper website</a>] +</li></ul> + +<ul><li> + <b>MoSeL: A General, Extensible Modal Framework for Interactive Proofs in Separation Logic</b><br/> + Robbert Krebbers, Jacques-Henri Jourdan, Ralf Jung, Joseph Tassarotti, Jan-Oliver Kaiser, Amin Timany, Arthur Charguéraud, Derek Dreyer<br> + <i>In <a href="https://icfp18.sigplan.org/">ICFP 2018</a></i><br> + [<a href="https://iris-project.org/pdfs/2018-icfp-mosel-final.pdf">paper</a>] [<a href="https://iris-project.org/mosel/">paper website</a> (incl. appendix and Coq formalization)] +</li></ul> + +<ul><li> + <b>RustBelt: Securing the Foundations of the Rust Programming Language</b><br/> + Ralf Jung, Jacques-Henri Jourdan, Robbert Krebbers, Derek Dreyer<br> + <i>In <a href="https://popl18.sigplan.org/">POPL 2018</a></i><br> + [<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> (incl. appendix and Coq formalization)] [<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>] </li></ul> <h3>2017</h3> @@ -22,15 +90,15 @@ slug: Publications <ul><li> <b>The Essence of Higher-Order Concurrent Separation Logic</b><br/> Robbert Krebbers, Ralf Jung, Aleš Bizjak, Jacques-Henri Jourdan, Derek Dreyer, Lars Birkedal<br> - In <a href="http://www.etaps.org/index.php/2017/esop">ESOP 2017</a>: 26th European Symposium on Programming<br> - [<a href="http://iris-project.org/pdfs/2017-esop-iris3-final.pdf">paper</a>] [<a href="http://iris-project.org">project website</a> (incl. appendix and Coq formalization)] + In <a href="https://www.etaps.org/index.php/2017/esop">ESOP 2017</a><br> + [<a href="https://iris-project.org/pdfs/2017-esop-iris3-final.pdf">paper</a>] [<a href="https://iris-project.org">project website</a> (incl. appendix and Coq formalization)] </li></ul> <ul><li> <b>A Higher-Order Logic for Concurrent Termination-Preserving Refinement</b><br/> Joseph Tassarotti, Ralf Jung, Robert Harper<br> - In <a href="http://www.etaps.org/index.php/2017/esop">ESOP 2017</a>: 26th European Symposium on Programming<br> - [<a href="http://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> (incl. Coq formalization)] + <i>In <a href="https://www.etaps.org/index.php/2017/esop">ESOP 2017</a></i><br> + [<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> (incl. Coq formalization)] </li></ul> <h3>2016</h3> @@ -38,30 +106,71 @@ slug: Publications <ul><li> <b>Higher-Order Ghost State</b><br/> Ralf Jung, Robbert Krebbers, Lars Birkedal, Derek Dreyer<br> - In <a href="http://conf.researchr.org/home/icfp-2016">ICFP 2016</a>: 21st ACM SIGPLAN International Conference on Functional Programming<br> - [<a href="http://iris-project.org/pdfs/2016-icfp-iris2-final.pdf">paper</a>] [<a href="http://iris-project.org">project website</a> (incl. appendix and Coq formalization)] [<a href="https://www.youtube.com/watch?v=vUxWU-qvGX0" target="_blank">talk (YouTube)</a>] [<a href="iris/talk-icfp2016.pdf">talk (slides)</a>] + <i>In <a href="https://conf.researchr.org/home/icfp-2016">ICFP 2016</a></i><br> + [<a href="https://iris-project.org/pdfs/2016-icfp-iris2-final.pdf">paper</a>] [<a href="https://iris-project.org">project website</a> (incl. appendix and Coq formalization)] [<a href="https://www.youtube.com/watch?v=vUxWU-qvGX0" target="_blank">talk (YouTube)</a>] [<a href="iris/talk-icfp2016.pdf">talk (slides)</a>] </li></ul> <h3>2015</h3> <ul><li> - <b>Unifying Worlds and Resources</b><br/> - Ralf Jung, Derek Dreyer<br> - In <a href="http://users-cs.au.dk/birke/hope-2015/">HOPE 2015</a>: 4th ACM SIGPLAN Workshop on Higher-Order Programming with Effects<br> - [<a href="https://www.youtube.com/watch?v=9Dyna88piek&list=PLnqUlCo055hX6SsmMr1AmW6quMjvdMPvK&index=10" target="_blank">talk (YouTube)</a>] [<a href="iris/talk-hope2015.pdf">talk (slides)</a>] + <b>Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning</b><br/> + Ralf Jung, David Swasey, Filip Sieczkowski, Kasper Svendsen, Aaron Turon, Lars Birkedal, Derek Dreyer<br> + <i>In <a href="https://popl.mpi-sws.org/2015/">POPL 2015</a></i><br> + [<a href="https://iris-project.org/pdfs/2015-popl-iris1-final.pdf">paper</a>] [<a href="https://iris-project.org">project website</a> (incl. appendix and Coq formalization)] [<a href="iris/talk-popl2015.pdf">talk (slides)</a>] </li></ul> +<h2>Theses</h2> + +<h3>2020</h3> <ul><li> - <b>Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning</b><br/> - Ralf Jung, David Swasey, Filip Sieczkowski, Kasper Svendsen, Aaron Turon, Lars Birkedal, Derek Dreyer<br> - In <a href="http://popl.mpi-sws.org/2015/">POPL 2015</a>: 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages<br> - [<a href="http://iris-project.org/pdfs/2015-popl-iris1-final.pdf">paper</a>] [<a href="http://iris-project.org">project website</a> (incl. appendix and Coq formalization)] [<a href="iris/talk-popl2015.pdf">talk (slides)</a>] + <b>Understanding and Evolving the Rust Programming Language</b><br/> + Ralf Jung<br> + <i>PhD Thesis</i><br> + [<a href="thesis.html">website</a>] +</li></ul> + + +<h3>2019</h3> +<ul><li> + <b>Higher-Order Ghost State</b><br/> + Ralf Jung<br> + <i>Master Thesis</i><br> + [<a href="https://iris-project.org/pdfs/2016-icfp-iris2-final.pdf">based on this paper</a>] </li></ul> <h3>2013</h3> <ul><li> - <b>An Intermediate Language To Formally Justify Memory Access Reordering</b> (Bachelor's Thesis)<br/> - Ralf Jung, Supervisor: Sebastian Hack, Advisor: Sigurd Schneider<br> - [<a href="bachelor/bachelor.pdf">pdf</a>] [<a href="bachelor/bachelor-talk.pdf">slides</a>] [<a href="bachelor/bachelor.zip">coq</a>] + <b>An Intermediate Language To Formally Justify Memory Access Reordering</b><br/> + Ralf Jung<br> + <i>Bachelor Thesis</i><br> + [<a href="bachelor/bachelor.pdf">thesis</a>] [<a href="bachelor/bachelor-talk.pdf">slides</a>] [<a href="bachelor/bachelor.zip">coq</a>] +</li></ul> + +<h2>Workshop Talks</h2> + +<h3>2020</h3> + +<ul><li> + <b>Stacked Borrows: An Aliasing Model for Rust</b><br/> + Ralf Jung<br> + <i>At <a href="https://agozillon.github.io/PRiML/">PRiML 2020</a> (invited talk)</i><br> + [<a href="rust/talk-priml2020.pdf">slides</a>] +</li></ul> + +<h3>2019</h3> + +<ul><li> + <b>Logical Atomicity in Iris: the Good, the Bad, and the Ugly</b><br/> + Ralf Jung<br> + <i>At <a href="https://iris-project.org/workshop-2019/">Iris Workshop 2019</a></i><br> + [<a href="iris/talk-iris2019.pdf">slides</a>] +</li></ul> + +<h3>2015</h3> + +<ul><li> + <b>Unifying Worlds and Resources</b><br/> + Ralf Jung, Derek Dreyer<br> + <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> + [<a href="iris/talk-hope2015.pdf">slides</a>] [<a href="https://www.youtube.com/watch?v=9Dyna88piek&list=PLnqUlCo055hX6SsmMr1AmW6quMjvdMPvK&index=10" target="_blank">YouTube</a>] </li></ul> -</p>