VLDB 2026 Research / reviewers in the wild / expert
Valentin Wüstholz
dblp:28/9798
· DBLP profile ↗
35ranked-venue papers
3as first author
18since 2021 · last 2025
0000-0003-1496-1104ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 30 · 3 first-author · 13 since 2021Theory of computation · 5 · 2 since 2021Artificial intelligence and machine learning · 4 · 4 since 2021Graphics, computer vision, multimedia, augmented reality and games · 3 · 3 since 2021Security and privacy · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Fuzzing Processing Pipelines for Zero-Knowledge CircuitsabstractZero-knowledge (ZK) protocols have recently found numerous practical applications, such as in authentication, online-voting, and blockchain systems. These protocols are powered by highly complex pipelines that process deterministic programs, called circuits, written in one of many domain-specific programming languages, e.g., Circom, Noir, and others. Logic bugs in circuit-processing pipelines could have catastrophic consequences and cause significant financial and reputational damage. As an example, consider that a logic bug in a ZK pipeline could result in attackers stealing identities or assets. It is, therefore, critical to develop effective techniques for checking their correctness. Christoph Hochrainer, Anastasia Isychev, Valentin Wüstholz, Maria Christakis |
CCS | 3 |
| 2025 | Lazy Testing of Machine-Learning ModelsabstractChecking the reliability of machine-learning models is a crucial, but challenging task. Nomos is an existing, automated framework for testing general, user-provided functional properties of models, including so-called hyperproperties expressed over more than one model execution. Nomos aims to find model inputs that expose ``bugs'', that is, property violations. However, performing thousands of model invocations during testing is costly both in terms of time and money (for metered APIs, such as OpenAI's). We present LaZ (pronounced ``lazy''), an extension of Nomos that automatically minimizes the number of model invocations to boost the test throughput and thereby find bugs more efficiently. During test execution, LaZ automatically identifies redundant invocations---invocations where the model output does not affect the final test outcome---and skips them, much like lazy evaluation in certain programming languages. This optimization enables a second one that dynamically reorders model invocations to skip the more expensive ones. As a result, LaZ finds the same number of bugs as Nomos, but does so median 33% and up to 60% faster. Anastasia Isychev, Valentin Wüstholz, Maria Christakis |
IJCAI | 2 |
| 2025 | Using Action-Policy Testing in RL to Reduce the Number of BugsabstractReinforcement learning is becoming ever more prominent in solving combinatorial search problems, in particular ones where states are images. Prior work has devised action-policy testing methodology, that identifies so-called bug states where policy performance is sub-optimal. Here we show how to leverage this methodology during the RL process, using action-policy testing to find bugs and injecting those as alternate start states for the training runs. Running experiments across six 2D games, we find that our testing-guided training often achieves similar expected reward while reducing the number of bugs. Hasan Ferit Eniser, Songtuan Lin, Nicola J. Müller, Anastasia Isychev, Valentin Wüstholz, Isabel Valera, Jörg Hoffmann 0001, Maria Christakis |
SOCS | 5 |
| 2024 | Automatically Testing Functional Properties of Code Translation ModelsabstractLarge language models are becoming increasingly practical for translating code across programming languages, a process known as transpiling. Even though automated transpilation significantly boosts developer productivity, a key concern is whether the generated code is correct. Existing work initially used manually crafted test suites to test the translations of a small corpus of programs; these test suites were later automated. In contrast, we devise the first approach for automated, functional, property-based testing of code translation models. Our general, user-provided specifications about the transpiled code capture a range of properties, from purely syntactic to purely semantic ones. As shown by our experiments, this approach is very effective in detecting property violations in popular code translation models, and therefore, in evaluating model quality with respect to given properties. We also go a step further and explore the usage scenario where a user simply aims to obtain a correct translation of some code with respect to certain properties without necessarily being concerned about the overall quality of the model. To this purpose, we develop the first property-guided search procedure for code translation models, where a model is repeatedly queried with slightly different parameters to produce alternative and potentially more correct translations. Our results show that this search procedure helps to obtain significantly better code translations. Hasan Ferit Eniser, Valentin Wüstholz, Maria Christakis |
AAAI | 2 |
| 2024 | Inductive Predicate Synthesis Modulo ProgramsabstractA growing trend in program analysis is to encode verification conditions within the language of the input program. This simplifies the design of analysis tools by utilizing off-the-shelf verifiers, but makes communication with the underlying solver more challenging. Essentially, the analyzer operates at the level of input programs, whereas the solver operates at the level of problem encodings. To bridge this gap, the verifier must pass along proof-rules from the analyzer to the solver. For example, an analyzer for concurrent programs built on an inductive program verifier might need to declare Owicki-Gries style proof-rules for the underlying solver. Each such proof-rule further specifies how a program should be verified, meaning that the problem of passing proof-rules is a form of invariant synthesis. Similarly, many program analysis tasks reduce to the synthesis of pure, loop-free Boolean functions (i.e., predicates), relative to a program. From this observation, we propose Inductive Predicate Synthesis Modulo Programs (IPS-MP) which extends high-level languages with minimal synthesis features to guide analysis. In IPS-MP, unknown predicates appear under assume and assert statements, acting as specifications modulo the program semantics. Existing synthesis solvers are inefficient at IPS-MP as they target more general problems. In this paper, we show that IPS-MP admits an efficient solution in the Boolean case, despite being generally undecidable. Moreover, we show that IPS-MP reduces to the satisfiability of constrained Horn clauses, which is less general than existing synthesis problems, yet expressive enough to encode verification tasks. We provide reductions from challenging verification tasks -- such as parameterized model checking -- to IPS-MP. We realize these reductions with an efficient IPS-MP-solver based on SeaHorn, and describe a application to smart-contract verification. Scott Wesley, Maria Christakis, Jorge A. Navas, Richard J. Trefler, Valentin Wüstholz, Arie Gurfinkel |
ECOOP | 5 |
| 2024 | Olympia: Fuzzer Benchmarking for SolidityabstractOver the last few years, smart-contract hacks have resulted in the loss of billions of assets. To efficiently identify such vulnerabilities, academic and industrial researchers have developed several popular smart-contract fuzzers. However, it has been challenging to objectively compare their bug-finding effectiveness. In this paper, we present Olympia, the first benchmark-generation tool that is designed for smart-contract, rather than general-purpose, fuzzers. We have used Olympia to evaluate the effectiveness of four well known, open-source fuzzers for Solidity smart contracts. Jana Chadt, Christoph Hochrainer, Valentin Wüstholz, Maria Christakis |
ASE | 3 |
| 2024 | Constraint-Based Test Oracles for Program AnalyzersabstractProgram analyzers implement complex algorithms and, as any software, can contain bugs. Bugs in their implementation may lead to analyzers being imprecise and failing to verify safe programs, i.e., programs with no reachable error locations; or worse, analyzer bugs may lead to reporting unsound results by verifying unsafe programs, i.e., programs with reachable error locations. Markus Fleischmann, David Kaindlstorfer, Anastasia Isychev, Valentin Wüstholz, Maria Christakis |
ASE | 4 |
| 2024 | Interrogation Testing of Program Analyzers for Soundness and Precision IssuesabstractProgram analyzers are critical in safeguarding software reliability. However, due to their inherent complexity, they are likely to contain bugs themselves, and the question of how to detect them arises. Existing approaches, primarily based on specification-based, differential, or metamorphic testing, have been successful in finding analyzer bugs, but also come with certain limitations. David Kaindlstorfer, Anastasia Isychev, Valentin Wüstholz, Maria Christakis |
ASE | 3 |
| 2023 | Specifying and Testing k-Safety Properties for Machine-Learning ModelsabstractMachine-learning models are becoming increasingly prevalent in our lives, for instance assisting in image-classification or decision-making tasks. Consequently, the reliability of these models is of critical importance and has resulted in the development of numerous approaches for validating and verifying their robustness and fairness. However, beyond such specific properties, it is challenging to specify, let alone check, general functional-correctness expectations from models. In this paper, we take inspiration from specifications used in formal methods, expressing functional-correctness properties by reasoning about k different executions---so-called k-safety properties. Considering a credit-screening model of a bank, the expected property that "if a person is denied a loan and their income decreases, they should still be denied the loan" is a 2-safety property. Here, we show the wide applicability of k-safety properties for machine-learning models and present the first specification language for expressing them. We also operationalize the language in a framework for automatically validating such properties using metamorphic testing. Our experiments show that our framework is effective in identifying property violations, and that detected bugs could be used to train better models. Maria Christakis, Hasan Ferit Eniser, Jörg Hoffmann 0001, Adish Singla, Valentin Wüstholz |
IJCAI | 5 |
| 2023 | Dependency-Aware Metamorphic Testing of Datalog EnginesabstractDatalog is a declarative query language with wide applicability, especially in program analysis. Queries are evaluated by Datalog engines, which are complex and thus prone to returning incorrect results. Such bugs, called query bugs, may compromise the soundness of upstream program analyzers, having potentially detrimental consequences in safety-critical settings. Muhammad Numair Mansur, Valentin Wüstholz, Maria Christakis |
ISSTA | 2 |
| 2023 | Green Fuzzer BenchmarkingabstractOver the last decade, fuzzing has been increasingly gaining traction due to its effectiveness in finding bugs. Nevertheless, fuzzer evaluations have been challenging during this time, mainly due to lack of standardized benchmarking. Aiming to alleviate this issue, in 2020, Google released FuzzBench, an open-source benchmarking platform, that is widely used for accurate fuzzer benchmarking. Jiradet Ounjai, Valentin Wüstholz, Maria Christakis |
ISSTA | 2 |
| 2022 | Metamorphic relations via relaxations: an approach to obtain oracles for action-policy testingabstractTesting is a promising way to gain trust in a learned action policy π, in particular if π is a neural network. A “bug” in this context constitutes undesirable or fatal policy behavior, e.g., satisfying a failure condition. But how do we distinguish whether such behavior is due to bad policy decisions, or whether it is actually unavoidable under the given circumstances? This requires knowledge about optimal solutions, which defeats the scalability of testing. Related problems occur in software testing when the correct program output is not known. Hasan Ferit Eniser, Timo P. Gros, Valentin Wüstholz, Jörg Hoffmann 0001, Maria Christakis |
ISSTA | 3 |
| 2022 | Verifying Solidity Smart Contracts via Communication Abstraction in SmartACE
Scott Wesley, Maria Christakis, Jorge A. Navas, Richard J. Trefler, Valentin Wüstholz, Arie Gurfinkel |
VMCAI | 5 |
| 2021 | Automated Safety Verification of Programs Invoking Neural NetworksabstractAbstract State-of-the-art program-analysis techniques are not yet able to effectively verify safety properties of heterogeneous systems, that is, systems with components implemented using diverse technologies. This shortcoming is pinpointed by programs invoking neural networks despite their acclaimed role as innovation drivers across many application areas. In this paper, we embark on the verification of system-level properties for systems characterized by interaction between programs and neural networks. Our technique provides a tight two-way integration of a program and a neural-network analysis and is formalized in a general framework based on abstract interpretation. We evaluate its effectiveness on 26 variants of a widely used, restricted autonomous-driving benchmark. Maria Christakis, Hasan Ferit Eniser, Holger Hermanns, Jörg Hoffmann 0001, Yugesh Kothari, Jorge A. Navas, Valentin Wüstholz |
CAV (1) | 8 |
| 2021 | Automatically Tailoring Abstract Interpretation to Custom Usage ScenariosabstractAbstract In recent years, there has been significant progress in the development and industrial adoption of static analyzers, specifically of abstract interpreters. Such analyzers typically provide a large, if not huge, number of configurable options controlling the analysis precision and performance. A major hurdle in integrating them in the software-development life cycle is tuning their options to custom usage scenarios, such as a particular code base or certain resource constraints. In this paper, we propose a technique that automatically tailors an abstract interpreter to the code under analysis and any given resource constraints. We implement this technique in a framework, tAIlor, which we use to perform an extensive evaluation on real-world benchmarks. Our experiments show that the configurations generated by tAIlor are vastly better than the default analysis options, vary significantly depending on the code under analysis, and most remain tailored to several subsequent code versions. Muhammad Numair Mansur, Benjamin Mariano, Maria Christakis, Jorge A. Navas, Valentin Wüstholz |
CAV (2) | 5 |
| 2021 | Compositional Verification of Smart Contracts Through Communication Abstraction
Scott Wesley, Maria Christakis, Jorge A. Navas, Richard J. Trefler, Valentin Wüstholz, Arie Gurfinkel |
SAS | 5 |
| 2021 | Estimating residual risk in greybox fuzzingabstractFor any errorless fuzzing campaign, no matter how long, there is always some residual risk that a software error would be discovered if only the campaign was run for just a bit longer. Recently, greybox fuzzing tools have found widespread adoption. Yet, practitioners can only guess when the residual risk of a greybox fuzzing campaign falls below a specific, maximum allowable threshold. Marcel Böhme, Danushka Liyanage, Valentin Wüstholz |
ESEC/SIGSOFT FSE | 3 |
| 2021 | Metamorphic testing of Datalog enginesabstractDatalog is a popular query language with applications in several domains. Like any complex piece of software, Datalog engines may contain bugs. The most critical ones manifest as incorrect results when evaluating queries—we refer to these as query bugs. Given the wide applicability of the language, query bugs may have detrimental consequences, for instance, by compromising the soundness of a program analysis that is implemented and formalized in Datalog. In this paper, we present the first metamorphic-testing approach for detecting query bugs in Datalog engines. We ran our tool on three mature engines and found 13 previously unknown query bugs, some of which are deep and revealed critical semantic issues. Muhammad Numair Mansur, Maria Christakis, Valentin Wüstholz |
ESEC/SIGSOFT FSE | 3 |
| 2020 | Targeted greybox fuzzing with static lookahead analysisabstractAutomatic test generation typically aims to generate inputs that explore new paths in the program under test in order to find bugs. Existing work has, therefore, focused on guiding the exploration toward program parts that are more likely to contain bugs by using an offline static analysis. Valentin Wüstholz, Maria Christakis |
ICSE | 1 |
| 2020 | Detecting critical bugs in SMT solvers using blackbox mutational fuzzingabstractFormal methods use SMT solvers extensively for deciding formula satisfiability, for instance, in software verification, systematic test generation, and program synthesis. However, due to their complex implementations, solvers may contain critical bugs that lead to unsound results. Given the wide applicability of solvers in software reliability, relying on such unsound results may have detrimental consequences. In this paper, we present STORM, a novel blackbox mutational fuzzing technique for detecting critical bugs in SMT solvers. We run our fuzzer on seven mature solvers and find 29 previously unknown critical bugs. STORM is already being used in testing new features of popular solvers before deployment. Muhammad Numair Mansur, Maria Christakis, Valentin Wüstholz, Fuyuan Zhang |
ESEC/SIGSOFT FSE | 3 |
| 2020 | Harvey: a greybox fuzzer for smart contractsabstractWe present Harvey, an industrial greybox fuzzer for smart contracts, which are programs managing accounts on a blockchain. Valentin Wüstholz, Maria Christakis |
ESEC/SIGSOFT FSE | 1 |
| 2020 | Perfectly parallel fairness certification of neural networksabstractRecently, there is growing concern that machine-learned software, which currently assists or even automates decision making, reproduces, and in the worst case reinforces, bias present in the training data. The development of tools and techniques for certifying fairness of this software or describing its biases is, therefore, critical. In this paper, we propose a perfectly parallel static analysis for certifying fairness of feed-forward neural networks used for classification of tabular data. When certification succeeds, our approach provides definite guarantees, otherwise, it describes and quantifies the biased input space regions. We design the analysis to be sound, in practice also exact, and configurable in terms of scalability and precision, thereby enabling pay-as-you-go certification. We implement our approach in an open-source tool called Libra and demonstrate its effectiveness on neural networks trained on popular datasets. Caterina Urban, Maria Christakis, Valentin Wüstholz, Fuyuan Zhang |
Proc. ACM Program. Lang. | 3 |
| 2019 | Differentially testing soundness and precision of program analyzersabstractIn the last decades, numerous program analyzers have been developed both in academia and industry. Despite their abundance however, there is currently no systematic way of comparing the effectiveness of different analyzers on arbitrary code. In this paper, we present the first automated technique for differentially testing soundness and precision of program analyzers. We used our technique to compare six mature, state-of-the art analyzers on tens of thousands of automatically generated benchmarks. Our technique detected soundness and precision issues in most analyzers, and we evaluated the implications of these issues to both designers and users of program analyzers. Christian Klinger, Maria Christakis, Valentin Wüstholz |
ISSTA | 3 |
| 2019 | Semantic Fault Localization and Suspiciousness RankingabstractStatic program analyzers are increasingly effective in checking correctness properties of programs and reporting any errors found, often in the form of error traces. However, developers still spend a significant amount of time on debugging. This involves processing long error traces in an effort to localize a bug to a relatively small part of the program and to identify its cause. In this paper, we present a technique for automated fault localization that, given a program and an error trace, efficiently narrows down the cause of the error to a few statements. These statements are then ranked in terms of their suspiciousness. Our technique relies only on the semantics of the given program and does not require any test cases or user guidance. In experiments on a set of C benchmarks, we show that our technique is effective in quickly isolating the cause of error while out-performing other state-of-the-art fault-localization techniques. Maria Christakis, Matthias Heizmann, Muhammad Numair Mansur, Christian Schilling 0001, Valentin Wüstholz |
TACAS (1) | 5 |
| 2018 | Automatically testing implementations of numerical abstract domainsabstractStatic program analyses are routinely applied as the basis of code optimizations and to detect safety and security issues in software systems. For their results to be reliable, static analyses should be sound (i.e., should not produce false negatives) and precise (i.e., should report a low number of false positives). Even though it is possible to prove properties of the design of a static analysis, ensuring soundness and precision for its implementation is challenging. Complex algorithms and sophisticated optimizations make static analyzers difficult to implement and test. Alexandra Bugariu, Valentin Wüstholz, Maria Christakis, Peter Müller 0001 |
ASE | 2 |
| 2017 | Failure-directed program trimmingabstractThis paper describes a new program simplification technique called program trimming that aims to improve the scalability and precision of safety checking tools. Given a program P, program trimming generates a new program P' such that P and P' are equi-safe (i.e., P' has a bug if and only if P has a bug), but P' has fewer execution paths than P. Since many program analyzers are sensitive to the number of execution paths, program trimming has the potential to improve the effectiveness of safety checking tools. Kostas Ferles, Valentin Wüstholz, Maria Christakis, Isil Dillig |
ESEC/SIGSOFT FSE | 2 |
| 2017 | Static Detection of DoS Vulnerabilities in Programs that Use Regular Expressions
Valentin Wüstholz, Oswaldo Olivo, Marijn Heule, Isil Dillig |
TACAS (2) | 1 |
| 2016 | Guiding dynamic symbolic execution toward unverified program executionsabstractMost techniques to detect program errors, such as testing, code reviews, and static program analysis, do not fully verify all possible executions of a program. They leave executions unverified when they do not check certain properties, fail to verify properties, or check properties under certain unsound assumptions such as the absence of arithmetic overflow. Maria Christakis, Peter Müller 0001, Valentin Wüstholz |
ICSE | 3 |
| 2016 | Bounded Abstract Interpretation
Maria Christakis, Valentin Wüstholz |
SAS | 2 |
| 2016 | Integrated Environment for Diagnosing Verification Errors
Maria Christakis, K. Rustan M. Leino, Peter Müller 0001, Valentin Wüstholz |
TACAS | 4 |
| 2015 | Fine-Grained Caching of Verification Results
K. Rustan M. Leino, Valentin Wüstholz |
CAV (1) | 2 |
| 2015 | An Experimental Evaluation of Deliberate Unsoundness in a Static Program Analyzer
Maria Christakis, Peter Müller 0001, Valentin Wüstholz |
VMCAI | 3 |
| 2014 | Synthesizing Parameterized Unit Tests to Detect Object Invariant Violations
Maria Christakis, Peter Müller 0001, Valentin Wüstholz |
SEFM | 3 |
| 2012 | Collaborative Verification and Testing with Explicit Assumptions
Maria Christakis, Peter Müller 0001, Valentin Wüstholz |
FM | 3 |
| 2011 | The 1st Verified Software Competition: Experience Report
Vladimir Klebanov, Peter Müller 0001, Natarajan Shankar, Gary T. Leavens, Valentin Wüstholz, Eyad Alkassar, Rob Arthan, Derek Bronish, Roderick Chapman, Ernie Cohen, Mark A. Hillebrand, Bart Jacobs 0002, K. Rustan M. Leino, Rosemary Monahan, Frank Piessens, Nadia Polikarpova, Tom Ridge, Jan Smans, Stephan Tobies, Thomas Tuerk, Mattias Ulbrich, Benjamin Weiß 0001 |
FM | 5 |