Using Lightweight Formal Methods to Validate a Key-Value Storage Node in Amazon S3
James Bornholt, Rajeev Joshi, Vytautas Astrauskas, Brendan Cully, Bernhard Kragl, Seth Markle, Kyle Sauri, Drew Schleit, Grant Slatton, Serdar Tasiran, Jacob Van Geffen, Andrew Warfield
摘要
This paper reports our experience applying lightweight formal methods to validate the correctness of ShardStore, a new key-value storage node implementation for the Amazon S3 cloud object storage service. By "lightweight formal methodsž we mean a pragmatic approach to verifying the correctness of a production storage node that is under ongoing feature development by a full-time engineering team. We do not aim to achieve full formal verification, but instead emphasize automation, usability, and the ability to continually ensure correctness as both software and its specification evolve over time. Our approach decomposes correctness into independent properties, each checked by the most appropriate tool, and develops executable reference models as specifications to be checked against the implementation. Our work has prevented 16 issues from reaching production, including subtle crash consistency and concurrency problems, and has been extended by non-formal-methods experts to check new features and properties as ShardStore has evolved.
• Software and its engineering → Software verification and validation.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper43
- On-demand Container Loading in AWS LambdaMarc Brooker, Mike Danilov, Chris Greenwood, Phil PiwonkaUSENIX ATC 2023 · 被引用 73 次
- What's the Story in EBS Glory: Evolutions and Lessons in Building Cloud Block StoreWeidong Zhang, Erci Xu, Qiuping Wang, Xiaolu Zhang 等FAST 2024 · 被引用 37 次
- Property-Based Testing in PracticeHarrison Goldstein, Joseph W. Cutler, Daniel Dickstein, Benjamin C. Pierce 等ICSE 2024 · 被引用 21 次
- Accelerating Communications in Federated Applications with Transparent Object ProxiesJ. Gregory Pauloski, Valérie Hayot-Sasson, Logan T. Ward, Nathaniel Hudson 等SC 2023 · 被引用 18 次
- Burstable Cloud Block Storage with Data Processing UnitsJunyi Shu, Kun Qian, Ennan Zhai, Xuanzhe Liu 等OSDI 2024 · 被引用 17 次
它引用的顶会 Paper3
- How do programmers use unsafe rust?Vytautas Astrauskas, Christoph Matheja, Federico Poli, Peter Müller 等OOPSLA 2020 · 被引用 78 次
- Storage Systems are Distributed Systems (So Verify Them That Way!)Travis Hance, Andrea Lattuada, Chris Hawblitzel, Jon Howell 等OSDI 2020 · 被引用 52 次
- GoJournal: a verified, concurrent, crash-safe journaling systemTej Chajed, Joseph Tassarotti, Mark Theng, Ralf Jung 等OSDI 2021 · 被引用 31 次
相关 Paper
- Validating a High-Performance Cloud Object Store with Lightweight Formal MethodsRajeev Joshi, Bernhard Kragl, Vimuth Fernando, Sarek Høverstad Skotåm 等SOSP 2026
- Bolt-On Strong Consistency: Specification, Implementation, and VerificationNicholas V. Lewchenko, Gowtham Kaki, Bor-Yuh Evan ChangOOPSLA 2025 · 被引用 2 次
- Formally Verified Cloud-Scale AuthorizationAleks Chakarov, Jaco Geldenhuys, Matthew Heck, Michael Hicks 等ICSE 2025 · 被引用 1 次
- Lessons Learned from Incorporating Formal Methods in Huawei Cloud ReliabilityClaudia Cauli, Timo Lang, Shuo Chen, Sebti Mouelhi 等EuroSys 2026 · 被引用 2 次
- AutoMan: Facilitating Verified Distributed Systems Development Through Automatic Code Generation and Manual OptimizationsZihao Zhang, Ti Zhou, Christa Jenkins, Omar Chowdhury 等SOSP 2025 · 被引用 2 次
