Erwan Jahier

dblp:72/502 · DBLP profile ↗
← Back
14ranked-venue papers
10as first author
4since 2021 · last 2025
0000-0002-3042-1565ORCID · corroborated

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

Software engineering, systems software and programming languages · 6 · 5 first-authorApplied, interdisciplinary, general and emerging computing · 3 · 1 first-author · 1 since 2021Security and privacy · 2 · 2 first-author · 2 since 2021Theory of computation · 2 · 2 first-author · 1 since 2021Artificial intelligence and machine learning · 1Computer networks · 1
YearPublicationVenuePosition
2025 Model checking of distributed algorithms using synchronous programs
abstract
The development of trustworthy distributed algorithms requires the verification of some key properties with respect to the formal specification of the expected system executions. The atomic-state model (ASM) is the most commonly used computational model to reason on self-stabilizing algorithms. In this work, we propose methods and tools to automatically verify the self-stabilization of distributed algorithms defined in that model. To that goal, we exploit the similarities between the ASM and computational models issued from the synchronous programming area to reuse their associated verification tools, and in particular their model checkers. This allows the automatic verification of all safety properties (including bounded liveness) of any algorithm under various asynchrony assumptions (from fully asynchronous to fully synchronous) and regardless of the hypotheses on the network ( e.g. , on its topology, its edge and node labeling). • We propose a language-based framework to verify distributed algorithms written in the atomic-state model. • The approach is modular due to a clear separation between the description of algorithms, daemons, topologies, and properties. • We illustrate our proposal by verifying various self-stabilizing algorithms, solving both static and dynamic tasks. • The versatility does not come at the price of sacrificing too much efficiency in terms of verification time.
Erwan Jahier, Karine Altisen, Stéphane Devismes, Gabriel B. Sant'Anna
Theor. Comput. Sci.1
2023 Exploring Worst Cases of Self-stabilizing Algorithms Using Simulations
Erwan Jahier, Karine Altisen, Stéphane Devismes
SSS1
2023 Model Checking of Distributed Algorithms Using Synchronous Programs
Erwan Jahier, Karine Altisen, Stéphane Devismes, Gabriel B. Sant'Anna
SSS1
2023 sasa: a SimulAtor of Self-stabilizing Algorithms
abstract
Abstract In this paper, we present sasa, an open-source SimulAtor of Self-stabilizing Algorithms. Self-stabilization defines the ability of a distributed algorithm to recover after transient failures. sasa is implemented as a faithful representation of the atomic-state model (also called the locally shared memory model with composite atomicity). This model is the most commonly used one in the self-stabilizing area to prove both the correct operation of self-stabilizing algorithms and complexity bounds on them. sasa encompasses all features necessary to debug, test and analyze self-stabilizing algorithms. All these facilities are programmable to enable users to accommodate to their particular needs. For example, asynchrony is modeled by programmable stochastic daemons playing the role of input sequence generators. Properties of algorithms can be checked using formal test oracles. The sasa distribution also provides several facilities to easily achieve (batch-mode) simulation campaigns. We show that the lightweight design of sasa allows to efficiently perform huge such campaigns. Following a modular approach, we have aimed at relying as much as possible the design of sasa on existing tools, including ocaml, dot and several tools developed in the Synchrone Group of the VERIMAG laboratory.
Karine Altisen, Stéphane Devismes, Erwan Jahier
Comput. J.3
2016 Environment-Model Based Testing with Differential Evolution in an Industrial Setting
Annamária Szenkovits, Noémi Gaskó, Erwan Jahier
EvoApplications (1)3
2016 RDBG: a Reactive Programs Extensible Debugger
abstract
Debugging reactive programs requires to provide a lot of inputs -- at each reaction step. Moreover, because a reactive system reacts to an environment it tries to control, providing realistic inputs can be hard. The same considerations apply for automatic testing. This work take advantage on previous work on automated testing of reactive programs that close this feedback loop.
Erwan Jahier
SCOPES1
2014 Environment-Model Based Testing of Control Systems: Case Studies
Erwan Jahier, Simplice Djoko Djoko, Chaouki Maiza, Eric Lafont
TACAS1
2009 Synchronous Modeling and Validation of Priority Inheritance Schedulers
Erwan Jahier, Nicolas Halbwachs, Pascal Raymond
FASE1
2007 Virtual execution of AADL models via a translation into synchronous programs
abstract
Architecture description languages are used to describe both the hardware and software architecture of an application, at system-level. The basic software components are intended to be developed independently, and then deployed on the described architecture. This separate development of the architecture and of the software raises the problem of early validation of the integrated system.
Erwan Jahier, Nicolas Halbwachs, Pascal Raymond, Xavier Nicollin, David Lesens
EMSOFT1
2006 On the Importance of Modeling the Environment when Analyzing Sensor Networks
abstract
A sensor network may be considered as a large and complex computer system embedded in the physical environment that has some influence on the sensors. The environment is the source of (almost) all activity that occurs in the network. With a simple example modeled in our tool GLONEMO, we show the influence of an environment model that allows to describe correlated stimuli on the set of sensors at a given instant, and also correlations between successive instants
Ludovic Samper, Florence Maraninchi, Erwan Jahier
SECON3
2006 Describing and Executing Random Reactive Systems
abstract
We present an operational model for describing random reactive systems. Some models have already been proposed for this purpose, but they generally aim at performing global reasoning on systems, such as stochastic analysis, or formal proofs. Our goal is somehow less ambitious, since we are rather interested in executing such models, for testing or prototyping. But on the other hand, the proposed model is not restricted by decidability issues. Therefore it can be more expressive: in particular, our model is not restricted to finite-state descriptions. The proposed model is rather general: systems are described as implicit state/transition machines, possibly infinite, where probabilities are expressed by means of relative weights. The model itself is more an abstract machine than a programming language. The idea is then to propose highlevel, user-friendly languages that can be compiled into the model. We present such a language, based on regular expressions, together with its translation into the model.
Pascal Raymond, Erwan Jahier, Yvan Roux
SEFM2
2006 Case studies with Lurette V2
Erwan Jahier, Pascal Raymond, Philippe Baufreton
Int. J. Softw. Tools Technol. Transf.1
2002 Generic program monitoring by trace analysis
abstract
Program execution monitoring consists of checking whole executions for given properties, and collecting global run-time information. Monitoring gives valuable insights and helps programmers maintain their programs. However, application developers face the following dilemma: either they use existing monitoring tools which never exactly fit their needs, or they invest a lot of effort to implement relevant monitoring code. In this paper, we argue that when an event-oriented tracer exists, the compiler developers can enable the application developers to easily code their own monitors. We propose a high-level primitive called foldt which operates on execution traces. One of the key advantages of our approach is that it allows a clean separation of concerns; the definition of monitors is totally distinct from both the user source code and the language compiler. We give a number of applications of the use of foldt to define monitors for Mercury program executions: execution profiles, graphical abstract views, and two test coverage measurements. Each example is implemented by a few simple lines of Mercury.
Erwan Jahier, Mireille Ducassé
Theory Pract. Log. Program.1
1999 A Generic Approach to Monitor Program Executions
Erwan Jahier, Mireille Ducassé
ICLP1