mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
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.
30 lines
1.8 KiB
TeX
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}
|
|
|