Files
zeekay abf99d05fc papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

30 lines
1.8 KiB
TeX

\section{Conclusion}
Testing distributed systems is not a single activity---it is a discipline that spans
seven layers, each catching different bug classes at different costs. The layers are
complementary: unit tests catch logic bugs quickly, fault injection catches concurrency
bugs under failure, model checking catches protocol design bugs, and formal proofs
provide mathematical certainty for the core safety properties.
Lux Network's testing stack (12,847 unit tests, 832 contract tests, 9 symbolic proofs,
342 E2E tests, 47 fault injection scenarios, 2 model-checked protocols, 384 formal
theorems) represents a deliberate investment in each layer. The bugs each layer has
caught justify the investment: unit tests find daily regressions, fault injection found
4 bugs that only appear under network partition, model checking found 3 protocol design
bugs, and formal proofs provide confidence that the core consensus is correct by
construction.
The hardest part is not building the tests---it is maintaining them. Every protocol
change requires updating tests at multiple layers. This is the cost of confidence.
\begin{thebibliography}{99}
\bibitem{jepsen} Kingsbury, K. ``Jepsen: Distributed Systems Safety Research.'' jepsen.io, 2013--2024.
\bibitem{fdb} Zhou, J. et al. ``FoundationDB: A Distributed Unbundled Transactional Key-Value Store.'' SIGMOD, 2021.
\bibitem{lineage} Alvaro, P. et al. ``Lineage-Driven Fault Injection.'' SIGMOD, 2015.
\bibitem{herlihy1990} Herlihy, M. and Wing, J. ``Linearizability: A Correctness Condition for Concurrent Objects.'' ACM TOPLAS, 1990.
\bibitem{kleppmann2017} Kleppmann, M. ``Designing Data-Intensive Applications.'' O'Reilly, 2017.
\bibitem{newcombe2015} Newcombe, C. et al. ``How Amazon Web Services Uses Formal Methods.'' Communications of the ACM, 2015.
\end{thebibliography}