VLDB 2026 Research / reviewers in the wild / expert
Julian Büning
dblp:223/5126
· DBLP profile ↗
4ranked-venue papers
0as first author
2since 2021 · last 2023
0000-0003-3917-6858ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 2 since 2021Theory of computation · 2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | KDAlloc: The KLEE Deterministic Allocator: Deterministic Memory Allocation during Symbolic Execution and Test Case ReplayabstractThe memory allocator can have an important impact in symbolic execution. Taking a user-centric view, this tool demonstration paper discusses some of the main benefits provided by KLEE's new allocator KDAlloc in terms of improved deterministic execution and bug-finding capabilities. We then introduce a new replay tool for KLEE which enables the native execution to integrate KDAlloc and receive the same heap addresses as during symbolic execution. Daniel Schemmel, Julian Büning, Frank Busse, Martin Nowack, Cristian Cadar |
ISSTA | 2 |
| 2022 | A Deterministic Memory Allocator for Dynamic Symbolic Execution
Daniel Schemmel, Julian Büning, Frank Busse, Martin Nowack, Cristian Cadar |
ECOOP | 2 |
| 2020 | Symbolic Partial-Order Execution for Testing Multi-Threaded ProgramsabstractWe describe a technique for systematic testing of multi-threaded programs. We combine Quasi-Optimal Partial-Order Reduction, a state-of-the-art technique that tackles path explosion due to interleaving non-determinism, with symbolic execution to handle data non-determinism. Our technique iteratively and exhaustively finds all executions of the program. It represents program executions using partial orders and finds the next execution using an underlying unfolding semantics. We avoid the exploration of redundant program traces using cutoff events. We implemented our technique as an extension of KLEE and evaluated it on a set of large multi-threaded C programs. Our experiments found several previously undiscovered bugs and undefined behaviors in memcached and GNU sort, showing that the new method is capable of finding bugs in industrial-size benchmarks. Daniel Schemmel, Julian Büning, César Rodríguez, David Laprell, Klaus Wehrle |
CAV (1) | 2 |
| 2018 | Symbolic Liveness Analysis of Real-World SoftwareabstractLiveness violation bugs are notoriously hard to detect, especially due to the difficulty inherent in applying formal methods to real-world programs. We present a generic and practically useful liveness property which defines a program as being live as long as it will eventually either consume more input or terminate. We show that this property naturally maps to many different kinds of real-world programs. To demonstrate the usefulness of our liveness property, we also present an algorithm that can be efficiently implemented to dynamically find lassos in the target program’s state space during Symbolic Execution. This extends Symbolic Execution, a well known dynamic testing technique, to find a new class of program defects, namely liveness violations, while only incurring a small runtime and memory overhead, as evidenced by our evaluation. The implementation of our method found a total of five previously undiscovered software defects in BusyBox and the GNU Coreutils. All five defects have been confirmed and fixed by the respective maintainers after shipping for years, most of them well over a decade. Daniel Schemmel, Julian Büning, Oscar Soria Dustmann, Thomas Noll 0001, Klaus Wehrle |
CAV (2) | 2 |