Model-based testing of networked applications
Yishuai Li, Benjamin C. Pierce, Steve Zdancewic
Abstract
We present a principled automatic testing framework for applicationlayer protocols. The key innovation is a domain-specific embedded language for writing nondeterministic models of the behavior of networked servers. These models are defined within the Coq interactive theorem prover, supporting a smooth transition from testing to formal verification. Given a server model, we show how to automatically derive a tester that probes the server for unexpected behaviors. We address the uncertainties caused by both the server's internal choices and the network delaying messages nondeterministically. The derived tester accepts server implementations whose possible behaviors are a subset of those allowed by the nondeterministic model. We demonstrate the effectiveness of this framework by using it to specify and test a fragment of the HTTP/1.1 protocol, showing that the automatically derived tester can capture RFC violations in buggy server implementations, including the latest versions of Apache and Nginx.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 9c2bb68d-4e26-4b62-bb21-87f7a236f05aCited by top-tier papers5
- Randomized Testing of Byzantine Fault Tolerant AlgorithmsLevin N. Winter, Florena Buse, Daan de Graaf, Klaus von Gleissenthall et al.OOPSLA 2023 · 23 citations
- Model Checking Guided Testing for Distributed SystemsDong Wang, Wensheng Dou, Yu Gao, Chenao Wu et al.EuroSys 2023 · 21 citations
- An Empirical Study on Kubernetes Operator BugsQingxin Xu, Yu Gao, Jun WeiISSTA 2024 · 7 citations
- Model-Guided Fuzzing of Distributed SystemsEge Berkay Gulcan, Burcu Kulahcioglu Ozkan, Rupak Majumdar, Srinidhi NagendraOOPSLA 2025 · 3 citations
- Model Checking Guided Incremental Testing for Distributed SystemsYu Gao, Dong Wang, Wensheng Dou, Wenhan Feng et al.ISSTA 2025 · 1 citation
Builds on1
Related papers
- WebSpec: Towards Machine-Checked Analysis of Browser Security MechanismsLorenzo Veronese, Benjamin Farinier, Pedro Bernardo, Mauro Tempesta et al.S&P 2023
- Leapfrog: certified equivalence for protocol parsersRyan Doenges, Tobias Kappé, John Sarracino, Nate Foster et al.PLDI 2022 · 11 citations
- Integration verification across software and hardware for a simple embedded systemAndres Erbsen, Samuel Gruetter, Joonwon Choi, Clark Wood et al.PLDI 2021 · 29 citations
- Verified Density Compilation for a Probabilistic Programming LanguageJoseph Tassarotti, Jean-Baptiste TristanPLDI 2023 · 6 citations
- Certifying derivation of state machines from coroutinesMirai Ikebuchi, Andres Erbsen, Adam ChlipalaPOPL 2022 · 2 citations
