Thu 20 Jul 2023 13:30 - 13:45 at Habib Classroom (Gates G01) - ECOOP 5: Synthesis Chair(s): Karine Even-Mendoza

Reliable storage systems must be \emph{crash consistent} — guaranteed to recover to a consistent state after a crash. Crash consistency is non-trivial as it requires maintaining complex invariants about persistent data structures in the presence of caching, reordering, and system failures. Current programming models offer little support for implementing crash consistency, forcing storage system developers to roll their own consistency mechanisms. Bugs in these mechanisms can lead to severe data loss for applications that rely on persistent storage.

This paper presents a new \emph{synthesis-aided} programming model for building crash-consistent storage systems. In this approach, storage systems can assume an \emph{angelic crash-consistency} model, where the underlying storage stack promises to resolve crashes in favor of consistency whenever possible. To realize this model, we introduce a new \emph{labeled writes} interface for developers to identify their writes to disk, and develop a program synthesis tool, DepSynth, that generates \emph{dependency rules} to enforce crash consistency over these labeled writes. We evaluate our model in a case study on a production storage system at a major cloud provider. We find that DepSynth can automate crash consistency for this complex storage system, with similar results to existing expert-written code, and can automatically identify and correct consistency and performance issues.

Thu 20 Jul

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

13:30 - 15:00
ECOOP 5: SynthesisResearch Papers at Habib Classroom (Gates G01)
Chair(s): Karine Even-Mendoza King’s College London
13:30
15m
Talk
Synthesis-Aided Crash Consistency for Storage Systems
Research Papers
Jacob Van Geffen Veridise Inc., James Bornholt University of Texas at Austin, Emina Torlak Amazon Web Services and University of Washington, Xi Wang University of Washington
DOI
13:45
15m
Talk
Synthesizing Conjunctive Queries for Code Search
Research Papers
Chengpeng Wang Hong Kong University of Science and Technology, Peisen Yao Zhejing University, Wensheng Tang Hong Kong University of Science and Technology, Gang Fan Ant Group, Charles Zhang Hong Kong University of Science and Technology
DOI
14:00
15m
Talk
Hoogle⋆: Constants and λ-abstractions in Petri-net-based Synthesis using Symbolic Execution
Research Papers
Henrique Botelho Guerra INESC-ID and IST, University of Lisbon, João F. Ferreira INESC-ID and IST, University of Lisbon, João Costa Seco NOVA-LINCS; Nova University of Lisbon
DOI
14:15
15m
Talk
Building Code Transpilers for Domain-Specific Languages Using Program Synthesis
Research Papers
Sahil Bhatia University of California, Berkeley, Sumer Kohli UC Berkeley, Sanjit Seshia UC Berkeley, Alvin Cheung University of California at Berkeley
DOI
14:30
15m
Talk
Do Machine Learning Models Produce TypeScript Types that Type Check?
Research Papers
Ming-Ho Yee Northeastern University, Arjun Guha Northeastern University and Roblox Research
DOI Media Attached File Attached
14:45
15m
Talk
Toward Tool-Independent Summaries for Symbolic Execution
Research Papers
Frederico Ramos Instituto Superior Técnico, Nuno Sabino Instituto Superior Técnico, Carnegie Mellon University, Pedro Adão IST-ULisboa and Instituto de Telecomunicações, David Naumann Stevens Institute of Technology, José Fragoso Santos INESC-ID/Instituto Superior Técnico, Portugal
DOI