Vive la Différence: Practical Diff Testing of Stateful Applications
Kexin Zhu, Michael Whittaker, Srdjan Petrovic, Robert Grandl, Sanjay Ghemawat
摘要
Software rollout is the process of replacing the version of an application that is currently running in production with a new version. Many subtle and catastrophic bugs occur during software rollout. There are many existing techniques to improve the odds of a rollout completing successfully, but these techniques don't work well when the application has shared, persistent, mutable state. In this paper, we present a practical framework to test the rollout of stateful applications. Our framework uses diff testing to verify that the new version of an application behaves identically to the currently running version that will be replaced. The framework has three main components to safely and efficiently compare the behavior of the two versions. First, we implement database branching on top of Postgres. Second, we implement an efficient algorithm to diff two database branches. Third, we describe how to replay client requests to improve test coverage. Finally, we identify three common categories of rollout bugs and demonstrate how our framework can find these bugs with minimal performance overhead.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper3
- Differential regression testing for REST APIsPatrice Godefroid, Daniel Lehmann, Marina PolishchukISSTA 2020 · 被引用 52 次
- Understanding and Detecting Software Upgrade Failures in Distributed SystemsYongle Zhang, Junwen Yang, Zhuqi Jin, Utsav Sethi 等SOSP 2021 · 被引用 40 次
- HyDiff: hybrid differential software analysisYannic Noller, Corina S. Pasareanu, Marcel Böhme, Youcheng Sun 等ICSE 2020 · 被引用 37 次
相关 Paper
- One DBMS, Two Modes, and a Bunch of Bugs: Catching Logic Bugs in Distributed DBMSs via Differential TestingZi-Xuan Fu, Jia-Ju Bai, Hong-Bo Feng, Kang ChenSIGMOD 2026
- It's a Feature, Not a Bug: Secure and Auditable State Rollback for Confidential Cloud ApplicationsQuinn Burke, Anjo Vahldiek-Oberwagner, Michael Swift, Patrick D. McDanielS&P 2026 · 被引用 2 次
- Generating Test Databases for Database-Backed ApplicationsCong Yan, Suman Nath, Shan LuICSE 2023 · 被引用 4 次
- DepState: Detecting Synchronization Failure Bugs in Distributed Database Management SystemsCundi Fang, Jie Liang, Zhiyong Wu, Jingzhou Fu 等ISSTA 2025
- DBStorm: Generating Various Effective Workloads for Testing Isolation LevelsKeqiang Li, Siyang Weng, Lyu Ni, Chengcheng Yang 等ISSTA 2024 · 被引用 5 次
