EDBT 2026 Demo / reviewers in the wild / expert
Guillaume Brat
dblp:03/3836 · also Guillaume P. Brat
· DBLP profile ↗
13ranked-venue papers
7as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 3 first-authorTheory of computation · 2 · 2 first-authorArtificial intelligence and machine learning · 1 · 1 first-authorSystems, architecture and hardware · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
7 papers |
Program analysis · 32% Program verification · 29% Software testing · 16% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Embedded and real-time systems · 81% Electronic design automation · 11% Distributed systems · 8% | |
| Theoretical computer science
2 papers |
Logic in computer science · 58% Automata and formal languages · 42% |
Topics — the 24 heaviest of 27, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program verification
safety verification |
0.2 | 1 | 2015 | Verifying the Safety of a Flight-Critical System · FM 2015 |
Programming languages and type systems › language semantics
formal semantics |
0.1 | 1 | 2009 | A formal analysis of requirements-based testing · ISSTA 2009 |
Software testing › specification-based testing › requirements-based testing
requirements-based test generation |
0.1 | 1 | 2009 | A formal analysis of requirements-based testing · ISSTA 2009 |
Software testing › specification-based testing
requirements-based testing |
0.1 | 1 | 2009 | A formal analysis of requirements-based testing · ISSTA 2009 |
Requirements engineering and software design
requirements specification |
0.1 | 1 | 2009 | A formal analysis of requirements-based testing · ISSTA 2009 |
Program analysis
static analysis |
0.1 | 2 | 2004 | Precise and efficient static array bound checking for large embedded C programs · PLDI 2004 Combining Static Analysis and Model Checking for Software Analysis · ASE 2001 |
Program analysis › error detection
runtime error detection |
0.1 | 1 | 2007 | Variably interprocedural program analysis for runtime error detection · ISSTA 2007 |
Program analysis
symbolic execution |
0.1 | 1 | 2007 | Variably interprocedural program analysis for runtime error detection · ISSTA 2007 |
Embedded and real-time systems › real-time embedded systems
avionics systems |
0.1 | 1 | 2015 | Verifying the Safety of a Flight-Critical System · FM 2015 |
Embedded and real-time systems
cyber-physical system platforms |
0.1 | 1 | 2015 | Verifying the Safety of a Flight-Critical System · FM 2015 |
Program verification
model checking |
0.1 | 2 | 2001 | Combining Static Analysis and Model Checking for Software Analysis · ASE 2001 Model Checking Programs · ASE 2000 |
Program analysis › error detection
array bounds checking |
0.0 | 1 | 2004 | Precise and efficient static array bound checking for large embedded C programs · PLDI 2004 |
Program analysis › static analysis
pointer analysis |
0.0 | 1 | 2004 | Precise and efficient static array bound checking for large embedded C programs · PLDI 2004 |
Program synthesis and code generation
deductive program synthesis |
0.0 | 1 | 2001 | Amphion/NAV: Deductive Synthesis of State Estimation Software · ASE 2001 |
Program verification › model checking
partial order reduction |
0.0 | 1 | 2001 | Combining Static Analysis and Model Checking for Software Analysis · ASE 2001 |
Logic in computer science › temporal logic
linear temporal logic |
0.0 | 1 | 2009 | A formal analysis of requirements-based testing · ISSTA 2009 |
Logic in computer science
temporal logic |
0.0 | 1 | 2009 | A formal analysis of requirements-based testing · ISSTA 2009 |
Program verification › model checking
software model checking |
0.0 | 1 | 2000 | Model Checking Programs · ASE 2000 |
Embedded and real-time systems
real-time system verification |
0.0 | 1 | 1998 | Analyzing Non-Deterministic Real-Time Systems with (max, +) Algebra · RTSS 1998 |
Electronic design automation › hardware verification and test › timing verification
timing constraint verification |
0.0 | 1 | 1998 | Analyzing Non-Deterministic Real-Time Systems with (max, +) Algebra · RTSS 1998 |
Automata and formal languages
petri nets |
0.0 | 1 | 1998 | Analyzing Non-Deterministic Real-Time Systems with (max, +) Algebra · RTSS 1998 |
Automata and formal languages › petri nets
timed petri nets |
0.0 | 1 | 1998 | Analyzing Non-Deterministic Real-Time Systems with (max, +) Algebra · RTSS 1998 |
Distributed systems › distributed data processing
distributed data analytics |
0.0 | 1 | 2004 | Precise and efficient static array bound checking for large embedded C programs · PLDI 2004 |
Runtime systems and virtual machines › virtual machine implementation
java virtual machine |
0.0 | 1 | 2000 | Model Checking Programs · ASE 2000 |
Methods — techniques the papers use, named apart from their topics
formal verification · 0.4formal semantics · 0.2LTL · 0.2pointer analysis · 0.1numerical analysis · 0.1abstract interpretation · 0.1symbolic execution · 0.1constraint solving · 0.1partial order reduction · 0.1sup- and inf-convolution · 0.0(max,+) algebra · 0.0model checking · 0.0graphical specification · 0.0fortran subroutine composition · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Verifying the Safety of a Flight-Critical System
Guillaume Brat, David H. Bushnell, Misty D. Davies, Dimitra Giannakopoulou, Falk Howar, Temesghen Kahsai |
FM | 1 |
| 2014 | Compositional verification using formal analysis for a flight critical systemabstractFormal methods are seen as a cheaper and more exhaustive solution to the current expensive testing process used in the aviation industry. However, aviation systems are getting more and more complex. So, formal methods have no hope to address these systems unless some compositional argument is being made. In this talk, I will present the results of the effort led by NASA to demonstrate the use of formal methods and compositional verification for the V&V of safety requirements of a flight critical system. The talk will show how the formal arguments made at the component level are being composed into a system-level argument. The study is done on Simulink models for a quad-redundant flight control system for a transport class airplane. Guillaume Brat |
ITC | 1 |
| 2014 | IKOS: A Framework for Static Analysis Based on Abstract Interpretation
Guillaume Brat, Jorge A. Navas, Nija Shi, Arnaud Venet |
SEFM | 1 |
| 2009 | A formal analysis of requirements-based testingabstractThe aim of requirements-based testing is to generate test cases from a set of requirements for a given system or piece of software. In this paper we propose a formal semantics for the generation of test cases from requirements by revising and extending the results presented in previous works (e.g.: [21, 20, 13]). We give a syntactic characterisation of our method, defined inductively over the syntax of LTL formulae, and prove that this characterisation is sound and complete, given some restrictions on the formulae that can be used to encode requirements. We provide various examples to show the applicability of our approach. Charles Pecheur, Franco Raimondi, Guillaume Brat |
ISSTA | 3 |
| 2007 | Variably interprocedural program analysis for runtime error detectionabstractThis paper describes an analysis approach based on a combination of static and dynamic techniques to find run-time errors in Java code. It uses symbolic execution to find constraints under which an error (e.g., a null pointer dereference, array out of bounds access, or assertion violation) may occur and then solves these constraints to find test inputs that may expose the error. It only alerts the user to the possibility of a real error when it detects the expected exception during a program run. The analysis is customizable in two important ways. First, we can adjust how deeply to follow calls from each top-level method. Second, we can adjust the path termination condition for the symbolic execution engine to be either a bound on the path condition length or a bound on the number of times each instruction can be revisited. We evaluated the tool on a set of benchmarks from the literature as well as a number of real-world systems that range in size from a few thousand to 50,000 lines of code. The tool discovered all known errors in the benchmarks (as well as some not previously known) and reported on average 8 errors per 1000 lines of code for the industrial examples. In both cases the interprocedural call depth played little role in the error detection. That is, an intraprocedural analysis seems adequate for the class of errors we detect. Aaron Tomb, Guillaume Brat, Willem Visser |
ISSTA | 2 |
| 2005 | Challenges in verification and validation of autonomous systems for space explorationabstractSpace exploration applications offer a unique opportunity for the development and deployment of autonomous systems, due to limited communications, large distances, and great expense of direct operation. At the same time, the risk and cost of space missions leads to reluctance to taking on new, complex and difficult-to-understand technology. A key issue in addressing these concerns is the validation of autonomous systems. In recent years, higher-level autonomous systems have been applied in space applications. In this presentation, we highlight those autonomous systems, and discuss issues in validating these systems. We then look to future demands on validating autonomous systems for space, identify promising technologies and open issues. Guillaume Brat, Ari K. Jónsson |
IJCNN | 1 |
| 2004 | Precise and efficient static array bound checking for large embedded C programsabstractIn this paper we describe the design and implementation of a static array-bound checker for a family of embedded programs: the flight control software of recent Mars missions. These codes are large (up to 280 KLOC), pointer intensive, heavily multithreaded and written in an object-oriented style, which makes their analysis very challenging. We designed a tool called C Global Surveyor (CGS) that can analyze the largest code in a couple of hours with a precision of 80%. The scalability and precision of the analyzer are achieved by using an incremental framework in which a pointer analysis and a numerical analysis of array indices mutually refine each other. CGS has been designed so that it can distribute the analysis over several processors in a cluster of machines. To the best of our knowledge this is the first distributed implementation of static analysis algorithms. Throughout the paper we will discuss the scalability setbacks that we encountered during the construction of the tool and their impact on the initial design decisions. Arnaud Venet, Guillaume Brat |
PLDI | 2 |
| 2004 | Experimental Evaluation of Verification and Validation Tools on Martian Rover Software
Guillaume Brat, Doron Drusinsky, Dimitra Giannakopoulou, Allen Goldberg, Klaus Havelund, Michael R. Lowry, Corina Pasareanu, Arnaud Venet, Willem Visser, Richard Washington |
Formal Methods Syst. Des. | 1 |
| 2003 | Model Checking Programs
Willem Visser, Klaus Havelund, Guillaume Brat, Seungjoon Park, Flavio Lerda |
Autom. Softw. Eng. | 3 |
| 2001 | Combining Static Analysis and Model Checking for Software AnalysisabstractWe present an iterative technique in which model checking and static analysis are combined to verify large software systems. The role of the static analysis is to compute partial order information which the model checker uses to reduce the state space. During exploration, the model checker also computes aliasing information that it gives to the static analyzer which can then refine its analysis. The result of this refined analysis is then fed back to the model checker which updates its partial order reduction. At each step of this iterative process, the static analysis computes optimistic information which results in an unsafe reduction of the state space. However, we show that the process converges to a fixed point at which time the partial order information is safe and the whole state space is explored. Guillaume Brat, Willem Visser |
ASE | 1 |
| 2001 | Amphion/NAV: Deductive Synthesis of State Estimation SoftwareabstractPrevious work on domain-specific deductive program synthesis described the Amphion/NAIF system for generating Fortran code from high-level graphical specifications describing problems in space system geometry. Amphion/NAIF specifications describe input-output functions that compute geometric quantities (e.g., the distance between two planets at a point in time, or the time when a radio communication path between a spacecraft and earth is occluded) by composing together Fortran subroutines from the NAIF subroutine library developed at the Jet Propulsion Laboratory. In essence, Amphion/NAIF synthesizes code for glueing together the NAIF components in a way such that the generated code implements the specification, with a concurrently generated proof that this implementation is correct. Amphion/NAIF demonstrated the success of domain-specific deductive program synthesis and is still in use today within the space science community. However, a number of questions remained open that we will attempt to answer in this paper. Jon Whittle 0001, Jeffrey Van Baalen, Johann Schumann, Peter Robinson 0004, Thomas Pressburger, John Penix, Phil Oh, Michael R. Lowry, Guillaume Brat |
ASE | 9 |
| 2000 | Model Checking ProgramsabstractThe majority of the work carried out in the formal methods community throughout the last three decades has (for good reasons) been devoted to special languages designed to make it easier to experiment with mechanized formal methods such as theorem provers and model checkers. In this paper, we give arguments for why we believe it is time for the formal methods community to shift some of its attention towards the analysis of programs written in modern programming languages. In keeping with this philosophy, we have developed a verification and testing environment for Java, called Java PathFinder (JPF), which integrates model checking, program analysis and testing. Part of this work has consisted of building a new Java Virtual Machine that interprets Java bytecode. JPF uses state compression to handle large states, and partial order reduction, slicing, abstraction and run-time analysis techniques to reduce the state space. JPF has been applied to a real-time avionics operating system developed at Honeywell, illustrating an intricate error, and to a model of a spacecraft controller, illustrating the combination of abstraction, run-time analysis and slicing with model checking. Willem Visser, Klaus Havelund, Guillaume Brat, Seungjoon Park |
ASE | 3 |
| 1998 | Analyzing Non-Deterministic Real-Time Systems with (max, +) AlgebraabstractWe describe a hierarchical technique that allows a class of non deterministic timed Petri nets to be analyzed using the (max,+) algebra (F. Baccelli et al., 1992; G. Brat and V.K. Garg, 1998) of periodic signals. We show that the timing and controllability analysis of such systems is possible via the use of sup- and inf-convolution operations within the (max,+) framework. We apply this technique to the verification of timing constraints in an intelligent structural control system and compare our technique to other modeling tools for real time systems. Guillaume Brat, Vijay K. Garg |
RTSS | 1 |