IronFleet: proving practical distributed systems correct
Distributed systems are notorious for harboring subtle bugs. Verification can, in principle,
eliminate these bugs a priori, but verification has historically been difficult to apply at full …
eliminate these bugs a priori, but verification has historically been difficult to apply at full …
Verdi: a framework for implementing and formally verifying distributed systems
Distributed systems are difficult to implement correctly because they must handle both
concurrency and failures: machines may crash at arbitrary points and networks may reorder …
concurrency and failures: machines may crash at arbitrary points and networks may reorder …
S2E: A platform for in-vivo multi-path analysis of software systems
This paper presents S2E, a platform for analyzing the properties and behavior of software
systems. We demonstrate S2E's use in develo** practical tools for comprehensive …
systems. We demonstrate S2E's use in develo** practical tools for comprehensive …
A {NICE} way to test {OpenFlow} applications
The emergence of OpenFlow-capable switches enables exciting new network functionality,
at the risk of programming errors that make communication less reliable. The centralized …
at the risk of programming errors that make communication less reliable. The centralized …
Nyx-net: network fuzzing with incremental snapshots
Coverage-guided fuzz testing (" fuzzing") has become mainstream and we have observed
lots of progress in this research area recently. However, it is still challenging to efficiently test …
lots of progress in this research area recently. However, it is still challenging to efficiently test …
Simple testing can prevent most critical failures: An analysis of production failures in distributed {Data-Intensive} systems
Large, production quality distributed systems still fail periodically, and do so sometimes
catastrophically, where most or all users experience an outage or data loss. We present the …
catastrophically, where most or all users experience an outage or data loss. We present the …
Semantics-based code search
SP Reiss - 2009 IEEE 31st International Conference on …, 2009 - ieeexplore.ieee.org
Our goal is to use the vast repositories of available open source code to generate specific
functions or classes that meet a user's specifications. The key words here are specifications …
functions or classes that meet a user's specifications. The key words here are specifications …
The S2E platform: Design, implementation, and applications
This article presents S2E, a platform for analyzing the properties and behavior of software
systems, along with its use in develo** tools for comprehensive performance profiling …
systems, along with its use in develo** tools for comprehensive performance profiling …
Gremlin: Systematic resilience testing of microservices
Modern Internet applications are being disaggregated into a microservice-based
architecture, with services being updated and deployed hundreds of times a day. The …
architecture, with services being updated and deployed hundreds of times a day. The …
TaxDC: A taxonomy of non-deterministic concurrency bugs in datacenter distributed systems
We present TaxDC, the largest and most comprehensive taxonomy of non-deterministic
concurrency bugs in distributed systems. We study 104 distributed concurrency (DC) bugs …
concurrency bugs in distributed systems. We study 104 distributed concurrency (DC) bugs …