Skip to main navigation Skip to search Skip to main content

AutoMan: Facilitating Verified Distributed Systems Development Through Automatic Code Generation and Manual Optimizations

  • Stony Brook University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Developing correct and performant distributed systems is notoriously challenging due to their complexity and scale. There are two main approaches to addressing correctness issues that stem from their complexity: (i) formal verification, and (ii) automatic compilation of specifications to implementations. The former provides machine-checked correctness guarantees along with good performance but requires substantial expert effort. In contrast, the latter can reduce developer effort, though often at the expense of rigorous correctness guarantees. In this paper, we design, develop, and evaluate the AutoMan workflow, which makes developing distributed systems with refinement-based formal verification techniques more accessible and practical for both experts and developers. AutoMan achieves this by automatically generating implementations and their corresponding verification obligations from formal system specifications. This is accomplished without placing trust in the code generator and without sacrificing end-to-end correctness or performance. AutoMan's use of refinement-based verification methodology for ensuring soundness allows hand-tuned performance-critical code and automatically generated code to harmoniously co-exist without jeopardizing end-to-end correctness guarantees. The effectiveness of AutoMan is demonstrated through the reimplementation of Multi-Paxos, PBFT, a sharded Key-Value store, and CausalMesh following the AutoMan methodology. In all cases, the use of AutoMan substantially reduced development effort (e.g., 70%-97% for Multi-Paxos), while the resulting systems maintained robust efficiency and correctness.

Original languageEnglish
Title of host publicationSOSP 2025 - Proceedings of the 2025 ACM SIGOPS 31st Symposium on Operating Systems Principles
PublisherAssociation for Computing Machinery, Inc
Pages768-785
Number of pages18
ISBN (Electronic)9798400718700
DOIs
StatePublished - Oct 12 2025
Event31st ACM Symposium on Operating Systems Principles, SOSP 2025 - Seoul, Korea, Republic of
Duration: Oct 13 2025Oct 16 2025

Publication series

NameSOSP 2025 - Proceedings of the 2025 ACM SIGOPS 31st Symposium on Operating Systems Principles

Conference

Conference31st ACM Symposium on Operating Systems Principles, SOSP 2025
Country/TerritoryKorea, Republic of
CitySeoul
Period10/13/2510/16/25

Keywords

  • code generation
  • distributed systems
  • formal verification

Fingerprint

Dive into the research topics of 'AutoMan: Facilitating Verified Distributed Systems Development Through Automatic Code Generation and Manual Optimizations'. Together they form a unique fingerprint.

Cite this