VLDB 2026 Research / reviewers in the wild / expert
Roderick Bloem
dblp:80/1300 · also Roderick Paul Bloem
· DBLP profile ↗
96ranked-venue papers
37as first author
20since 2021 · last 2026
0000-0002-1411-5744ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 61 · 22 first-author · 11 since 2021Theory of computation · 53 · 24 first-author · 8 since 2021Systems, architecture and hardware · 8 · 4 first-author · 1 since 2021Security and privacy · 6 · 2 first-author · 3 since 2021Artificial intelligence and machine learning · 4Graphics, computer vision, multimedia, augmented reality and games · 2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Parameterized Infinite-State Reactive SynthesisabstractWe propose a method to synthesize a parameterized infinite-state system that can be instantiated for different parameter values. The specification is given in a parameterized temporal logic that allows for data variables as well as parameters that encode properties of the environment. Our synthesis method runs in a counterexample guided loopconsisting of four steps: (1) we synthesize concrete systems for some small parameter instantiations using existing techniques. (2) We generalize the concrete systems into a parameterized program. (3) We create a proof candidate consisting of an invariant and a ranking function. (4) We check the proof candidate for consistency with the program. If the proof succeeds, the parameterized program is valid. Otherwise, we identify a parameter value for which it fails and add a new concrete instance to step one. To generalize programs and create proof candidates, we use a combination of anti-unification and syntax-guided synthesis to express the differences between the programs as a function of the parameters. We evaluate our approach on new examples and examples from the literature that are manually parameterized. Benedikt Maderbacher, Roderick Bloem |
Proc. ACM Program. Lang. | 2 |
| 2025 | Synthesis of Controllers for Continuous Blackbox Systems
Benedikt Maderbacher, Felix Windisch, Alberto Larrauri, Roderick Bloem |
VMCAI (2) | 4 |
| 2024 | On Threat Model Repair
Roderick Bloem, Sebastian Chlup, Dejan Nickovic, Christoph Schmittner |
ISoLA (4) | 1 |
| 2024 | Synthesis from Infinite-State Generalized Reactivity(1) Specifications
Benedikt Maderbacher, Felix Windisch, Roderick Bloem |
ISoLA (4) | 3 |
| 2023 | A Systematic Approach to Automotive Security
Masoud Ebrahimi 0002, Stefan Marksteiner, Dejan Nickovic, Roderick Bloem, David Schögler, Philipp Eisner, Samuel Sprung, Thomas Schober, Sebastian Chlup, Christoph Schmittner, Sandra König |
FM | 4 |
| 2023 | Attribute Repair for Threat Prevention
Thorsten Tarrach, Masoud Ebrahimi 0002, Sandra König, Christoph Schmittner, Roderick Bloem, Dejan Nickovic |
SAFECOMP | 5 |
| 2023 | Provable Correct and Adaptive Simplex Architecture for Bounded-Liveness Properties
Benedikt Maderbacher, Stefan Schupp, Ezio Bartocci, Roderick Bloem, Dejan Nickovic, Bettina Könighofer |
SPIN | 4 |
| 2023 | Learning Mealy machines with one timerabstractWe present Mealy machines with a single timer (MM1Ts), a class of sufficiently expressive models to describe the real-time behavior of many realistic applications that we can learn efficiently. We show how we can obtain learning algorithms for MM1Ts via a reduction to the problem of learning Mealy machines. We describe an implementation of an MM1T learner on top of LearnLib and compare its performance with recent algorithms proposed by Aichernig et al. and An et al. on several realistic benchmarks. Frits W. Vaandrager, Masoud Ebrahimi 0002, Roderick Bloem |
Inf. Comput. | 3 |
| 2022 | Power Contracts: Provably Complete Power Leakage Models for ProcessorsabstractThe protection of cryptographic software implementations against power-analysis attacks is critical for applications in embedded systems. A commonly used algorithmic countermeasure against these attacks is masking, a secret-sharing scheme that splits a sensitive computation into computations on multiple random shares. In practice, the security of masking schemes relies on several assumptions that are often violated by microarchitectural side-effects of CPUs. Many past works address this problem by studying these leakage effects and building corresponding leakage models that can then be integrated into a software verification workflow. However, these models have only been derived empirically, putting in question the otherwise rigorous security statements made with verification. We solve this problem in two steps. First, we introduce a contract layer between the (CPU) hardware and the software that allows the specification of microarchitectural side-effects on masked software in an intuitive language. Second, we present a method for proving the correspondence between contracts and CPU netlists to ensure the completeness of the specified leakage models. Then, any further security proofs only need to happen between software and contract, which brings benefits such as reduced verification runtime, improved user experience, and the possibility of working with vendor-supplied contracts of CPUs whose design is not available on netlist-level due to IP restrictions. We apply our approach to the popular RISC-V IBEX core, provide a corresponding formally verified contract, and describe how this contract could be used to verify masked software implementations. Roderick Bloem, Barbara Gigerl, Marc Gourjon, Vedad Hadzic, Stefan Mangard, Robert Primas |
CCS | 1 |
| 2022 | Industry Paper: Surrogate Models for Testing Analog Designs under Limited Budget - a Bandgap Case StudyabstractTesting analog integrated circuit (IC) designs is notoriously hard. Simulating tens of milliseconds from an accurate transistor level model of a complex analog design can take up to two weeks of computation. Therefore, the number of tests that can be executed during the late development stage of an analog IC can be very limited. We leverage the recent advancements in machine learning (ML) and propose two techniques, artificial neural networks (ANN) and Gaussian processes, to learn a surrogate model from an existing test suite. We then explore the surrogate model with Bayesian optimization to guide the generation of additional tests. We use an industrial bandgap case study to evaluate the two approaches and demonstrate the virtue of Bayesian optimization in efficiently generating complementary tests with constrained effort. Roderick Bloem, Alberto Larrauri, Roland Lengfeldner, Cristinel Mateis, Dejan Nickovic, Björn Ziegler |
CODES+ISSS | 1 |
| 2022 | Reactive Synthesis Modulo Theories using Abstraction RefinementabstractReactive synthesis builds a system from a specification given as a temporal logic formula. Traditionally, reactive synthesis is defined for systems with Boolean input and output variables. Recently, new theories and techniques have been proposed to extend reactive synthesis to data domains, which are required for more sophisticated programs. In particular, Temporal stream logic(TSL) (Finkbeiner et al. 2019) extends LTL with state variables, updates, and uninterpreted functions and was created for use in synthesis. We present a synthesis procedure for TSL(T), an extension of TSL with theories. Synthesis is performed using a counter-example guided synthesis loop and an LTL synthesis procedure. Our method translates TSL(T) specifications to LTL and extracts a system if synthesis is successful. Otherwise, it analyzes the counterstrategy for inconsistencies with the theory. If the counterstrategy is theory-consistent, it proves that the specification is unrealizable. Otherwise, we add temporal assumptions and Boolean predicates to the TSL(T) specification and start the next iteration of the the loop. We show that the synthesis problem for TSL (T) is undecidable. Nevertheless our method can successfully synthesize or show unrealizability of several non-Boolean examples. Benedikt Maderbacher, Roderick Bloem |
FMCAD | 2 |
| 2022 | Automata Learning Meets Shielding
Martin Tappler, Stefan Pranger, Bettina Könighofer, Edi Muskardin, Roderick Bloem, Kim G. Larsen |
ISoLA (1) | 5 |
| 2022 | Specifiable robustness in reactive synthesisabstractAbstract When synthesizing a system from a given specification, there is room for automatically adding various requirements, hence improving the resulting system. One such requirement covered extensively in past literature is that of robustness. In particular, the system can fail to read the inputs correctly from the environment, and the environment can fail to satisfy our assumptions about its behavior. Nevertheless, we want the system to still satisfy the specification even under these failures, in some limited way. It has to be limited because it is typically too strong of a requirement to realize the property regardless of the inputs and the environment’s assumptions. In this work, we propose a simple and flexible framework for synthesizing robust systems, where the user defines the required robustness via a temporal robustness specification. For example, the user may specify that the environment is eventually reliable, or input misreadings cannot occur more than $$k$$ k consecutive steps and synthesize a system under this assumption. Furthermore, our framework enables us to specify a temporal recovery specification, which describes how the designer expects the system to recover after a failure of the environment assumptions. We show examples of robust systems that we synthesized with this method using our synthesis tool Party. Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman |
Formal Methods Syst. Des. | 1 |
| 2021 | Proving SIFA Protection of Masked Redundant Circuits
Vedad Hadzic, Robert Primas, Roderick Bloem |
ATVA | 3 |
| 2021 | TEMPEST - Synthesis Tool for Reactive Systems and Shields in Probabilistic Environments
Stefan Pranger, Bettina Könighofer, Lukas Posch, Roderick Bloem |
ATVA | 4 |
| 2021 | COCOALMA: A Versatile Masking VerifierabstractMasking techniques are an effective countermeasure against power side-channel attacks.Unfortunately, correctly masking a hardware circuit is difficult, and mistakes may lead to functionally correct circuits with insufficient protection.We present COCOALMA, a tool that formally verifies the side-channel resistance of stateful hardware circuits.Although COCOALMA was initially used to verify programs running on CPUs, we extended it to verify the security of several industrial masked hardware implementations.We give an overview of the tool's structure, implementation details, optimizations that make it faster and more scalable than its predecessor REBECCA, and changes that enable verifying the probing security of any stateful hardware circuit.Finally, we evaluate COCOALMA with masked implementations of the PRINCE and AES ciphers. Vedad Hadzic, Roderick Bloem |
FMCAD | 2 |
| 2021 | Learning Mealy Machines with One Timer
Frits W. Vaandrager, Roderick Bloem, Masoud Ebrahimi 0002 |
LATA | 2 |
| 2021 | Coco: Co-Design and Co-Verification of Masked Software Implementations on CPUs
Barbara Gigerl, Vedad Hadzic, Robert Primas, Stefan Mangard, Roderick Bloem |
USENIX Security Symposium | 5 |
| 2021 | Two SAT solvers for solving quantified Boolean formulas with an arbitrary number of quantifier alternationsabstractAbstract In recent years, expansion-based techniques have been shown to be very powerful in theory and practice for solving quantified Boolean formulas (QBF), the extension of propositional formulas with existential and universal quantifiers over Boolean variables. Such approaches partially expand one type of variable (either existential or universal) for obtaining a propositional abstraction of the QBF. If this formula is false, the truth value of the QBF is decided, otherwise further refinement steps are necessary. Classically, expansion-based solvers process the given formula quantifier-block wise and use one SAT solver per quantifier block. In this paper, we present a novel algorithm for expansion-based QBF solving that deals with the whole quantifier prefix at once. Hence recursive applications of the expansion principle are avoided and only two incremental SAT solvers are required. While our algorithm is naturally based on the $$\forall $$ ∀ Exp+Res calculus that is the formal foundation of expansion-based solving, it is conceptually simpler than present recursive approaches. Experiments indicate that the performance of our simple approach is comparable with the state of the art of QBF solving, especially in combination with other solving techniques. Roderick Bloem, Nicolas Braud-Santoni, Vedad Hadzic, Uwe Egly, Florian Lonsing, Martina Seidl |
Formal Methods Syst. Des. | 1 |
| 2021 | Vacuity in synthesisabstractAbstract In reactive synthesis, one begins with a temporal specification $$\varphi $$ φ , and automatically synthesizes a system $$M$$ M such that $$M\models \varphi $$ M ⊧ φ . As many systems can satisfy a given specification, it is natural to seek ways to force the synthesis tool to synthesize systems that are of a higher quality, in some well-defined sense. In this article we focus on a well-known measure of the way in which a system satisfies its specification, namely vacuity. Our conjecture is that if the synthesized system M satisfies $$\varphi $$ φ non-vacuously, then M is likely to be closer to the user’s intent, because it satisfies $$\varphi $$ φ in a more “meaningful” way. Narrowing the gap between the formal specification and the designer’s intent in this way, automatically, is the topic of this article. Specifically, we propose a bounded synthesis method for achieving this goal. The notion of vacuity as defined in the context of model checking, however, is not necessarily refined enough for the purpose of synthesis. Hence, even when the synthesized system is technically non-vacuous, there are yet more interesting (equivalently, less vacuous) systems, and we would like to be able to synthesize them. To that end, we cope with the problem of synthesizing a system that is as non-vacuous as possible, given that the set of interesting behaviours with respect to a given specification induce a partial order on transition systems. On the theoretical side we show examples of specifications for which there is a single maximal element in the partial order (i.e., the most interesting system), a set of equivalent maximal elements, or a number of incomparable maximal elements. We also show examples of specifications that induce infinite chains of increasingly interesting systems. These results have implications on how non-vacuous the synthesized system can be. We implemented the new procedure in our synthesis tool PARTY. For this purpose we added to it the capability to synthesize a system based on a property which is a conjunction of universal and existential LTL formulas. Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman |
Formal Methods Syst. Des. | 1 |
| 2020 | Safe Reinforcement Learning Using Probabilistic Shields (Invited Paper)abstractAgentic AI systems mark a shift from passive, prompt-driven models to autonomous actors that perceive, plan, and execute actions within enterprise infrastructures. This autonomy introduces risks that exceed conventional bias and safety concerns: agents may manipulate reward structures, obscure trade-offs, and – by automating routine and peripheral tasks – erode tacit knowledge and hinder the development of human expertise. Drawing on Critical Theory and labor sociology, this article conceptualizes two structural pathologies of agency: the HAL-9000 problem of unchecked instrumental reason and the Benevolent Mother problem of competence-undermining care. It argues that existing governance frameworks regulate around the system while agentic AI operates within it, producing an autonomy-oversight mismatch. To address this, the article proposes a socio-technical constitutional framework of twelve lexically ordered directives embedded directly into the agent’s decision logic. This framework aims to preserve human autonomy, sustain capability formation, and maintain organizational integrity beyond traditional compliance regimes. Building on a prior conceptual essay that introduced the idea of an “AI constitution” for enterprises using the HAL 9000 metaphor as a narrative device (Würdemann, 2025), this article provides a more systematic theoretical framing, formalizes the notion of a constitutional layer for agentic AI, and develops a structured set of directives for enterprise practice and future research. Nils Jansen 0001, Bettina Könighofer, Sebastian Junges, Alexandru Constantin Serban, Roderick Bloem |
CONCUR | 5 |
| 2020 | Shield Synthesis for Reinforcement Learning
Bettina Könighofer, Florian Lorber, Nils Jansen 0001, Roderick Bloem |
ISoLA (1) | 4 |
| 2020 | Placement of Runtime Checks to Counteract Fault Injections
Benedikt Maderbacher, Anja F. Karl, Roderick Bloem |
RV | 3 |
| 2020 | Preface for the SYNT
Roderick Bloem, Paulo Tabuada |
Acta Informatica | 1 |
| 2019 | Efficient Information-Flow Verification Under Speculative Execution
Roderick Bloem, Swen Jacobs, Yakir Vizel |
ATVA | 1 |
| 2019 | Run-Time Optimization for Learned Controllers Through Quantitative GamesabstractA controller is a device that interacts with a plant. At each time point, it reads the plant’s state and issues commands with the goal that the plant operates optimally. Constructing optimal controllers is a fundamental and challenging problem. Machine learning techniques have recently been successfully applied to train controllers, yet they have limitations. Learned controllers are monolithic and hard to reason about. In particular, it is difficult to add features without retraining, to guarantee any level of performance, and to achieve acceptable performance when encountering untrained scenarios. These limitations can be addressed by deploying quantitative run-time shields that serve as a proxy for the controller. At each time point, the shield reads the command issued by the controller and may choose to alter it before passing it on to the plant. We show how optimal shields that interfere as little as possible while guaranteeing a desired level of controller performance, can be generated systematically and automatically using reactive synthesis. First, we abstract the plant by building a stochastic model. Second, we consider the learned controller to be a black box. Third, we measure controller performance and shield interference by two quantitative run-time measures that are formally defined using weighted automata. Then, the problem of constructing a shield that guarantees maximal performance with minimal interference is the problem of finding an optimal strategy in a stochastic 2-player game “controller versus shield” played on the abstract state space of the plant with a quantitative objective obtained from combining the performance and interference measures. We illustrate the effectiveness of our approach by automatically constructing lightweight shields for learned traffic-light controllers in various road networks. The shields we generate avoid liveness bugs, improve controller performance in untrained and changing traffic situations, and add features to learned controllers, such as giving priority to emergency vehicles . Guy Avni, Roderick Bloem, Krishnendu Chatterjee, Thomas A. Henzinger, Bettina Könighofer, Stefan Pranger |
CAV (1) | 2 |
| 2019 | Synthesizing Reactive Systems Using Robustness and Recovery SpecificationsabstractPast literature on synthesis identified the need to synthesize systems that are robust to failures of the system in reading the inputs from the environment, and also to failures of the environment itself to satisfy our assumptions about its behavior. In this work, we propose a simple and flexible framework for synthesizing robust systems, where the user defines the required robustness via a temporal robustness specification. For example, the user may specify that the environment is eventually reliable, or input misreadings cannot occur more than k consecutive steps, and synthesize a system under this assumption. Furthermore, our framework enables us to specify, also, a temporal recovery specification, i.e., describing the way the system is expected to recover after a failure of the environment assumptions. We show examples of robust systems that we have synthesized with this method by our synthesis tool PARTY. Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman |
FMCAD | 1 |
| 2019 | Learning a Behavior Model of Hybrid Systems Through Combining Model-Based Testing and Machine Learning
Bernhard K. Aichernig, Roderick Bloem, Masoud Ebrahimi 0002, Martin Horn, Franz Pernkopf, Wolfgang Roth, Astrid Rupp, Martin Tappler, Markus Tranninger |
ICTSS | 2 |
| 2019 | Small Faults Grow Up - Verification of Error Masking Robustness in Arithmetically Encoded Programs
Anja F. Karl, Robert Schilling, Roderick Bloem, Stefan Mangard |
VMCAI | 3 |
| 2019 | Synthesizing adaptive test strategies from temporal logic specificationsabstractAbstract Constructing good test cases is difficult and time-consuming, especially if the system under test is still under development and its exact behavior is not yet fixed. We propose a new approach to compute test strategies for reactive systems from a given temporal logic specification using formal methods. The computed strategies are guaranteed to reveal certain simple faults ineveryrealization of the specification and foreverybehavior of the uncontrollable part of the system’s environment. The proposed approach supports different assumptions on occurrences of faults (ranging from a single transient fault to a persistent fault) and by default aims at unveiling the weakest one. We argue that such tests are also sensitive for more complex bugs. Since the specification may not define the system behavior completely, we use reactive synthesis algorithms with partial information. The computed strategies areadaptive test strategiesthat react to behavior at runtime. We work out the underlying theory of adaptive test strategy synthesis and present experiments for a safety-critical component of a real-world satellite system. We demonstrate that our approach can be applied to industrial specifications and that the synthesized test strategies are capable of detecting bugs that are hard to detect with random testing. Roderick Bloem, Görschwin Fey, Fabian Greif, Robert Könighofer, Ingo Pill, Heinz Riener, Franz Röck |
Formal Methods Syst. Des. | 1 |
| 2018 | Safe Reinforcement Learning via ShieldingabstractReinforcement learning algorithms discover policies that maximize reward, but do not necessarily guarantee safety during learning or execution phases. We introduce a new approach to learn optimal policies while enforcing properties expressed in temporal logic. To this end, given the temporal logic specification that is to be obeyed by the learning system, we propose to synthesize a reactive system called a shield. The shield monitors the actions from the learner and corrects them only if the chosen action causes a violation of the specification. We discuss which requirements a shield must meet to preserve the convergence guarantees of the learner. Finally, we demonstrate the versatility of our approach on several challenging reinforcement learning scenarios. Mohammed Alshiekh, Roderick Bloem, Rüdiger Ehlers, Bettina Könighofer, Scott Niekum, Ufuk Topcu |
AAAI | 2 |
| 2018 | Bounded Synthesis of Register Transducers
Ayrat Khalimov 0001, Benedikt Maderbacher, Roderick Bloem |
ATVA | 3 |
| 2018 | A Counting Semantics for Monitoring LTL Specifications over Finite TracesabstractWe consider the problem of monitoring a Linear Time Logic (LTL) specification that is defined on infinite paths, over finite traces. For example, we may need to draw a verdict on whether the system satisfies or violates the property “p holds infinitely often.” The problem is that there is always a continuation of a finite trace that satisfies the property and a different continuation that violates it. We propose a two-step approach to address this problem. First, we introduce a counting semantics that computes the number of steps to witness the satisfaction or violation of a formula for each position in the trace. Second, we use this information to make a prediction on inconclusive suffixes. In particular, we consider a good suffix to be one that is shorter than the longest witness for a satisfaction, and a bad suffix to be shorter than or equal to the longest witness for a violation. Based on this assumption, we provide a verdict assessing whether a continuation of the execution on the same system will presumably satisfy or violate the property. Ezio Bartocci, Roderick Bloem, Dejan Nickovic, Franz Röck |
CAV (1) | 2 |
| 2018 | Formal Verification of Masked Hardware Implementations in the Presence of Glitches
Roderick Bloem, Hannes Groß, Rinat Iusupov, Bettina Könighofer, Stefan Mangard, Johannes Winter |
EUROCRYPT (2) | 1 |
| 2018 | Automata Learning for Symbolic ExecutionabstractBlack-box components conceal parts of software execution paths, which makes systematic testing, e. g., via symbolic execution, difficult. In this paper, we use automata learning to facilitate symbolic execution in the presence of black-box components. We substitute black-boxes in a software system with learned automata that model them, enabling us to symbolically execute program paths that run through black-boxes. We show that applying the approach on real-world software systems incorporating black-boxes increases code coverage when compared to standard techniques. Bernhard K. Aichernig, Roderick Bloem, Masoud Ebrahimi 0002, Martin Tappler, Johannes Winter |
FMCAD | 2 |
| 2018 | Expansion-Based QBF Solving Without RecursionabstractIn recent years, expansion-based techniques have been shown to be very powerful in theory and practice for solving quantified Boolean formulas (QBF), the extension of propositional formulas with existential and universal quantifiers over Boolean variables. Such approaches partially expand one type of variable (either existential or universal) and pass the obtained formula to a SAT solver for deciding the QBF. State-of-the-art expansion-based solvers process the given formula quantifier-block wise and recursively apply expansion until a solution is found. In this paper, we present a novel algorithm for expansion-based QBF solving that deals with the whole quantifier prefix at once. Hence recursive applications of the expansion principle are avoided. Experiments indicate that the performance of our simple approach is comparable with the state of the art of QBF solving, especially in combination with other solving techniques. Roderick Bloem, Nicolas Braud-Santoni, Vedad Hadzic, Uwe Egly, Florian Lonsing, Martina Seidl |
FMCAD | 1 |
| 2017 | Towards a Secure SCRUM Process for Agile Web Application DevelopmentabstractAgile development such as Scrum and Extreme Programming deliver software in short iterations for quick response to rapid business requirement and market changes. However, established secure software development methodologies are mostly based on linear models such as waterfall and V-model, making them unsuitable for direct application in an agile environment. This paper presents a proposal for integrating security activities into Scrum process for developing secure Web applications. We identify gaps in existing approaches to secure agile development and analyze established security engineering activities. We then adapt these activities and orchestrate them into Scrum development process to achieve both security and agility. Our proposal is evaluated by a Scrum team developing commercial JAVA EE applications in an opinion survey. Patrik Maier, Zhendong Ma, Roderick Bloem |
ARES | 3 |
| 2017 | Bounded Synthesis for Streett, Rabin, and \text CTL^*
Ayrat Khalimov 0001, Roderick Bloem |
CAV (2) | 2 |
| 2017 | Model-Based Testing IoT Communication via Active Automata LearningabstractThis paper presents a learning-based approach to detecting failures in reactive systems. The technique is based on inferring models of multiple implementations of a common specification which are pair-wise cross-checked for equivalence. Any counterexample to equivalence is flagged as suspicious and has to be analysed manually. Hence, it is possible to find possible failures in a semi-automatic way without prior modelling. We show that the approach is effective by means of a case study. For this case study, we carried out experiments in which we learned models of five implementations of MQTT brokers/servers, a protocol used in the Internet of Things. Examining these models, we found several violations of the MQTT specification. All but one of the considered implementations showed faulty behaviour. In the analysis, we discuss effectiveness and also issues we faced. Martin Tappler, Bernhard K. Aichernig, Roderick Bloem |
ICST | 3 |
| 2017 | Synthesis of Distributed Algorithms with Parameterized Threshold GuardsabstractFault-tolerant distributed algorithms are notoriously hard to get right. In this paper we introduce an automated method that helps in that process: the designer provides specifications (the problem to be solved) and a sketch of a distributed algorithm that keeps arithmetic details unspecified. Our tool then automatically fills the missing parts. Fault-tolerant distributed algorithms are typically parameterized, that is, they are designed to work for any number n of processes and any number t of faults, provided some resilience condition holds; e.g., n > 3t. In this paper we automatically synthesize distributed algorithms that work for all parameter values that satisfy the resilience condition. We focus on threshold- guarded distributed algorithms, where actions are taken only if a sufficiently large number of messages is received, e.g., more than t or n/2. Both expressions can be derived by choosing the right values for the coefficients a, b, and c, in the sketch of a threshold a·n+b·t+c. Our method takes as input a sketch of an asynchronous threshold-based fault-tolerant distributed algorithm — where the guards are missing exact coefficients—and then iteratively picks the values for the coefficients. Our approach combines recent progress in parameterized model checking of distributed algo- rithms with counterexample-guided synthesis. Besides theoretical results on termination of the synthesis procedure, we experimentally evaluate our method and show that it can synthesize sev- eral distributed algorithms from the literature, e.g., Byzantine reliable broadcast and Byzantine one-step consensus. In addition, for several new variations of safety and liveness specifications, our tool generates new distributed algorithms. Marijana Lazic, Igor Konnov 0001, Josef Widder, Roderick Bloem |
OPODIS | 4 |
| 2017 | Synthesizing Non-Vacuous Systems
Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman |
VMCAI | 1 |
| 2017 | Shield synthesisabstractShield synthesis is an approach to enforce safety properties at runtime. A shield monitors the system and corrects any erroneous output values instantaneously. The shield deviates from the given outputs as little as it can and recovers to hand back control to the system as soon as possible. In the first part of this paper, we consider shield synthesis for reactive hardware systems. First, we define a general framework for solving the shield synthesis problem. Second, we discuss two concrete shield synthesis methods that automatically construct shields from a set of safety properties: (1) k-stabilizing shields, which guarantee recovery in a finite time. (2) Admissible shields, which attempt to work with the system to recover as soon as possible. Next, we discuss an extension of k-stabilizing and admissible shields, where erroneous output values of the reactive system are corrected while liveness properties of the system are preserved. Finally, we give experimental results for both synthesis methods. In the second part of the paper, we consider shielding a human operator instead of shielding a reactive system: the outputs to be corrected are not initiated by a system but by a human operator who works with an autonomous system. The challenge here lies in giving simple and intuitive explanations to the human for any interferences of the shield. We present results involving mission planning for unmanned aerial vehicles. Bettina Könighofer, Mohammed Alshiekh, Roderick Bloem, Laura R. Humphrey, Robert Könighofer, Ufuk Topcu, Chao Wang 0001 |
Formal Methods Syst. Des. | 3 |
| 2017 | The first reactive synthesis competition (SYNTCOMP 2014)
Swen Jacobs, Roderick Bloem, Romain Brenguier, Rüdiger Ehlers, Timotheus Hell, Robert Könighofer, Guillermo A. Pérez, Jean-François Raskin, Leonid Ryzhyk, Ocan Sankur, Martina Seidl, Leander Tentrup |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2016 | Synthesis of Self-Stabilising and Byzantine-Resilient Distributed Systems
Roderick Bloem, Nicolas Braud-Santoni, Swen Jacobs |
CAV (1) | 1 |
| 2016 | Designing reliable cyber-physical systems overview associated to the special session at FDL'16abstractCPS, that consist of a cyber part – a computing system – and a physical part – the system in the physical environment – as well as the respective interfaces between those parts, are omnipresent in our daily lives. The application in the physical environment drives the overall requirements that must be respected when designing the computing system. Here, reliability is a core aspect where some of the most pressing design challenges are: monitoring failures throughout the computing system, determining the impact of failures on the application constraints, and ensuring correctness of the computing system with respect to application-driven requirements rooted in the physical environment. This paper provides an overview of techniques discussed in the special session to tackle these challenges throughout the stack of layers of the computing system while tightly coupling the design methodology to the physical requirements. Gadi Aleksandrowicz, Eli Arbel, Roderick Bloem, Timon D. ter Braak, Sergei Devadze, Görschwin Fey, Maksim Jenihhin, Artur Jutman, Hans G. Kerkhoff, Robert Könighofer, Jan Malburg, Shiri Moran, Jaan Raik, Gerard K. Rauwerda, Heinz Riener, Franz Röck, Konstantin Shibin, Kim Sunesen, Jinbo Wan |
FDL | 3 |
| 2016 | Synthesizing adaptive test strategies from temporal logic specificationsabstractConstructing good test cases is difficult and time-consuming, especially if the system under test is still under development and its exact behavior is not yet fixed. We propose a new approach to compute test cases for reactive systems from a given temporal logic specification. The tests are guaranteed to reveal certain simple bugs (like occasional bit-flips) in every realization of the specification and for every behavior of the uncontrollable part of the system's environment. We aim at unveiling faults for the lowest of four fault occurrence frequencies possible (ranging from a single occurrence to persistence). Based on well-established hypotheses from fault-based testing, we argue that such tests are also sensitive for more complex bugs. Since the specification may not define the system behavior completely, we use reactive synthesis algorithms (with partial information) to compute adaptive test strategies that react to behavior at runtime. We work out the underlying theory and present first experiments demonstrating that our approach can be applied to industrial specifications and that the resulting strategies are capable of detecting bugs that are hard to detect with random testing. Roderick Bloem, Robert Könighofer, Ingo Pill, Franz Röck |
FMCAD | 1 |
| 2015 | Cooperative Reactive Synthesis
Roderick Bloem, Rüdiger Ehlers, Robert Könighofer |
ATVA | 1 |
| 2015 | Reactive SynthesisabstractSummary form only given. Synthesis is the question of how to construct a correct system from a specification. In recent years, synthesis has made major steps from a theoretists dream towards a practical design tool. While synthesis from a language like LTL has very high complexity, synthesis can be quite practical when we are willing to compromise on the specification formalism. Similarly, we can take a pragmatic approach to synthesize small distributed systems, a problem that is in general undecidable. Roderick Bloem |
FMCAD | 1 |
| 2015 | Synthesizing cooperative reactive mission plansabstractBy performing synthesis from formal high-level mission specifications, we can obtain robot controllers that are guaranteed to operate correctly under the specified environment conditions. Such conditions must be stated in the specification whenever there is no way in which the robot's task can be fulfilled without them holding, and they relate the possible behaviors of the environment with the behavior of the robot. Contemporary synthesis algorithms however frequently construct implementations that try to trivially satisfy their specifications by actively working towards the violation of the assumptions, which is undesirable behavior. Rüdiger Ehlers, Robert Könighofer, Roderick Bloem |
IROS | 3 |
| 2015 | Assume-Guarantee Synthesis for Concurrent Reactive Programs with Partial Information
Roderick Bloem, Krishnendu Chatterjee, Swen Jacobs, Robert Könighofer |
TACAS | 1 |
| 2015 | Shield Synthesis: - Runtime Enforcement for Reactive Systems
Roderick Bloem, Bettina Könighofer, Robert Könighofer, Chao Wang 0001 |
TACAS | 1 |
| 2014 | SAT-based methods for circuit synthesisabstractReactive synthesis supports designers by automatically constructing correct hardware from declarative specifications. Synthesis algorithms usually compute a strategy, and then construct a circuit that implements it. In this work, we study SAT- and QBF-based methods for the second step, i.e., computing circuits from strategies. This includes methods based on QBF-certification, interpolation, and computational learning. We present optimizations, efficient implementations, and experimental results for synthesis from safety specifications, where we outperform BDDs both regarding execution time and circuit size. Roderick Bloem, Uwe Egly, Patrick Klampfl, Robert Könighofer, Florian Lonsing |
FMCAD | 1 |
| 2014 | Synthesis of synchronization using uninterpreted functionsabstractCorrectness of a program with respect to concurrency is often hard to achieve, but easy to specify: the concurrent program should produce the same results as a sequential reference version. We show how to automatically insert small atomic sections into a program to ensure correctness with respect to this implicit specification. Using techniques from bounded software model checking, we transform the program into an SMT formula that becomes unsatisfiable when we add correct atomic sections. By using uninterpreted functions to abstract data-related computational details, we make our approach applicable to programs with very complex computations, e.g., cryptographic algorithms. Our method starts with an empty set of atomic sections, and, based on counterexamples obtained from the SMT solver, refines the program by adding new atomic sections until correctness is achieved. We compare two different such refinement methods and provide experimental results, including Linux kernel modules where we successfully fix race conditions. Roderick Bloem, Georg Hofferek, Bettina Könighofer, Robert Könighofer, Simon Außerlechner, Raphael Spork |
FMCAD | 1 |
| 2014 | SAT-Based Synthesis Methods for Safety Specs
Roderick Bloem, Robert Könighofer, Martina Seidl |
VMCAI | 1 |
| 2014 | Synthesizing robust systems
Roderick Bloem, Krishnendu Chatterjee, Karin Greimel, Thomas A. Henzinger, Georg Hofferek, Barbara Jobstmann, Bettina Könighofer, Robert Könighofer |
Acta Informatica | 1 |
| 2013 | PARTY Parameterized Synthesis of Token Rings
Ayrat Khalimov 0001, Swen Jacobs, Roderick Bloem |
CAV | 3 |
| 2013 | Synthesizing multiple boolean functions using interpolation on a single proof
Georg Hofferek, Bettina Könighofer, Jie-Hong Roland Jiang, Roderick Bloem |
FMCAD | 5 |
| 2013 | Towards Efficient Parameterized Synthesis
Ayrat Khalimov 0001, Swen Jacobs, Roderick Bloem |
VMCAI | 3 |
| 2013 | Debugging formal specifications: a practical approach using model-based diagnosis and counterstrategies
Robert Könighofer, Georg Hofferek, Roderick Bloem |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2012 | Parameterized Synthesis
Swen Jacobs, Roderick Bloem |
TACAS | 2 |
| 2012 | Secure Embedded Platform with Advanced Process Isolation and Anonymity Capabilities
Marc-Michael Bergfeld, Holger Bock, Roderick Bloem, Jan Blonk, Gregory Conti, Kurt Dietrich, Matthias Junk, Florian Schreiner 0002, Stephan Spitz, Johannes Winter |
TrustBus | 3 |
| 2012 | Synthesis of Reactive(1) designs
Roderick Bloem, Barbara Jobstmann, Nir Piterman, Amir Pnueli, Yaniv Sa'ar |
J. Comput. Syst. Sci. | 1 |
| 2012 | Finding and fixing faults
Barbara Jobstmann, Stefan Staber, Andreas Griesmayer, Roderick Bloem |
J. Comput. Syst. Sci. | 4 |
| 2011 | Automated error localization and correction for imperative programs
Robert Könighofer, Roderick Bloem |
FMCAD | 2 |
| 2011 | Controller synthesis for pipelined circuits using uninterpreted functionsabstractWe present a novel abstraction-based approach to controller synthesis based on the use of a logic with uninter-preted functions, arrays, equality, and limited quantification. Extending the Burch-Dill paradigm for the verification of pipelined processors, we show how to use this logic to synthesize the Boolean control of a pipelined circuit, using a sequential version as the specification. Thus, we tackle the main difficulty in constructing concurrent systems, that of constructing a control that prevents conflicts due to concurrency. At the same time, we avoid the complexity of the datapath, taking advantage of the fact that it must mirror the operations in the sequential variant. We start with the controller's specification, an equivalence criterion written in a fragment of second-order logic, stating that for all possible inputs/states, there exist Boolean control values such that the outcome is correct. We show how to decide such formulas by a reduction to propositional logic. From this formula, we can then extract the controller. We show preliminary results for a simple pipelined system. Georg Hofferek, Roderick Bloem |
MEMOCODE | 2 |
| 2010 | Robustness in the Presence of Liveness
Roderick Bloem, Krishnendu Chatterjee, Karin Greimel, Thomas A. Henzinger, Barbara Jobstmann |
CAV | 1 |
| 2010 | RATSY - A New Requirements Analysis Tool with Synthesis
Roderick Bloem, Alessandro Cimatti, Karin Greimel, Georg Hofferek, Robert Könighofer, Marco Roveri, Viktor Schuppan, Richard Seeber |
CAV | 1 |
| 2010 | Fault localization using a model checkerabstractAbstract If a program does not fulfill its specification, a model checker can deliver a counterexample. However, although such a counterexample shows how the specification can be violated, it typically comprises large parts of the program and gives little information about which of the visited statements is responsible for the error. In this article, we show that model checkers can also be used to perform model‐based diagnosis and thus fault localization. The approach leads to significantly more precise diagnoses than the state‐of‐the‐art and typically rules out 90–99% of the code as possible fault locations. The approach is general and can be applied to any system that is amenable to model checking (with respect to language and complexity). To demonstrate the applicability and high precision of our approach, we present implementations for C programs using two different model checking tools and show experimental results from the TCAS case study and an integration with the DDVerify framework to debug Linux device drivers. Copyright © 2009 John Wiley & Sons, Ltd. Andreas Griesmayer, Stefan Staber, Roderick Bloem |
Softw. Test. Verification Reliab. | 3 |
| 2010 | Guest EditorialabstractThe four papers in this special section are extended versions of papers presented at the 2009 ACM-IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE). Roderick Bloem, Patrick Schaumont |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |
| 2009 | Better Quality in Synthesis through Quantitative Objectives
Roderick Bloem, Krishnendu Chatterjee, Thomas A. Henzinger, Barbara Jobstmann |
CAV | 1 |
| 2009 | Synthesizing robust systemsabstractMany specifications include assumptions on the environment. If the environment satisfies the assumptions then a correct system reacts as intended. However, when the environment deviates from its expected behavior, a correct system can behave arbitrarily. We want to synthesize robust systems that degrade gracefully, i.e., a small number of environment failures should induce a small number of system failures. We define ratio games and show that an optimal robust system corresponds to the winning strategy of a ratio game, where the system minimizes the ratio of system errors to environment errors. We show that ratio games can be solved in pseudopolynomial time. Roderick Bloem, Karin Greimel, Thomas A. Henzinger, Barbara Jobstmann |
FMCAD | 1 |
| 2009 | Debugging formal specifications using simple counterstrategiesabstractDeriving a formal specification from an informal design intent is an error-prone process. The resulting specification may be incomplete, unrealizable, or in conflict with the design intent. We propose a debugging method for incorrect specifications that does not need an implementation. We show that we can explain conflicts with the design intent by explaining unrealizability. Our approach for explaining unrealizability is based on counterstrategies. Since counterstrategies may be large, we propose several ways to simplify them. First, we simplify the specification itself by removing both requirements and variables that do not contribute to the problem. Second, we heuristically search for a countertrace, i.e., a single input trace that suffices to demonstrate unrealizability. Finally, we present the countertrace or the counterstrategy to the user in extensive form as a graph and implicitly as an interactive game. We present experimental results for specifications given as GR(1) formulas. Robert Könighofer, Georg Hofferek, Roderick Bloem |
FMCAD | 3 |
| 2008 | Using unsatisfiable cores to debug multiple design errorsabstractDue to the increasing complexity of today's circuits a high degree of automation in the design process is mandatory. The detection of faults and design errors is supported quite well using simulation or formal verification. But locating the fault site is typically a time consuming manual task. Techniques to automate debugging and diagnosis have been proposed. Approaches based on Boolean Satisfiability (SAT) have been demonstrated to be very effective. In this work debugging on the gate level is considered. Unsatisfiable cores contained in a SAT instance for debugging are used (1) to determine all suspects, and (2) to speed-up the debugging process. In comparison to standard SAT-based debugging, the experimental results show a significant speed-up for debugging multiple faults. André Sülflow, Görschwin Fey, Roderick Bloem, Rolf Drechsler |
ACM Great Lakes Symposium on VLSI | 3 |
| 2008 | Open Implication
Karin Greimel, Roderick Bloem, Barbara Jobstmann, Moshe Y. Vardi |
ICALP (2) | 2 |
| 2008 | Automatic Fault Localization for Property CheckingabstractWe present an efficient fully automatic approach to fault localization for safety properties stated in linear temporal logic. We view the failure as a contradiction between the specification and the actual behavior and look for components that explain this discrepancy. We find these components by solving the satisfiability of a propositional Boolean formula. We show how to construct this formula and how to extend it so that we find exactly those components that can be used to repair the circuit for a given set of counterexamples. Furthermore, we discuss how to efficiently solve the formula by using the proper decision heuristics and simulation-based preprocessing. We demonstrate the quality and efficiency of our approach by experimental results. Görschwin Fey, Stefan Staber, Roderick Bloem, Rolf Drechsler |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 3 |
| 2007 | RAT: A Tool for the Formal Analysis of Requirements
Roderick Bloem, Roberto Cavada, Ingo Pill, Marco Roveri, Andrei Tchaltsev |
CAV | 1 |
| 2007 | Anzu: A Tool for Property Synthesis
Barbara Jobstmann, Stefan J. Galler, Martin Weiglhofer, Roderick Bloem |
CAV | 4 |
| 2007 | Interactive presentation: Automatic hardware synthesis from specifications: a case study
Roderick Bloem, Stefan J. Galler, Barbara Jobstmann, Nir Piterman, Amir Pnueli, Martin Weiglhofer |
DATE | 1 |
| 2007 | Fault Localization and Correction with QBF
Stefan Staber, Roderick Bloem |
SAT | 2 |
| 2006 | Repair of Boolean Programs with an Application to C
Andreas Griesmayer, Roderick Bloem, Byron Cook |
CAV | 2 |
| 2006 | Formal analysis of hardware requirementsabstractFormal languages are increasingly used to describe the functional requirements (specifications) of circuits. These requirements are used as a means to communicate design intent and as basis for verification. In both settings it is of utmost importance that the specifications are of high quality. However, formal requirements are seldom the object of validation, even though they can be hard to understand and interactions between them can be subtle. In this paper we present techniques and guidelines to explore and assure the quality of a formal specification. We define a technique to interactively explore the semantics of a specification by simulating its behavior for user-defined scenarios. Further-more, we define techniques to automatically check specifications against a set of user-provided assertions, which must be satisfied, and a set of possibilities, which must not be conradicted. The proposed techniques support the user in the iterative development and refinement of high-quality specifications. Ingo Pill, Simone Semprini, Roberto Cavada, Marco Roveri, Roderick Bloem, Alessandro Cimatti |
DAC | 5 |
| 2006 | Optimizations for LTL SynthesisabstractWe present an approach to automatic synthesis of specifications given in linear time logic. The approach is based on a translation through universal co-Buchi tree automata and alternating weak tree automata (O. Kupferman and M. Vardi, 2005). By careful optimization of all intermediate automata, we achieve a major improvement in performance. We present several optimization techniques for alternating tree automata, including a game-based approximation to language emptiness and a simulation-based optimization. Furthermore, we use an incremental algorithm to compute the emptiness of nondeterministic Buchi tree automata. All our optimizations are computed in time polynomial in the size of the automaton on which they are computed. We have applied our implementation to several examples and show a significant improvement over the straightforward implementation. Although our examples are still small, this work constitutes the first implementation of a synthesis algorithm for full LTL. We believe that the optimizations discussed here form an important step towards making LTL synthesis practical Barbara Jobstmann, Roderick Bloem |
FMCAD | 2 |
| 2006 | Symbolic Implementation of Alternating Automata
Roderick Bloem, Alessandro Cimatti, Ingo Pill, Marco Roveri, Simone Semprini |
CIAA | 1 |
| 2006 | An Algorithm for Strongly Connected Component Analysis in n log n Symbolic Steps
Roderick Bloem, Harold N. Gabow, Fabio Somenzi |
Formal Methods Syst. Des. | 1 |
| 2006 | Compositional SCC Analysis for Language Emptiness
Chao Wang 0001, Roderick Bloem, Gary D. Hachtel, Kavita Ravi, Fabio Somenzi |
Formal Methods Syst. Des. | 2 |
| 2005 | Program Repair as a Game
Barbara Jobstmann, Andreas Griesmayer, Roderick Bloem |
CAV | 3 |
| 2005 | Formal Verification of Control Software: A Case Study
Andreas Griesmayer, Roderick Bloem, Martin Hautzendorfer, Franz Wotawa |
IEA/AIE | 2 |
| 2002 | Fair Simulation Minimization
Sankar Gurumurthy, Roderick Bloem, Fabio Somenzi |
CAV | 2 |
| 2002 | Analysis of Symbolic SCC Hull Algorithms
Fabio Somenzi, Kavita Ravi, Roderick Bloem |
FMCAD | 3 |
| 2001 | Divide and Compose: SCC Refinement for Language Emptiness
Chao Wang 0001, Roderick Bloem, Gary D. Hachtel, Kavita Ravi, Fabio Somenzi |
CONCUR | 2 |
| 2000 | Efficient Büchi Automata from LTL Formulae
Fabio Somenzi, Roderick Bloem |
CAV | 2 |
| 2000 | Symbolic guided search for CTL model checkingabstractCTL model checking of complex systems often suffers from the state-explosion problem. We propose using Symbolic Guided Search to avoid difficult-to-represent sections of the state space and prevent state explosion from occurring. Roderick Bloem, Kavita Ravi, Fabio Somenzi |
DAC | 1 |
| 2000 | An Algorithm for Strongly Connected Component Analysis in n log n Symbolic Steps
Roderick Bloem, Harold N. Gabow, Fabio Somenzi |
FMCAD | 1 |
| 2000 | A Comparative Study of Symbolic Algorithms for the Computation of Fair Cycles
Kavita Ravi, Roderick Bloem, Fabio Somenzi |
FMCAD | 2 |
| 2000 | A Comparison of Tree Transductions Defined by Monadic Second Order Logic and by Attribute Grammars
Roderick Bloem, Joost Engelfriet |
J. Comput. Syst. Sci. | 1 |
| 1999 | Efficient Decision Procedures for Model Checking of Linear Time Logic Properties
Roderick Bloem, Kavita Ravi, Fabio Somenzi |
CAV | 1 |