EDBT 2026 Demo / reviewers in the wild / expert
Giles Reger
dblp:118/0099
· DBLP profile ↗
42ranked-venue papers
16as first author
14since 2021 · last 2025
0000-0001-6353-952XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 33 · 12 first-author · 11 since 2021Theory of computation · 14 · 4 first-author · 6 since 2021Artificial intelligence and machine learning · 8 · 4 first-author · 2 since 2021Databases, data management, data science and information retrieval · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | The Vampire DiaryabstractAbstract During the past decade of continuous development, the theorem prover Vampire has become an automated solver for the combined theories of commonly-used data structures. Vampire now supports arithmetic, induction, and higher-order logic. These advances have been made to meet the demands of software verification, enabling Vampire to effectively complement SAT/SMT solvers and aid proof assistants. We explain how best to use Vampire in practice and review the main changes Vampire has undergone since its last tool presentation, focusing on the engineering principles and design choices we made during this process. Filip Bártek, Ahmed Bhayat, Robin Coutelier, Márton Hajdú, Matthias Hetzenberger, Petra Hozzová, Laura Kovács, Jakob Rath, Michael Rawson 0001, Giles Reger, Martin Suda 0001, Johannes Schoisswohl, Andrei Voronkov |
CAV (3) | 10 |
| 2025 | Formally Verified Cloud-Scale AuthorizationabstractAll critical systems must evolve to meet the needs of a growing and diversifying user base. But supporting that evolution is challenging at increasing scale: Maintainers must find a way to ensure that each change does only what is intended, and will not inadvertently change behavior for existing users. This paper presents how we addressed this challenge for the Amazon Web Services (AWS) authorization engine, invoked 1 billion times per second, by using formal verification. Over a period of four years, we built a new authorization engine, one that behaves functionally the same as its predecessor, using the verification-aware programming language Dafny. We can now confidently deploy enhancements and optimizations while maintaining the highest assurance of both correctness and backward compatibility. We deployed the new engine in 2024 without incident and customers immediately enjoyed a threefold performance improvement. The methodology we followed to build this new engine was not an off-the-shelf application of an existing verification tool, and this paper presents several key insights: 1) Rather than prove correct the existing engine, written in Java, we found it more effective to write a new engine in Dafny, a language built for verification from the ground up, and then compile the result to Java. 2) To ensure performance, debuggability, and to gain trust from stakeholders, we needed to generate readable, idiomatic Java code, essentially a transliteration of the source Dafny. 3) To ensure that the specification matches the system's actual behavior, we performed extensive differential and shadow testing throughout the development process, ultimately comparing against 1015production samples prior to deployment. Our approach demonstrates how formal verification can be effectively applied to evolve critical legacy software at scale. Aleks Chakarov, Jaco Geldenhuys, Matthew Heck, Michael Hicks 0001, Sam Huang, Georges-Axel Jaloyan, Anjali Joshi, K. Rustan M. Leino, Mikael Mayer, Sean McLaughlin, Akhilesh Mritunjai, Clément Pit-Claudel, Sorawee Porncharoenwase, Florian Rabe 0001, Marianna Rapoport, Giles Reger, Cody Roux, Neha Rungta, Robin Salkeld, Matthias Schlaipfer, Daniel Schoepe, Johanna Schwartzentruber, Serdar Tasiran, Aaron Tomb, Emina Torlak, Jean-Baptiste Tristan, Lucas G. Wagner, Michael W. Whalen, Remy Willems, Tongtong Xiang, Taejoon Byun, Joshua M. Cohen, Ruijie Fang, Junyoung Jang 0001, Jakob Rath, Syeda Hira Taqdees, Dominik Wagner 0001, Yongwei Yuan |
ICSE | 16 |
| 2024 | LLM-Generated Invariants for Bounded Model Checking Without Loop UnrollingabstractWe investigate a modification of the classical Bounded Model Checking (BMC) procedure that does not handle loops through unrolling but via modifications to the control flow graph (CFG). A portion of the CFG representing a loop is replaced by a node asserting invariants of the loop. We generate these invariants using Large Language Models (LLMs) and use a first-order theorem prover to ensure the correctness of the generated statements. We thus transform programs to loop-free variants in a sound manner. Our experimental results show that the resulting tool, ESBMC ibmc, is competitive with state-of-the-art formal verifiers for programs with unbounded loops, significantly improving the number of programs verified by the industrial-strength software verifier ESBMC and verifying programs that state-of-the-art software verifiers such as SeaHorn and VeriAbs could not. Muhammad A. A. Pirzada, Giles Reger, Ahmed Bhayat, Lucas C. Cordeiro |
ASE | 2 |
| 2023 | ALASCA: Reasoning in Quantified Linear ArithmeticabstractAbstract Automated reasoning is routinely used in the rigorous construction and analysis of complex systems. Among different theories, arithmetic stands out as one of the most frequently used and at the same time one of the most challenging in the presence of quantifiers and uninterpreted function symbols. First-order theorem provers perform very well on quantified problems due to the efficient superposition calculus, but support for arithmetic reasoning is limited to heuristic axioms. In this paper, we introduce the $$\textsc {Alasca}$$ A L A S C A calculus that lifts superposition reasoning to the linear arithmetic domain. We show that $$\textsc {Alasca}$$ A L A S C A is both sound and complete with respect to an axiomatisation of linear arithmetic. We implemented and evaluated $$\textsc {Alasca}$$ A L A S C A using the Vampire theorem prover, solving many more challenging problems compared to state-of-the-art reasoners. Konstantin Korovin, Laura Kovács, Giles Reger, Johannes Schoisswohl, Andrei Voronkov |
TACAS (1) | 3 |
| 2022 | To test, or not to test: A proactive approach for deciding complete performance test initiationabstractSoftware performance testing requires a set of inputs that exercise different sections of the code to identify performance issues. However, running tests on a large set of inputs can be a very time consuming process. It is even more problematic when test inputs are constantly growing, which is the case with a large-scale scientific organization such as CERN where the process of performing scientific experiment generates plethora of data that is analyzed by physicists leading to new scientific discoveries. Therefore, in this article, we present a test input minimization approach based on a clustering technique to handle the issue of testing on growing data. Furthermore, we use clustering information to propose an automatic approach that recommends the tester to decide when to run the complete test suite for performance testing. To demonstrate the efficacy of our approach, we applied it to two different code updates of a web service which is used at CERN and we found that the recommendation for performance test initiation made by our approach for an update with bottleneck is valid. Omar Javed, Giles Reger, Salman Zubair Toor |
IEEE Big Data | 3 |
| 2022 | The Rapid Software Verification Framework
Pamina Georgiou, Bernhard Gleiss, Ahmed Bhayat, Michael Rawson 0001, Laura Kovács, Giles Reger |
FMCAD | 6 |
| 2022 | ESBMC-CHERI: towards verification of C programs for CHERI platforms with ESBMCabstractThis paper presents ESBMC-CHERI -- the first bounded model checker capable of formally verifying C programs for CHERI-enabled platforms. CHERI provides run-time protection for the memory-unsafe programming languages such as C/C++ at the hardware level. At the same time, it introduces new semantics to C programs, making some safe C programs cause hardware exceptions on CHERI-extended platforms. Hence, it is crucial to detect memory safety violations and compatibility issues ahead of compilation. However, there are no current verification tools for reasoning over CHERI-C programs. We demonstrate the work undertaken towards implementing support for CHERI-C in our state-of-the-art bounded model checker ESBMC and the plans for future work and extensive evaluation of ESBMC-CHERI. The ESBMC-CHERI demonstration and the source code are available at https://github.com/esbmc/esbmc/tree/cheri-clang. Franz Brauße, Fedor Shmarov, Rafael Menezes, Mikhail R. Gadelha, Konstantin Korovin, Giles Reger, Lucas C. Cordeiro |
ISSTA | 6 |
| 2022 | Lemmaless Induction in Trace Logic
Ahmed Bhayat, Pamina Georgiou, Clemens Eisenhofer, Laura Kovács, Giles Reger |
CICM | 5 |
| 2021 | A Multithreaded Vampire with Shared Persistent GroundingabstractAutomated theorem provers (ATPs) typically run in a single thread. Hardware parallelism is then exploited through portfolios, in which distinct and disjoint strategies are launched as fully-independent processes and do not cooperate. Whilst there has been some historic exploration of cooperation, the technical challenge has prevented this from being fully explored in modern ATPs. The following describes the non-trivial engineering effort required to make the Vampire theorem prover multithreaded, such that multiple proof attempts coexist in the same memory space. This lays the foundations for a new generation of proof search techniques able to cooperate with other proof attempts running in parallel. As an initial demonstration, we implement a shared persistent grounding daemon that receives all clauses generated by all proof attempts and checks whether a heuristically-grounded version is unsatisfiable. The resulting multi-threaded system achieves limited contention compared to the previous process-based implementation, and persistent grounding improves performance in certain cases. Michael Rawson 0001, Giles Reger |
FMCAD | 2 |
| 2021 | lazyCoP: Lazy Paramodulation Meets Neurally Guided Search
Michael Rawson 0001, Giles Reger |
TABLEAUX | 2 |
| 2021 | Eliminating Models During Model Elimination
Michael Rawson 0001, Giles Reger |
TABLEAUX | 2 |
| 2021 | Making Theory Reasoning SimplerabstractAbstract Reasoning with quantifiers and theories is at the core of many applications in program analysis and verification. Whilst the problem is undecidable in general and hard in practice, we have been making large pragmatic steps forward. Our previous work proposed an instantiation rule for theory reasoning that produced pragmatically useful instances. Whilst this led to an increase in performance, it had its limitations as the rule produces ground instances which (i) can be overly specific, thus not useful in proof search, and (ii) contribute to the already problematic search space explosion as many new instances are introduced. This paper begins by introducing that specifically addresses these two concerns as it produces general solutions and it is a simplification rule, i.e. it replaces an existing clause by a ‘simpler’ one. Encouraged by initial success with this new rule, we performed an experiment to identify further common cases where the complex structure of theory terms blocked existing methods. This resulted in four further simplification rules for theory reasoning. The resulting extensions are implemented in the Vampire theorem prover and evaluated on SMT-LIB, showing that the new extensions result in a considerable increase in the number of problems solved, including 90 problems unsolved by state-of-the-art SMT solvers. Giles Reger, Johannes Schoisswohl, Andrei Voronkov |
TACAS (2) | 1 |
| 2021 | A taxonomy for classifying runtime verification tools
Yliès Falcone, Srdan Krstic, Giles Reger, Dmitriy Traytel |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2021 | From parametric trace slicing to rule systemsabstractAbstract Parametric runtime verification is the process of verifying properties of execution traces of (data carrying) events produced by a running system. This paper continues our work exploring the relationship between specification techniques for parametric runtime verification. Here we consider the correspondence between trace-slicing automata-based approaches and rule systems. The main contribution is a translation from quantified automata to rule systems, which has been implemented inScala. This then allows us to highlight the key differences in how the two formalisms handle data, an important step in our wider effort to understand the correspondence between different specification languages for parametric runtime verification. This paper extends a previous conference version of this paper with further examples, a proof of correctness, and an optimisation based on a notion of redundancy observed during the development of the translation. Giles Reger, David E. Rydeheard |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2020 | PerfCI: A Toolchain for Automated Performance Testing during Continuous Integration of Python ProjectsabstractSoftware performance testing is an essential quality assurance mechanism that can identify optimization opportunities. Automating this process requires strong tool support, especially in the case of Continuous Integration (CI) where tests need to run completely automatically and it is desirable to provide developers with actionable feedback. A lack of existing tools means that performance testing is normally left out of the scope of CI. In this paper, we propose a toolchain - PerfCI - to pave the way for developers to easily set up and carry out automated performance testing under CI. Our toolchain is based on allowing users to (1) specify performance testing tasks, (2) analyze unit tests on a variety of python projects ranging from scripts to full-blown flask-based web services, by extending a performance analysis framework (VyPR) and (3) evaluate performance data to get feedback on the code. We demonstrate the feasibility of our toolchain by using it on a web service running at the Compact Muon Solenoid (CMS) experiment at the world's largest particle physics laboratory --- CERN. Omar Javed, Joshua Heneage Dawes, Marta Han, Giovanni Franzoni, Andreas Pfeiffer, Giles Reger, Walter Binder |
ASE | 6 |
| 2020 | Analysing the Performance of Python-Based Web Services with the VyPR Framework
Joshua Heneage Dawes, Marta Han, Omar Javed, Giles Reger, Giovanni Franzoni, Andreas Pfeiffer |
RV | 4 |
| 2019 | Restricted Combinatory Unification
Ahmed Bhayat, Giles Reger |
CADE | 2 |
| 2019 | Old or Heavy? Decaying Gracefully with Age/Weight Shapes
Michael Rawson 0001, Giles Reger |
CADE | 2 |
| 2019 | Induction in Saturation-Based Proof Search
Giles Reger, Andrei Voronkov |
CADE | 1 |
| 2019 | Explaining Violations of Properties in Control-Flow Temporal Logic
Joshua Heneage Dawes, Giles Reger |
RV | 2 |
| 2019 | International Competition on Runtime Verification (CRV)abstractWe review the first five years of the international Competition on Runtime Verification (CRV), which began in 2014. Runtime verification focuses on verifying system executions directly and is a useful lightweight technique to complement static verification techniques. The competition has gone through a number of changes since its introduction, which we highlight in this paper. Ezio Bartocci, Yliès Falcone, Giles Reger |
TACAS (3) | 3 |
| 2019 | VyPR2: A Framework for Runtime Verification of Python Web ServicesabstractRuntime Verification (RV) is the process of checking whether a run of a system holds a given property. In order to perform such a check online, the algorithm used to monitor the property must induce minimal overhead. This paper focuses on two areas that have received little attention from the RV community: Python programs and web services. Our first contribution is the VyPR runtime verification tool for single-threaded Python programs. The tool handles specifications in our, previously introduced, Control-Flow Temporal Logic (CFTL), which supports the specification of state and time constraints over runs of functions. VyPR minimally (in terms of reachability) instruments the input program with respect to a CFTL specification and then uses instrumentation information to optimise the monitoring algorithm. Our second contribution is the lifting of VyPR to the web service setting, resulting in the VyPR2 tool. We first describe the necessary modifications to the architecture of VyPR, and then describe our experience applying VyPR2 to a service that is critical to the physics reconstruction pipeline on the CMS Experiment at CERN. Joshua Heneage Dawes, Giles Reger, Giovanni Franzoni, Andreas Pfeiffer, Giacomo Govi |
TACAS (2) | 2 |
| 2019 | First international Competition on Runtime Verification: rules, benchmarks, tools, and final results of CRV 2014abstractThe first international Competition on Runtime Verification (CRV) was held in September 2014, in Toronto, Canada, as a satellite event of the 14th international conference on Runtime Verification (RV’14). The event was organized in three tracks: (1) offline monitoring, (2) online monitoring of C programs, and (3) online monitoring of Java programs. In this paper, we report on the phases and rules, a description of the participating teams and their submitted benchmark, the (full) results, as well as the lessons learned from the competition. Ezio Bartocci, Yliès Falcone, Borzoo Bonakdarpour, Christian Colombo 0001, Normann Decker, Klaus Havelund, Yogi Joshi, Felix Klaedtke, Reed Milewicz, Giles Reger, Grigore Rosu, Julien Signoles, Daniel Thoma, Eugen Zalinescu |
Int. J. Softw. Tools Technol. Transf. | 10 |
| 2018 | A Broader View on Verification: From Static to Runtime and Back (Track Summary)
Wolfgang Ahrendt, Marieke Huisman, Giles Reger, Kristin Y. Rozier |
ISoLA (2) | 3 |
| 2018 | COST Action IC1402 Runtime Verification Beyond Monitoring
Christian Colombo 0001, Yliès Falcone, Martin Leucker, Giles Reger, César Sánchez 0001, Gerardo Schneider, Volker Stolz |
RV | 4 |
| 2018 | A Taxonomy for Classifying Runtime Verification Tools
Yliès Falcone, Srdan Krstic, Giles Reger, Dmitriy Traytel |
RV | 3 |
| 2018 | From Parametric Trace Slicing to Rule Systems
Giles Reger, David E. Rydeheard |
RV | 1 |
| 2018 | Unification with Abstraction and Theory Instantiation in Saturation-Based Reasoning
Giles Reger, Martin Suda 0001, Andrei Voronkov |
TACAS (1) | 1 |
| 2016 | The vampire and the FOOLabstractThis paper presents new features recently implemented in the theorem prover Vampire, namely support for first-order logic with a first class boolean sort (FOOL) and polymorphic arrays. In addition to having a first class boolean sort, FOOL also contains if-then-else and let-in expressions. We argue that presented extensions facilitate reasoning-based program analysis, both by increasing the expressivity of first-order reasoners and by gains in efficiency. Evgenii Kotelnikov, Laura Kovács, Giles Reger, Andrei Voronkov |
CPP | 3 |
| 2016 | Considering Typestate Verification for Quantified Event Automata
Giles Reger |
ISoLA (1) | 1 |
| 2016 | What Is a Trace? A Runtime Verification Perspective
Giles Reger, Klaus Havelund |
ISoLA (2) | 1 |
| 2016 | An Overview of MarQ
Giles Reger |
RV | 1 |
| 2016 | Third International Competition on Runtime Verification - CRV 2016
Giles Reger, Sylvain Hallé, Yliès Falcone |
RV | 1 |
| 2016 | Finding Finite Models in Multi-sorted First-Order Logic
Giles Reger, Martin Suda 0001, Andrei Voronkov |
SAT | 1 |
| 2015 | Playing with AVATAR
Giles Reger, Martin Suda 0001, Andrei Voronkov |
CADE | 1 |
| 2015 | Cooperating Proof Attempts
Giles Reger, Dmitry Tishkovsky, Andrei Voronkov |
CADE | 1 |
| 2015 | Second International Competition on Runtime Verification CRV 2015
Yliès Falcone, Dejan Nickovic, Giles Reger, Daniel Thoma |
RV | 3 |
| 2015 | Suggesting Edits to Explain Failing Traces
Giles Reger |
RV | 1 |
| 2015 | From First-order Temporal Logic to Parametric Trace Slicing
Giles Reger, David E. Rydeheard |
RV | 1 |
| 2015 | MarQ: Monitoring at Runtime with QEA
Giles Reger, Helena Cuenca Cruz, David E. Rydeheard |
TACAS | 1 |
| 2013 | A pattern-based approach to parametric specification miningabstractThis paper presents a technique for using execution traces to mine parametric temporal specifications in the form of quantified event automata (QEA) - previously introduced as an expressive and efficient formalism for runtime verification. We consider a pattern-based mining approach that uses a pattern library to generate and check potential properties over given traces, and then combines successful patterns. By using predefined models to measure the tool's precision and recall we demonstrate that our approach can effectively and efficiently extract specifications in realistic scenarios. Giles Reger, Howard Barringer, David E. Rydeheard |
ASE | 1 |
| 2012 | Quantified Event Automata: Towards Expressive and Efficient Runtime Monitors
Howard Barringer, Yliès Falcone, Klaus Havelund, Giles Reger, David E. Rydeheard |
FM | 4 |