Pierre-Loïc Garoche

dblp:24/3032 · DBLP profile ↗
← Back
22ranked-venue papers
0as first author
5since 2021 · last 2025
0000-0002-0513-6076ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 12 · 2 since 2021Theory of computation · 8 · 1 since 2021Artificial intelligence and machine learning · 2Systems, architecture and hardware · 1 · 1 since 2021Computer networks · 1Applied, interdisciplinary, general and emerging computing · 1 · 1 since 2021
YearPublicationVenuePosition
2025 Formal specification and SMT verification of quantized neural network for autonomous vehicles
Wahiba Bachiri, Yassamine Seladji, Pierre-Loïc Garoche
Sci. Comput. Program.3
2025 Formally proved specification of non-nested STL formulas as synchronous observers
Céline Bellanger, Pierre-Loïc Garoche, Matthieu Martel, Célia Picard
Sci. Comput. Program.2
2023 Equation-Directed Axiomatization of Lustre Semantics to Enable Optimized Code Validation
abstract
Model-based design tools like SCADE Suite and Simulink are often used to design safety-critical embedded software. Consequently, generating correct code from such models is crucial. We tackle this challenge on Lustre, a dataflow synchronous language that embodies the concepts that base such tools. Instead of proving correct a whole code generator, we turn an existing compiler into a certifying compiler from Lustre to C, following a translation validation approach. We propose a solution that generates both C code and an attached specification expressing a correctness result for the generated and optionally optimized code. The specification yields proof obligations that are discharged by external solvers through the Frama-C platform.
Lélio Brun, Christophe Garion, Pierre-Loïc Garoche, Xavier Thirioux
ACM Trans. Embed. Comput. Syst.3
2022 Successive Convexification for Optimal Control with Signal Temporal Logic Specifications
abstract
As the scope and complexity of modern cyber-physical systems increase, newer and more challenging mission requirements will be imposed on the optimal control of the underlying unmanned systems. This paper proposes a solution to handle complex temporal requirements formalized in Signal Temporal Logic (STL) specifications within the Successive Convexification (SCvx) algorithmic framework. This SCvx-STL solution method consists of four steps: 1) Express the STL specifications using their robust semantics as state constraints. 2) Introduce new auxiliary state variables to transform these state constraints as system dynamics, by exploiting the recursively defined structure of robust STL semantics. 3) Smooth the resulting system dynamics with polynomial smooth min- and max- functions. 4) Convexify and solve the resulting optimal control problem with the SCvx algorithm, which enjoys guaranteed convergence and polynomial time subproblem solving capability. Our approach retains the expressiveness of encoding mission requirements with STL semantics, while avoiding the usage of combinatorial optimization techniques such as Mixed-integer programming. Numerical results are shown to demonstrate its effectiveness.
Yuanqi Mao, Behçet Açikmese, Pierre-Loïc Garoche, Alexandre Chapoutot
HSCC3
2021 From Lustre to Simulink: Reverse Compilation for Embedded Systems Applications
abstract
Model-based design is now unavoidable when building embedded systems and, more specifically, controllers. Among the available model languages, the synchronous dataflow paradigm, as implemented in languages such as MATLAB Simulink or ANSYS SCADE, has become predominant in critical embedded system industries. Both of these frameworks are used to design the controller itself but also provide code generation means, enabling faster deployment to target and easier V&V activities performed earlier in the design process, at the model level. Synchronous models also ease the definition of formal specification through the use of synchronous observers, attaching requirements to the model in the very same language, mastered by engineers and tooled with simulation means or code generation. However, few works address the automatic synthesis of MATLAB Simulink annotations from lower-level models or code. This article presents a compilation process from Lustre models to genuine MATLAB Simulink, without the need to rely on external C functions or MATLAB functions. This translation is based on the modular compilation of Lustre to imperative code and preserves the hierarchy of the input Lustre model within the generated Simulink one. We implemented the approach and used it to validate a compilation toolchain, mapping Simulink to Lustre and then C, thanks to equivalence testing and checking. This backward compilation from Lustre to Simulink also provides the ability to produce automatically Simulink components modeling specification, proof arguments, or test cases coverage criteria.
Hamza Bourbouh, Pierre-Loïc Garoche, Christophe Garion, Xavier Thirioux
ACM Trans. Cyber Phys. Syst.2
2020 The Ten Lockheed Martin Cyber-Physical Challenges: Formalized, Analyzed, and Explained
abstract
Capturing and analyzing requirements of Cyber-Physical Systems (CPS) can be challenging, since CPS models typically involve time-varying and real-valued variables, physical system dynamics, or even adaptive behavior. MATLAB/Simulink is a development and simulation framework that is widely used in industry to capture such systems. In this paper, we report on the application of NASA Ames tools to perform end-to-end analysis of the Ten Lockheed Martin Challenge Problems (LMCPS). LMCPS is a set of industrial Simulink model benchmarks and natural language requirements developed by domain experts. Our framework, which integrates the tools FRET and COCOSIM, is used to: 1) elicit, explain, and formalize the semantics of the given natural language requirements; 2) generate verification code and monitors that can be automatically attached to the Simulink models; 3) perform verification by using SMT-based model checkers. FRET and COCOS1M are open source, and can be used by other researchers and practitioners to replicate our case study. We provide a categorization of recurring patterns in the formalization of the requirements and discuss the strengths and weaknesses of our automated verification approach.
Anastasia Mavridou, Hamza Bourbouh, Dimitra Giannakopoulou, Thomas Pressburger, Mohammad Hejase, Pierre-Loïc Garoche, Johann Schumann
RE6
2018 Preserving Functional Correctness of Cyber-Physical System Controllers: From Model to Code
abstract
In this paper, we outline a methodology allowing to support the formal verification of functional properties for generated code. When relying on a code generator, a model is directly mapped into the target embedded code, in C for instance. At model level, a specification can be associated to the model and used to assess the validity of the model with respect to its requirements. At code level, other means such as deductive methods can be used to ensure similar goals. While the analysis of user-specified properties at model-level is developed and tractable, the automatic verification of these specification at code level remains an open issue. We present here a framework which builds a semantics layer connecting model specification to code specification, as well as associated proof evidences. This approach has been designed and developed in the context of dataflow languages such as Simulink, SCADE or Lustre, typically used in the design of cyber-physical system controllers, but it could also be revisited in other contexts. The model is analyzed by SMT-based model checking and convex optimization-based static analysis. At code level, deductive techniques, such as implemented in Frama-C, are used to prove the functional correctness. Our approach combines static analysis with refinement to drive the proof at code level, relying on analysis results obtained at model level. The refinement relates the initial model semantics with the one of the code. This papers only outlines the methodology combining analyses. It has been applied manually on some examples. A fully implementation remains a future work.
Guillaume Davy, Christophe Garion, Pierre-Loïc Garoche, Pierre Roux 0001, Xavier Thirioux
FDL3
2018 Experiments in Verification of Linear Model Predictive Control: Automatic Generation and Formal Verification of an Interior Point Method Algorithm
abstract
Classical control of cyber-physical systems used to rely on basic linear controllers. These controllers provided a safe and robust behavior but lack the ability to perform more complex controls such as aggressive maneuvering or performing fuel-efficient controls. Another approach called optimal control is capable of computing such difficult trajectories but lacks the ability to adapt to dynamic changes in the environment. In both cases, the control was designed offline, relying on more or less complex algorithms to find the appropriate parameters. More recent kinds of approaches such as Linear Model-Predictive Control (MPC) rely on the online use of convex optimization to compute the best control at each sample time. In these settings optimization algorithms are specialized for the specific control problem and embed on the device. This paper proposes to revisit the code generation of an interior point method (IPM) algorithm, an efficient family of convex optimization, focusing on the proof of its implementation at code level. Our approach relies on the code specialization phase to produce additional annotations formalizing the intended specification of the algorithm. Deductive methods are then used to prove automatically the validity of these assertions. Since the algorithm is complex, additional lemmas are also produced, allowing the complete proof to be checked by SMT solvers only. This work is the first to address the effective formal proof of an IPM algorithm. The approach could also be generalized more systematically to code generation frameworks, producing proof certificate along the code, for numerical intensive software.
Guillaume Davy, Eric Feron, Pierre-Loïc Garoche, Didier Henrion
LPAR3
2017 Automated analysis of Stateflow models
abstract
Stateflow is a widely used modeling framework for embedded and cyberphysical systems where control software interacts with physical processes. In this work, we present a framework and a fully automated safety verification technique for Stateflow models. Our approach is two-folded: (i) we faithfully compile Stateflow models into hierarchical state machines, and (ii) we use automated logic-based verification engine to decide the validity of safety properties. The starting point of our approach is a denotational semantics of Stateflow. We propose a compilation process using continuation-passing style (CPS) denotational semantics. Our compilation technique preserves the structural and modal behavior of the system. The overall approach is implemented as an open source toolbox that can be integrated into the existing Mathworks Simulink/Stateflow modeling framework. We present preliminary experimental evaluations that illustrate the effectiveness of our approach in code generation and safety verification of industrial scale Stateflow models.
Hamza Bourbouh, Pierre-Loïc Garoche, Christophe Garion, Arie Gurfinkel, Temesghen Kahsai, Xavier Thirioux
LPAR2
2017 Automatic synthesis of k-inductive piecewise quadratic invariants for switched affine control programs
Assalé Adjé, Pierre-Loïc Garoche
Comput. Lang. Syst. Struct.2
2016 Formal Analysis of Robustness at Model and Code Level
abstract
Robustness analyses play a major role in the synthesis and analysis of controllers. For control systems, robustness is a measure of the maximum tolerable model inaccuracies or perturbations that do not destabilize the system. Analyzing the robustness of a closed-loop system can be performed with multiple approaches: gain and phase margin computation for single-input single-output (SISO) linear systems, mu analysis, IQC computations, etc. However, none of these techniques consider the actual code in their analyses.
Timothy Wang, Pierre-Loïc Garoche, Pierre Roux 0001, Romain Jobredeaux, Eric Feron
HSCC2
2015 Quadratic Zonotopes - An Extension of Zonotopes to Quadratic Arithmetics
Assalé Adjé, Pierre-Loïc Garoche, Alexis Werey
APLAS2
2015 Closed loop analysis of control command software
abstract
Recent work addressing the stability analysis of controllers at code level has been mainly focused on the controller alone. However, most of the properties of interest of control software lie in how they interact with their environment. We introduce an extension of the analysis framework to reason on the stability of closed loop systems, i.e., controllers along with a model of their physical environment, the plant. The proposed approach focuses on the closed loop stability of discrete linear control systems with saturations, interacting with a discrete linear plant. The analysis is performed in the state space domain using Lyapunov-based quadratic invariants. We specifically address the automatic synthesis of such invariants and the treatment of floating-point imprecision.
Pierre Roux 0001, Romain Jobredeaux, Pierre-Loïc Garoche
HSCC3
2015 Property-based Polynomial Invariant Generation Using Sums-of-Squares Optimization
Assalé Adjé, Pierre-Loïc Garoche, Victor Magron
SAS2
2015 Automatic Synthesis of Piecewise Linear Quadratic Invariants for Programs
Assalé Adjé, Pierre-Loïc Garoche
VMCAI2
2015 Practical policy iterations - A practical use of policy iterations for static analysis: the quadratic case
Pierre Roux 0001, Pierre-Loïc Garoche
Formal Methods Syst. Des.2
2014 Computing Quadratic Invariants with Min- and Max-Policy Iterations: A Practical Comparison
Pierre Roux 0001, Pierre-Loïc Garoche
FM2
2013 Integrating Policy Iterations in Abstract Interpreters
Pierre Roux 0001, Pierre-Loïc Garoche
ATVA2
2013 Formal Methods for the Analysis of Critical Control Systems Models: Combining Non-linear and Linear Analyses
Adrien Champion, Rémi Delmas, Michael Dierkes, Pierre-Loïc Garoche, Romain Jobredeaux, Pierre Roux 0001
FMICS4
2012 A generic ellipsoid abstract domain for linear time invariant systems
abstract
Embedded system control often relies on linear systems, which admit quadratic invariants. The parts of the code that host linear system implementations need dedicated analysis tools, since intervals or linear abstract domains will give imprecise results, if any at all, on these systems. Previous work by FERET proposes a specific abstraction for digital filters that addresses this issue on a specific class of controllers.
Pierre Roux 0001, Romain Jobredeaux, Pierre-Loïc Garoche, Eric Feron
HSCC3
2006 Accurate Centralization for Applying Model Checking on Networked Applications
abstract
Software model checkers can be applied directly to single-process programs, which typically are multithreaded. Multi-process applications cannot be model checked directly. While multiple processes can be merged manually into a single one, this process is very labor-intensive and a major obstacle towards model checking of client-server applications. Previous work has automated the merging of multiple applications but mostly omitted network communication. Remote procedure calls were simply mined, creating similar results for simple cases while removing much of the inherent complexities involved. Our goal is a fully transparent replacement of network communication. Other language features were also modeled more precisely than in previous work, resulting in a program that is much closer to the original. This makes our approach suitable for testing, debugging, and software model checking. Due to the increased faithfulness of our approach, we can treat a much larger range of applications than before
Cyrille Artho, Pierre-Loïc Garoche
ASE2
2006 Adaptive Geographically Bound Mobile Agents
Kenji Tei, Christian Sommer 0001, Yoshiaki Fukazawa, Shinichi Honiden, Pierre-Loïc Garoche
MSN5