Wed 21 Jun 2023 17:40 - 18:00 at Royal - PLDI: Hardware & Systems Chair(s): Zachary Tatlock

Batteryless energy-harvesting devices enable computing in inaccessible environments, at a cost to programmability and correctness. These devices operate intermittently as energy is available, using a recovery system to save and restore state. Some program tasks must execute atomically w.r.t. power failures, re-executing if power fails before completion. Any re-execution should typically be idempotent—its behavior should match the behavior of a single execution. Thus, a key aspect of correct intermittent execution is identifying and recovering state causing undesired non-idempotence. Unfortunately, past intermittent systems take an ad-hoc approach, using unsound dataflow analyses or conservatively recovering all written state. Moreover, no prior work allows the programmer to directly specify idempotence requirements (including allowable non-idempotence).

We present Curricle, the first type system approach to safe intermittence, for Rust. Type level reasoning allows programmers to express requirements and retains alias information crucial for sound analyses. Curricle uses information flow and type qualifiers to reject programs causing undesired non-idempotence. We implement Curricle’s type system on top of Rust’s compiler, evaluating the prototype on benchmarks from prior work. We find that Curricle benefits application programmers by allowing them to express idempotence requirements that are checked to be satisfied, and that targeting programs checked with Curricle allows designers to write simpler recovery systems that perform better.

Wed 21 Jun

Displayed time zone: Eastern Time (US & Canada) change

16:00 - 18:00
PLDI: Hardware & SystemsPLDI Research Papers at Royal
Chair(s): Zachary Tatlock University of Washington

#pldi-wed-1600-hardware-royal Discord icon small YouTube icon small

16:00
20m
Talk
Loop Rerolling for Hardware Decompilation
PLDI Research Papers
Zachary Sisco UC Santa Barbara, Jonathan Balkind UC Santa Barbara, Timothy Sherwood University of California at Santa Barbara, Ben Hardekopf University of California at Santa Barbara
DOI
16:20
20m
Talk
Memento: A Framework for Detectable Recoverability in Persistent Memory
PLDI Research Papers
Kyeongmin Cho KAIST, Seungmin Jeon KAIST, Azalea Raad Imperial College London, Jeehoon Kang KAIST
DOI
16:40
20m
Talk
Cutting the Cake: A Language for Fair Division
PLDI Research Papers
Noah Bertram Cornell University, Alex Levinson Cornell University, Justin Hsu Cornell University
DOI
17:00
20m
Talk
cuCatch: A Debugging Tool for Efficiently Catching Memory Safety Violations in CUDA Applications
PLDI Research Papers
DOI Pre-print
17:20
20m
Talk
A Lineage-Based Referencing DSL for Computer-Aided Design
PLDI Research Papers
Dan Cascaval University of Washington, Rastislav Bodík Google Research, Brain Team, Adriana Schulz University of Washington
DOI Pre-print
17:40
20m
Talk
A Type System for Safe Intermittent Computing
PLDI Research Papers
Milijana Surbatovich Carnegie Mellon University, Naomi Spargo Carnegie Mellon University, Limin Jia Carnegie Mellon University, Brandon Lucia Carnegie Mellon University, USA
DOI