Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Guillaume Brat

dblp:03/3836 · also Guillaume P. Brat · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Program verification
safety verification
0.212015
Verifying the Safety of a Flight-Critical System · FM 2015
Programming languages and type systems › language semantics
formal semantics
0.112009
A formal analysis of requirements-based testing · ISSTA 2009
Software testing › specification-based testing › requirements-based testing
requirements-based test generation
0.112009
A formal analysis of requirements-based testing · ISSTA 2009
Software testing › specification-based testing
requirements-based testing
0.112009
A formal analysis of requirements-based testing · ISSTA 2009
Requirements engineering and software design
requirements specification
0.112009
A formal analysis of requirements-based testing · ISSTA 2009
Program analysis
static analysis
0.122004
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.112007
Variably interprocedural program analysis for runtime error detection · ISSTA 2007
Program analysis
symbolic execution
0.112007
Variably interprocedural program analysis for runtime error detection · ISSTA 2007
Embedded and real-time systems › real-time embedded systems
avionics systems
0.112015
Verifying the Safety of a Flight-Critical System · FM 2015
Embedded and real-time systems
cyber-physical system platforms
0.112015
Verifying the Safety of a Flight-Critical System · FM 2015
Program verification
model checking
0.122001
Combining Static Analysis and Model Checking for Software Analysis · ASE 2001
Model Checking Programs · ASE 2000
Program analysis › error detection
array bounds checking
0.012004
Precise and efficient static array bound checking for large embedded C programs · PLDI 2004
Program analysis › static analysis
pointer analysis
0.012004
Precise and efficient static array bound checking for large embedded C programs · PLDI 2004
Program synthesis and code generation
deductive program synthesis
0.012001
Amphion/NAV: Deductive Synthesis of State Estimation Software · ASE 2001
Program verification › model checking
partial order reduction
0.012001
Combining Static Analysis and Model Checking for Software Analysis · ASE 2001
Logic in computer science › temporal logic
linear temporal logic
0.012009
A formal analysis of requirements-based testing · ISSTA 2009
Logic in computer science
temporal logic
0.012009
A formal analysis of requirements-based testing · ISSTA 2009
Program verification › model checking
software model checking
0.012000
Model Checking Programs · ASE 2000
Embedded and real-time systems
real-time system verification
0.011998
Analyzing Non-Deterministic Real-Time Systems with (max, +) Algebra · RTSS 1998
Electronic design automation › hardware verification and test › timing verification
timing constraint verification
0.011998
Analyzing Non-Deterministic Real-Time Systems with (max, +) Algebra · RTSS 1998
Automata and formal languages
petri nets
0.011998
Analyzing Non-Deterministic Real-Time Systems with (max, +) Algebra · RTSS 1998
Automata and formal languages › petri nets
timed petri nets
0.011998
Analyzing Non-Deterministic Real-Time Systems with (max, +) Algebra · RTSS 1998
Distributed systems › distributed data processing
distributed data analytics
0.012004
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.012000
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
YearPublicationVenuePosition
2015 Verifying the Safety of a Flight-Critical System
Guillaume Brat, David H. Bushnell, Misty D. Davies, Dimitra Giannakopoulou, Falk Howar, Temesghen Kahsai
FM1
2014 Compositional verification using formal analysis for a flight critical system
abstract
Formal 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
ITC1
2014 IKOS: A Framework for Static Analysis Based on Abstract Interpretation
Guillaume Brat, Jorge A. Navas, Nija Shi, Arnaud Venet
SEFM1
2009 A formal analysis of requirements-based testing
abstract
The 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
ISSTA3
2007 Variably interprocedural program analysis for runtime error detection
abstract
This 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
ISSTA2
2005 Challenges in verification and validation of autonomous systems for space exploration
abstract
Space 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
IJCNN1
2004 Precise and efficient static array bound checking for large embedded C programs
abstract
In 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
PLDI2
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 Analysis
abstract
We 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
ASE1
2001 Amphion/NAV: Deductive Synthesis of State Estimation Software
abstract
Previous 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
ASE9
2000 Model Checking Programs
abstract
The 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
ASE3
1998 Analyzing Non-Deterministic Real-Time Systems with (max, +) Algebra
abstract
We 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
RTSS1