VLDB 2026 Research / reviewers in the wild / expert
Michael Tautschnig
dblp:18/1323
· DBLP profile ↗
45ranked-venue papers
0as first author
6since 2021 · last 2026
0000-0002-7947-983XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 36 · 3 since 2021Theory of computation · 11 · 2 since 2021Systems, architecture and hardware · 3Artificial intelligence and machine learning · 2 · 2 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | A Neurosymbolic Approach to Natural Language Formalization and VerificationabstractAbstract Large Language Models perform well at natural language interpretation and reasoning, but their lack of formal correctness guarantees limits their adoption in regulated industries like finance and healthcare that operate under strict policies. To address this limitation, we launched Automated Reasoning checks (ARc) : a public service that (1) uses LLMs with optional human guidance to formalize natural language policies, allowing fine-grained control of the formalization process, and (2) uses inference-time autoformalization to validate logical correctness of natural language statements against those policies. ARc performs multiple redundant formalization steps at inference time, checking the formalizations for semantic equivalence. Our benchmarks show that ARc exceeds 99% soundness and achieves a near-zero false positive rate in identifying logical validity. Our approach produces auditable artifacts that substantiate the verification outcomes and can be used to improve the original text. ARc is the first commercial offering from a major cloud provider to integrate automated reasoning into a generative AI guardrail. Chenyang An, Sam Bayless, Stefano Buliani, Darion Cassel, Byron Cook, Duncan Clough, Rémi Delmas, Nafi Diallo, Ferhat Erata, Nick Feng, Dimitra Giannakopoulou, Aman Goel, Aditya Gokhale, Joe Hendrix, Victor Heorhiadi, Marc Hudak, Dejan Jovanovic, Andrew M. Kent, Benjamin Kiesl-Reiter, Jeffrey J. Kuna, Nadia Labai, Joe Lilien, Divya Raghunathan, Zvonimir Rakamaric, Niloofar Razavi, Michael Tautschnig, Ali Torkamani, Nathaniel Weir, Michael W. Whalen, Jianan Yao |
CAV (2) | 26 |
| 2025 | Let a Neural Network be Your InvariantabstractSafety verification ensures that a system avoids undesired behaviour.
Liveness complements safety, ensuring that the system also achieves its
desired objectives. A complete specification of functional correctness must
combine both safety and liveness. Proving with mathematical
certainty that a system satisfies a safety property demands presenting an
appropriate inductive invariant of the system, whereas proving liveness
requires showing a measure of progress witnessed by a ranking function.
Neural model checking has recently introduced a data-driven approach to the
formal verification of reactive systems, albeit focusing on ranking
functions and thus addressing liveness properties only. In this paper, we
extend and generalise neural model checking to additionally encompass
inductive invariants and thus safety properties as well. Given a system and
a linear temporal logic specification of safety and liveness, our approach
alternates a learning and a checking component towards the construction of a
provably sound neural certificate. Our new method introduces a neural
certificate architecture that jointly represents inductive invariants as
proofs of safety, and ranking functions as proofs of liveness. Moreover,
our new architecture is amenable to training using constraint solvers,
accelerating prior neural model checking work otherwise based on gradient
descent. We experimentally demonstrate that our method is orders of
magnitude faster than the state-of-the-art model checkers on pure liveness
and combined safety and liveness verification tasks written in
SystemVerilog, while enabling the verification of richer properties than was
previously possible for neural model checking. Mirco Giacobbe, Daniel Kroening, Abhinandan Pal, Michael Tautschnig |
NeurIPS | 4 |
| 2024 | Neural Model CheckingabstractWe introduce a machine learning approach to model checking temporal logic, with application to formal hardware verification. Model checking answers the question of whether every execution of a given system satisfies a desired temporal logic specification. Unlike testing, model checking provides formal guarantees. Its application is expected standard in silicon design and the EDA industry has invested decades into the development of performant symbolic model checking algorithms. Our new approach combines machine learning and symbolic reasoning by using neural networks as formal proof certificates for linear temporal logic. We train our neural certificates from randomly generated executions of the system and we then symbolically check their validity using satisfiability solving which, upon the affirmative answer, establishes that the system provably satisfies the specification. We leverage the expressive power of neural networks to represent proof certificates as well as the fact that checking a certificate is much simpler than finding one. As a result, our machine learning procedure for model checking is entirely unsupervised, formally sound, and practically effective. We experimentally demonstrate that our method outperforms the state-of-the-art academic and commercial model checkers on a set of standard hardware designs written in SystemVerilog. Mirco Giacobbe, Daniel Kroening, Abhinandan Pal, Michael Tautschnig |
NeurIPS | 4 |
| 2022 | Verification WitnessesabstractOver the last years, witness-based validation of verification results has become an established practice in software verification: An independent validator re-establishes verification results of a software verifier using verification witnesses, which are stored in a standardized exchange format. In addition to validation, such exchangable information about proofs and alarms found by a verifier can be shared across verification tools, and users can apply independent third-party tools to visualize and explore witnesses to help them comprehend the causes of bugs or the reasons why a given program is correct. To achieve the goal of making verification results more accessible to engineers, it is necessary to consider witnesses as first-class exchangeable objects, stored independently from the source code and checked independently from the verifier that produced them, respecting the important principle of separation of concerns. We present the conceptual principles of verification witnesses, give a description of how to use them, provide a technical specification of the exchange format for witnesses, and perform an extensive experimental study on the application of witness-based result validation, using the validators CPAchecker , UAutomizer , CPA-witness2test , and FShell-witness2test . Dirk Beyer 0001, Matthias Dangl, Daniel Dietsch, Matthias Heizmann, Thomas Lemberger 0002, Michael Tautschnig |
ACM Trans. Softw. Eng. Methodol. | 6 |
| 2021 | Model checking boot code from AWS data centersabstractAbstract This paper describes our experience with symbolic model checking in an industrial setting. We have proved that the initial boot code running in data centers at Amazon Web Services is memory safe, an essential step in establishing the security of any data center. Standard static analysis tools cannot be easily used on boot code without modification owing to issues not commonly found in higher-level code, including memory-mapped device interfaces, byte-level memory access, and linker scripts. This paper describes automated solutions to these issues and their implementation in the C Bounded Model Checker (CBMC). CBMC is now the first source-level static analysis tool to extract the memory layout described in a linker script for use in its analysis. Byron Cook, Kareem Khazem, Daniel Kroening, Serdar Tasiran, Michael Tautschnig, Mark R. Tuttle |
Formal Methods Syst. Des. | 5 |
| 2021 | Code-level model checking in the software development workflow at Amazon Web ServicesabstractAbstract This article describes a style of applying symbolic model checking developed over the course of four years at Amazon Web Services (AWS). Lessons learned are drawn from proving properties of numerous C‐based systems, for example, custom hypervisors, encryption code, boot loaders, and an IoT operating system. Using our methodology, we find that we can prove the correctness of industrial low‐level C‐based systems with reasonable effort and predictability. Furthermore, AWS developers are increasingly writing their own formal specifications. As part of this effort, we have developed a CI system that allows integration of the proofs into standard development workflows and extended the proof tools to provide better feedback to users. All proofs discussed in this article are publicly available on GitHub. Nathan Chong, Byron Cook, Jonathan Eidelman, Konstantinos Kallas, Kareem Khazem, Felipe R. Monteiro, Daniel Schwartz-Narbonne, Serdar Tasiran, Michael Tautschnig, Mark R. Tuttle |
Softw. Pract. Exp. | 9 |
| 2020 | Using model checking tools to triage the severity of security bugs in the Xen hypervisorabstractIn practice, few security bugs found in source code are urgent, but quickly identifying which ones are is hard.We describe the application of bounded model checking to triaging reported issues quickly at the cloud service provider Amazon Web Services (AWS).We focus on the job of reactive security experts who need to determine the severity of bugs found in the Xen hypervisor.We show that, using our publicly available extensions to the model checker CBMC, a security expert can obtain traces to construct security tests and estimate the severity of the reported finding within 15 minutes.We believe that the changes made to the model checker, as well as the methodology for using tools in this scenario, will generalise to other organisations and environments. Byron Cook, Björn Döbel, Daniel Kroening, Norbert Manthey, Martin Pohlack, Elizabeth Polgreen, Michael Tautschnig, Pawel Wieczorkiewicz |
FMCAD | 7 |
| 2019 | CBMC Path: A Symbolic Execution Retrofit of the C Bounded Model Checker - (Competition Contribution)abstractWe gave CBMC the ability to explore and model check single program paths, as opposed to its default whole-program model-checking behaviour. This means that CBMC, when invoked with the flag, symbolically executes one program path at a time—saving unexplored paths for later—and attempts to prove properties for only that path. By doing this repeatedly for each path that CBMC encounters, CBMC can detect property violations in a scalable and incremental way. Implementing single-path exploration raises the question of which order the paths should be explored in. Our implementation makes it easy for researchers to implement and investigate alternative path exploration strategies. Our competition contribution uses a breadth-first strategy, where diverging paths are each pushed onto a queue at program decision points, and the path to explore next is gotten by dequeueing the oldest path to have been added. Kareem Khazem, Michael Tautschnig |
TACAS (3) | 2 |
| 2018 | Model Checking Boot Code from AWS Data CentersabstractThis paper describes our experience with symbolic model checking in an industrial setting. We have proved that the initial boot code running in data centers at Amazon Web Services is memory safe, an essential step in establishing the security of any data center. Standard static analysis tools cannot be easily used on boot code without modification owing to issues not commonly found in higher-level code, including memory-mapped device interfaces, byte-level memory access, and linker scripts. This paper describes automated solutions to these issues and their implementation in the C Bounded Model Checker (CBMC). CBMC is now the first source-level static analysis tool to extract the memory layout described in a linker script for use in its analysis. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves. Byron Cook, Kareem Khazem, Daniel Kroening, Serdar Tasiran, Michael Tautschnig, Mark R. Tuttle |
CAV (2) | 5 |
| 2018 | Effective Verification for Low-Level Software with Competing InterruptsabstractInterrupt-driven software is difficult to test and debug, especially when interrupts can be nested and subject to priorities. Interrupts can arrive at arbitrary times, leading to an exponential blow-up in the number of cases to consider. We present a new formal approach to verifying interrupt-driven software based on symbolic execution. The approach leverages recent advances in the encoding of the execution traces of interacting, concurrent threads. We assess the performance of our method on benchmarks drawn from embedded systems code and device drivers, and experimentally compare it to conventional approaches that use source-to-source transformations. Our results show that our method significantly outperforms these techniques. To the best of our knowledge, our work is the first to demonstrate effective verification of low-level embedded software with nested interrupts. Lihao Liang, Tom Melham, Daniel Kroening, Peter Schrammel, Michael Tautschnig |
ACM Trans. Embed. Comput. Syst. | 5 |
| 2017 | Concurrent Program Verification with Invariant-Guided Underapproximation
Sumanth Prabhu S, Peter Schrammel, Mandayam K. Srivas, Michael Tautschnig, Anand Yeolekar |
ATVA | 4 |
| 2017 | VerifyThis 2015 - A program verification competitionabstractVerifyThis 2015 was a one-day program verification competition which took place on April 12th, 2015 in London, UK, as part of the European Joint Conferences on Theory and Practice of Software (ETAPS 2015). It was the fourth instalment in the VerifyThis competition series. This article provides an overview of the VerifyThis 2015 event, the challenges that were posed during the competition, and a high-level overview of the solutions to these challenges. It concludes with the results of the competition and some ideas and thoughts for future instalments of VerifyThis. Marieke Huisman, Vladimir Klebanov, Rosemary Monahan, Michael Tautschnig |
Int. J. Softw. Tools Technol. Transf. | 4 |
| 2016 | Information Leakage Analysis of Complex C Code and Its application to OpenSSL
Pasquale Malacaria, Michael Tautschnig, Dino Distefano |
ISoLA (1) | 2 |
| 2016 | smid: A Black-Box Program Driver
Kareem Khazem, Michael Tautschnig |
SPIN | 2 |
| 2016 | v2c - A Verilog to C Translator
Rajdeep Mukherjee, Michael Tautschnig, Daniel Kroening |
TACAS | 2 |
| 2015 | Learning the Language of Error
Martin Chapman, Hana Chockler, Pascal Kesseli, Daniel Kroening, Ofer Strichman, Michael Tautschnig |
ATVA | 6 |
| 2015 | Effective verification of low-level software with nested interrupts
Daniel Kroening, Lihao Liang, Tom Melham, Peter Schrammel, Michael Tautschnig |
DATE | 5 |
| 2015 | Closure properties and complexity of rational sets of regular languages
Andreas Holzer, Christian Schallhart, Michael Tautschnig, Helmut Veith |
Theor. Comput. Sci. | 3 |
| 2014 | Herding cats: modelling, simulation, testing, and data-mining for weak memoryabstractThere is a joke where a physicist and a mathematician are asked to herd cats. The physicist starts with an infinitely large pen which he reduces until it is of reasonable diameter yet contains all the cats. The mathematician builds a fence around himself and declares the outside to be the inside. Defining memory models is akin to herding cats: both the physicist's or mathematician's attitudes are tempting, but neither can go without the other. Jade Alglave, Luc Maranget, Michael Tautschnig |
PLDI | 3 |
| 2014 | CBMC - C Bounded Model Checker - (Competition Contribution)
Daniel Kroening, Michael Tautschnig |
TACAS | 2 |
| 2014 | Herding Cats: Modelling, Simulation, Testing, and Data Mining for Weak MemoryabstractWe propose an axiomatic generic framework for modelling weak memory. We show how to instantiate this framework for Sequential Consistency (SC), Total Store Order (TSO), C++ restricted to release-acquire atomics, and Power. For Power, we compare our model to a preceding operational model in which we found a flaw. To do so, we define an operational model that we show equivalent to our axiomatic model. We also propose a model for ARM. Our testing on this architecture revealed a behaviour later acknowledged as a bug by ARM, and more recently, 31 additional anomalies. We offer a new simulation tool, called herd, which allows the user to specify the model of his choice in a concise way. Given a specification of a model, the tool becomes a simulator for that model. The tool relies on an axiomatic description; this choice allows us to outperform all previous simulation tools. Additionally, we confirm that verification time is vastly improved, in the case of bounded model checking. Finally, we put our models in perspective, in the light of empirical data obtained by analysing the C and C++ code of a Debian Linux distribution. We present our new analysis tool, called mole, which explores a piece of code to find the weak memory idioms that it uses. Jade Alglave, Luc Maranget, Michael Tautschnig |
ACM Trans. Program. Lang. Syst. | 3 |
| 2013 | Partial Orders for Efficient Bounded Model Checking of Concurrent Software
Jade Alglave, Daniel Kroening, Michael Tautschnig |
CAV | 3 |
| 2013 | Software Verification for Weak Memory via Program Transformation
Jade Alglave, Daniel Kroening, Vincent Nimal, Michael Tautschnig |
ESOP | 4 |
| 2013 | Information Reuse for Multi-goal Reachability Analyses
Dirk Beyer 0001, Andreas Holzer, Michael Tautschnig, Helmut Veith |
ESOP | 3 |
| 2013 | Formal co-validation of low-level hardware/software interfaces
Alex Horn, Michael Tautschnig, Celina G. Val, Lihao Liang, Tom Melham, Jim Grundy, Daniel Kroening |
FMCAD | 2 |
| 2013 | On the Structure and Complexity of Rational Sets of Regular LanguagesabstractIn the recently designed and implemented test specification language FQL, relevant test goals are specified as regular expressions over program locations. To transition from single test goals to test suites, FQL describes suites as regular expressions over finite alphabets where each symbol corresponds to a regular expression over program locations. Hence, each word in a test suite expression yields a test goal specification. Such test suite specifications are in fact rational sets of regular languages (RSRLs). We show closure properties of general and finite RSRLs under common set theoretic operations. We also prove complexity results for checking equivalence and inclusion of star-free RSRLs and for checking whether a regular language is a member of a general or star-free RSRL. As the star-free (and thus finite) case underlies FQL specifications, the closure and complexity results provide a systematic foundation for FQL test specifications. Andreas Holzer, Christian Schallhart, Michael Tautschnig, Helmut Veith |
FSTTCS | 3 |
| 2012 | satabs: A Bit-Precise Verifier for C Programs - (Competition Contribution)
Gérard Basler, Alastair F. Donaldson, Alexander Kaiser 0001, Daniel Kroening, Michael Tautschnig, Thomas Wahl |
TACAS | 5 |
| 2012 | Numeric Bounds Analysis with Conflict-Driven Learning
Vijay Victor D'Silva, Leopold Haller, Daniel Kroening, Michael Tautschnig |
TACAS | 4 |
| 2012 | Proving Reachability Using FShell - (Competition Contribution)
Andreas Holzer, Daniel Kroening, Christian Schallhart, Michael Tautschnig, Helmut Veith |
TACAS | 4 |
| 2012 | Counterexample-guided abstraction refinement for symmetric concurrent programs
Alastair F. Donaldson, Alexander Kaiser 0001, Daniel Kroening, Michael Tautschnig, Thomas Wahl |
Formal Methods Syst. Des. | 4 |
| 2011 | Soundness of Data Flow Analyses for Weak Memory Models
Jade Alglave, Daniel Kroening, John Lugton, Vincent Nimal, Michael Tautschnig |
APLAS | 5 |
| 2011 | Making Software Verification Tools Really Work
Jade Alglave, Alastair F. Donaldson, Daniel Kroening, Michael Tautschnig |
ATVA | 4 |
| 2011 | Seamless Testing for Models and Code
Andreas Holzer, Visar Januzaj, Stefan Kugele, Boris Langer, Christian Schallhart, Michael Tautschnig, Helmut Veith |
FASE | 6 |
| 2011 | Improving the Confidence in Measurement-Based Timing AnalysisabstractMeasurement-based timing analysis (MBTA) is a hybrid approach that combines execution-time measurements with static program analysis techniques to obtain an estimate of the worst-case execution time (WCET) of a program. The most challenging part of MBTA is test data generation. Choosing an adequate set of test vectors determines safety and efficiency of the overall analysis. So far, there are no feasible criteria that determine how well the worst-case temporal behavior of program parts is covered by a given test-suite. In this paper we introduce a relative safety metric that compares test suites with respect to how well the observed worst-case behavior of program parts is exercised. Using this metric, we empirically show that common code coverage criteria from the domain of functional testing can produce unsafe WCET estimates in the context of MBTA for systems with a processor like the TriCore 1796. Further, we use the relative safety metric to examine coverage criteria that require all feasible pairs of, e.g., basic blocks to be exercised in combination. These are shown to be superior to code coverage criteria from the domain of functional testing, but there is still a chance that an unsafe WCET estimate is derived by MBTA in our experimental setup. Based on the outcomes of our evaluation we introduce and examine Balanced Path Generation, an input data generation technique that combines the advantages of all evaluated coverage criteria and random input data generation. Sven Bünte, Michael Zolda, Michael Tautschnig, Raimund Kirner |
ISORC | 3 |
| 2010 | Seamless Model-Driven Development Put into Practice
Wolfgang Haberl, Markus Herrmannsdoerfer, Stefan Kugele, Michael Tautschnig, Martin Wechs |
ISoLA (1) | 4 |
| 2010 | Timely Time Estimates
Andreas Holzer, Visar Januzaj, Stefan Kugele, Michael Tautschnig |
ISoLA (1) | 4 |
| 2010 | How did you specify your test suiteabstractAlthough testing is central to debugging and software certification, there is no adequate language to specify test suites over source code. Such a language should be simple and concise in daily use, feature a precise semantics, and of course, it has to facilitate suitable engines to compute test suites and assess the coverage achieved by a test suite.This paper introduces the language FQL designed to fit these purposes. We achieve the necessary expressive power by a natural extension of regular expressions which matches test suites rather than individual executions. To evaluate the language, we show for a list of informal requirements how to express them in FQL. Moreover, we present a test case generation engine for C programs and perform practical experiments with the sample specifications. Andreas Holzer, Christian Schallhart, Michael Tautschnig, Helmut Veith |
ASE | 3 |
| 2010 | Don't care in SMT: building flexible yet efficient abstraction/refinement solvers
Andreas Bauer 0002, Martin Leucker, Christian Schallhart, Michael Tautschnig |
Int. J. Softw. Tools Technol. Transf. | 4 |
| 2009 | Query-Driven Program Testing
Andreas Holzer, Christian Schallhart, Michael Tautschnig, Helmut Veith |
VMCAI | 3 |
| 2009 | Short Regular Expressions from Finite Automata: Empirical Results
Hermann Gruber, Markus Holzer 0001, Michael Tautschnig |
CIAA | 3 |
| 2008 | FShell: Systematic Test Case Generation for Dynamic Analysis and Measurement
Andreas Holzer, Christian Schallhart, Michael Tautschnig, Helmut Veith |
CAV | 3 |
| 2008 | A Model Driven Development Approach for Implementing Reactive Systems in HardwareabstractTo deal with the increasing complexity of digital systems, the model driven development approach has proven to be beneficial. This paper presents a model driven hardware design process that is dedicated to reactive embedded systems. The approach is based on the component language (COLA), a synchronous data flow language with formal semantics. COLA follows the hypothesis of perfect synchrony. Models thus do not assume specific timing properties and remain deterministic as long as data flow requirements are retained. This is an essential feature for modeling safety-critical systems. Further, the well-defined semantics not only allows that the resulting models can be formally reasoned about, but is also the key to translation to domain-specific languages. This paper describes the approach of translating the models to VHDL descriptions from their graphical representations. As COLA is well-adapted to both data flow description and control automata, the generated VHDL code can be synthesized to very efficient FPGA circuits, comparable to that synthesized from hand-written VHDL code according to our case study. Zhonglei Wang, Andreas Herkersdorf, Stefano Merenda, Michael Tautschnig |
FDL | 4 |
| 2008 | Optimizing Automatic Deployment Using Non-functional Requirement Annotations
Stefan Kugele, Wolfgang Haberl, Michael Tautschnig, Martin Wechs |
ISoLA | 3 |
| 2008 | Navigating the Requirements Jungle
Boris Langer, Michael Tautschnig |
ISoLA | 2 |
| 2007 | Tool-support for the analysis of hybrid systems and modelsabstractThis paper introduces a method and tool-support for the automatic analysis and verification of hybrid and embedded control systems, whose continuous dynamics are often modelled using MATLAB/Simulink. The method is based upon converting system models into the uniform input language of our efficient multi-domain constraint solving library, ABSOLVER, which is then used for subsequent analysis. Basically, ABSOLVER is an extensible SMT-solver which addresses mixed Boolean and (nonlinear) arithmetic constraint problems as they appear in the design of hybrid control systems. It allows the integration and semantic connection of various domain specific solvers via a logical circuit, such that almost arbitrary multi-domain constraint problems can be formulated and solved. Its design has been tailored for extensibility, and thus facilitates the reuse of expert knowledge, in that the most appropriate solver for a given task can be integrated and used. As such the only constraint over the problem domain is the capability of the employed solvers. Our approach to systems verification has been validated in an industrial case study using the model of a car's steering control system. However, additional benchmarks show that other hard instances of problems could also be solved by ABSOLVER in respectable time, and that for some instances, ABsOLVER's approach was the only means of solving a problem at all Andreas Bauer 0002, Markus Pister 0001, Michael Tautschnig |
DATE | 3 |