The combination of the benefits of model checking (rigorous exploration) and of dynamic software testing (analyzing real systems’ code) represents a quantum leap in the field of network analysis. Orthogonal to and complementing formal model-based approaches, which target the design of reliable systems on an abstract (model-) level, we also address system- and implementation-level aspects of (typically heterogeneous) implementations that interact via unpredictable networks. To achieve this, we introduce the fundamentally new approaches Symbolic Distributed Execution (SDE), Symbolic Temporal Execution (STE) and their symbiosis (SDTE). This significantly widens the scope of Symbolic Execution to new analysis domains.
Bugs Discovered
- Non-termination bug in tail (GNU Coreutils) - Bug Report
- Non-termination bug #2 in tail (GNU Coreutils) - Bug Report
- Non-termination bug in ptx (GNU Coreutils) - Bug Report
- Non-termination bug in hush (BusyBox) - Bug Report
- Non-termination bug #2 in hush (BusyBox) - Bug Report
- Non-termination bug in GNU regex - Bug Report
- Segfault in z3 - Bug Report
- Unsafe usage of non-volatile object in a signal handler in GNU gzip - Bug Report
- Use-after-free in QUANT - Bug Report
- QUIC stream not correctly closed in QUANT - Bug Report
- Segfault in LLVM - Bug Report
- 6 double-initialized mutexes in memcached - Bug Report
- Data race in memcached - Bug Report
- Data race #2 in memcached - Bug Report
- Data race #3 in memcached - Bug Report
- Regression in out-of-memory situations in jq - Bug Report
- Illegal null-pointer argument in jtc - Bug Report
- Use-after-free in jtc - Bug Report
- Out-of-bounds error during string parsing in jtc - Bug Report
- Heap use-after-free in jq - Bug Report
- Segfault in toybox sed - Bug Report
Awards
- Best Paper Award: Automated Memoization for Parameter Studies Implemented in Impure Languages (SIGSIM-PADS’16)
- Best Experience Paper Award : Floating-Point Symbolic Execution: A Case Study in N-Version Programming (ASE'17)
- Computing Reviews - Included in the Notable Books and Articles in Computing of 2016: Automated Memoization for Parameter Studies Implemented in Impure Languages