Fabienne Boyer

dblp:54/50 · DBLP profile ↗
← Back
19ranked-venue papers
5as first author
2since 2021 · last 2026
0000-0002-4603-4041ORCID · corroborated

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

Software engineering, systems software and programming languages · 11 · 5 first-authorSystems, architecture and hardware · 4 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 2Security and privacy · 1Databases, data management, data science and information retrieval · 1 · 1 since 2021Theory of computation · 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
3 papers
Requirements engineering and software design · 40% Software maintenance and evolution · 40% Program verification · 20%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Distributed systems · 84% Hardware reliability and fault tolerance · 16%
Network and information security
1 paper
Systems and software security · 56% Network security · 44%

Topics — the 10 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design
software architecture
0.222013
Robust reconfigurations of component assemblies · ICSE 2013
Using components for architecture-based management: the self-repair case · ICSE 2008
Distributed systems
fault tolerance
0.222013
Robust reconfigurations of component assemblies · ICSE 2013
Using components for architecture-based management: the self-repair case · ICSE 2008
Software maintenance and evolution › software evolution › software adaptation
dynamic reconfiguration
0.212013
Robust reconfigurations of component assemblies · ICSE 2013
Network security › intrusion detection and prevention
intrusion detection
0.112012
Self-Protection in a Clustered Distributed System · IEEE Trans. Parallel Distributed Syst. 2012
Systems and software security › secure system design
self-protecting systems
0.112012
Self-Protection in a Clustered Distributed System · IEEE Trans. Parallel Distributed Syst. 2012
Distributed systems
distributed coordination and fault tolerance
0.112012
Self-Protection in a Clustered Distributed System · IEEE Trans. Parallel Distributed Syst. 2012
Program verification
protocol verification
0.112011
Specifying and Verifying the SYNERGY Reconfiguration Protocol with LOTOS NT and CADP · FM 2011
Software maintenance and evolution › software evolution › software adaptation
self-healing systems
0.112008
Using components for architecture-based management: the self-repair case · ICSE 2008
Hardware reliability and fault tolerance
self-healing
0.112008
Using components for architecture-based management: the self-repair case · ICSE 2008
Distributed systems
distributed coordination
0.012011
Specifying and Verifying the SYNERGY Reconfiguration Protocol with LOTOS NT and CADP · FM 2011

Methods — techniques the papers use, named apart from their topics

formal specification and proof · 0.3coq · 0.3structural knowledge · 0.3firewall-based intrusion detection · 0.3LOTOS NT · 0.2CADP · 0.2
YearPublicationVenuePosition
2026 ZeroSwap: A Practical Solution to the Double Swapping Problem in Virtualized Environments
Luc Mahop, Kilian Kemgne, Baptiste Lepers, Fabienne Boyer, Alain Tchana
ICDCS4
2023 Solving the IoT Cascading Failure Dilemma Using a Semantic Multi-agent System
Amal Guittoum, Francois Aissaoui, Sébastien Bolle, Fabienne Boyer, Noel De Palma
ISWC4
2018 Architecture-Based Automated Updates of Distributed Microservices
Fabienne Boyer, Xavier Etchevers, Noel De Palma, Xinxiu Tao
ICSOC1
2017 A robust reconfiguration protocol for the dynamic update of component-based software systems
abstract
Summary This paper focuses on the dynamic reconfiguration of component‐based software systems. From a structural point of view, such systems are made of components linked together through their provided and required services, the code of components being defined by modules (e.g., jar files). Today, the ability to reconfigure component‐based systems at runtime faces limitations. Some component frameworks allow to dynamically reconfigure components – starting or stopping them, or changing how they are wired together for instance – but forbid any dynamic evolution of the modules defining their code. Other frameworks allow to dynamically update modules but at the cost of loosing control on component wires, preventing software architects or tools alike to decide how components are wired together. In this paper, we propose a component framework that addresses these limitations through a unified approach for the management of components and modules. Our approach uniquely enables to reconfigure both components and modules at runtime, without restrictions. We prototyped the proposed framework in Java and exercised various dynamic reconfigurations of component‐based systems. Furthermore, we formalized this framework and proved the correctness of its reconfiguration protocol with the Coq proof assistant. Copyright © 2017 John Wiley & Sons, Ltd.
Fabienne Boyer, Olivier Gruber, Damien Pous
Softw. Pract. Exp.1
2017 Reliable self-deployment of distributed cloud applications
abstract
Cloud applications consist of a set of interconnected software elements distributed over several virtual machines, themselves hosted on remote physical servers. Most existing solutions for deploying such applications require human intervention to configure parts of the system, do not conform to functional dependencies among elements that must be respected when starting them, and do not handle virtual machine failures that can occur when deploying an application. This paper presents a self-deployment protocol that was designed to automatically configure a set of software elements to be deployed on different virtual machines. This protocol works in a decentralized way, that is, there is no need for a centralized server. It also starts the software elements in a certain order, respecting important architectural invariants. This protocol supports virtual machine and network failures and always succeeds in deploying an application when faced with a finite number of failures. Designing such highly parallel management protocols is difficult; therefore, formal modeling techniques and verification tools were used for validation purposes. The protocol was implemented in Java and was used to deploy industrial applications. Copyright © 2016 John Wiley & Sons, Ltd.
Xavier Etchevers, Gwen Salaün, Fabienne Boyer, Thierry Coupaye, Noel De Palma
Softw. Pract. Exp.3
2014 Full autonomic repair for distributed applications
abstract
Grid or cloud environments leverage the need for self-repair solutions that resist and repair their own failures, something not yet ensured by existing solutions. In this paper, we describe the JADE Autonomic Repair System for legacy applications deployed in a grid or cloud environment. JADE is based on three main design principles. First, legacy applications are wrapped with Java objects, obtaining a uniform set of management operations over the heterogeneous legacy management capabilities. Second, to gain full autonomy, we adopt a replicated design combined with a recursive approach that makes JADE appear to JADE as any distributed application it manages and repairs. Finally, to scale, we rely on tiling the distributed environment and structuring our repair system per tile. To our knowledge, our repair system is the only one that is designed to scale and is fully autonomic, repairing not only the failures of the managed system but also its own. Our repair system has been tested in various realistic scenarios. Copyright © 2013 John Wiley & Sons, Ltd.
Fabienne Boyer, Noel De Palma, Olivier Gruber, Sylvain Sicard
Softw. Pract. Exp.1
2013 Dynamic Scalability of a Consolidation Service
abstract
In the coming years, cloud environments will increasingly face energy saving issues. While consolidating the virtual machines running in a cloud is a well-accepted solution to reduce the energy consumption, ensuring the scalability of the consolidation service remains a challenging issue. In this paper, we propose an elastic consolidation service that scales according to the dynamic needs of the cloud environment. Our proposition is based on (i) virtualizing the consolidation manager, (ii) partitioning the consolidation work and (iii) regulating the consolidation scalability through an autonomic control loop. Our proposition has been tested and validated through several experiments.
Ahmed El-Rheddane, Noel De Palma, Fabienne Boyer, Frédéric Dumont, Jean-Marc Menaud, Alain Tchana
IEEE CLOUD3
2013 Ownership-Based Isolation for Concurrent Actors on Multi-core Machines
Olivier Gruber, Fabienne Boyer
ECOOP2
2013 Robust reconfigurations of component assemblies
abstract
In this paper, we propose a reconfiguration protocol that can handle any number of failures during a reconfiguration, always producing an architecturally-consistent assembly of components that can be safely introspected and further reconfigured. Our protocol is based on the concept of Incrementally Consistent Sequences (ICS), ensuring that any reconfiguration incrementally respects the reconfiguration contract given to component developers: reconfiguration grammar and architectural invariants. We also propose two recovery policies, one rolls back the failed reconfiguration and the other rolls it forward, both going as far as possible, failure permitting. We specified and proved the reconfiguration contract, the protocol, and recovery policies in Coq.
Fabienne Boyer, Olivier Gruber, Damien Pous
ICSE1
2012 Self-Protection in a Clustered Distributed System
abstract
Self-protection refers to the ability for a system to detect illegal behaviors and to fight-back intrusions with counter-measures. This article presents the design, the implementation, and the evaluation of a self-protected system which targets clustered distributed applications. Our approach is based on the structural knowledge of the cluster and of the distributed applications. This knowledge allows to detect known and unknown attacks if an illegal communication channel is used. The current prototype is a self-protected JEE infrastructure (Java 2 Enterprise Edition) with firewall-based intrusion detection. Our prototype induces low-performance penalty for applications.
Noel De Palma, Daniel Hagimont, Fabienne Boyer, Laurent Broto
IEEE Trans. Parallel Distributed Syst.3
2011 Self-Configuration of Distributed Applications in the Cloud
abstract
In the field of cloud computing, current solutions dedicated to PaaS (Platform as a Service), i.e. the environments that deal with the different stages of the application life-cycle, remain business domain specific and are only partially automated. This limitation is due to the lack of an architectural model for describing a distributed application in terms of its software stacks (operating system, middleware, application), their instantiation as virtual machines, and their configuration interdependencies. This article puts forward (i) a component-based application model for defining any kind of distributed applications composed of a set of interconnected virtual machines, (ii) an automated line for deploying such a distributed application in the cloud, which includes a decentralized protocol for self-configuring the virtual application machines, (iii) a first performance evaluation demonstrating the viability of the solution.
Xavier Etchevers, Thierry Coupaye, Fabienne Boyer, Noel De Palma
IEEE CLOUD3
2011 Specifying and Verifying the SYNERGY Reconfiguration Protocol with LOTOS NT and CADP
Fabienne Boyer, Olivier Gruber, Gwen Salaün
FM1
2011 From Autonomic to Self-Self Behaviors: The JADE Experience
abstract
Autonomic computing enables computing infrastructures to perform administration tasks with minimal human intervention. This wrap-up paper describes the experience we gained with the design and use of Jade ---an architecture-based autonomic system. The contributions of this article are, (1) to explain how Jade provides autonomic management of a distributed system through an architecture-based approach, (2) to explain how we extended autonomic management from traditional self behaviors such as repairing or protecting a managed system to self-self behaviors where Jade also fully manages itself as it manages any other distributed system, (3) to report on our experience reaching self-self behaviors for two crucial autonomic properties, repair and protection.
Sara Bouchenak, Fabienne Boyer, Benoit Claudel, Noel De Palma, Olivier Gruber, Sylvain Sicard
ACM Trans. Auton. Adapt. Syst.2
2010 Self-adaptation of service level in distributed systems
abstract
Abstract Modern distributed systems are diverse and dynamic, and consequently difficult to manage using traditional approaches, which rely on an extensive initial knowledge of the system. On the performance front, these systems often offer multiple opportunities for dynamically degrading or improving service level based on workload intensity, to avoid overload and underload. In this context, we propose a novel approach for building distributed systems capable of autonomously deciding when and how to adapt service level. Our approach limits the knowledge that must be provided manually to a component‐based representation of the system. From this representation, we build and maintain a performance profile, which allows us to (1) identify the most promising adaptations based on workload type and (2) dynamically characterize the intrinsic efficiency of each adaptation based on past attempts. We have successfully implemented and evaluated a prototype of our approach in the context of multi‐tiered application servers. Copyright © 2010 John Wiley & Sons, Ltd.
Jeremy Philippe, Noel De Palma, Fabienne Boyer, Olivier Gruber
Softw. Pract. Exp.3
2009 Self-adapting Service Level in Java Enterprise Edition
Jeremy Philippe, Noel De Palma, Fabienne Boyer, Olivier Gruber
Middleware3
2008 Using components for architecture-based management: the self-repair case
abstract
Components are widely used for managing distributed applications because they not only capture the software architecture of managed applications as an assembly of components but also permit to dynamically adapt these applications to changing environments. Following this approach, our practical experience in the Jade environment about developing an autonomic repair management service with a self-healing behavior shows novel requirements on reflective component models for architecture-based management systems. First, we have identified five essential runtime abstractions that a component model must include in order to efficiently support an autonomic repair service. Second, our experience suggests that traditional reflective component models should be extended to allow specializing meta-operations. Third, our experience also shows that a meta-data checkpointing capability is best-suited for meta-data recovery after failures. We demonstrate the soundness of these findings in several ways. We applied the difficult problem of autonomic repair to both J2EE and JMS middleware. We further stressed our algorithms and mechanisms by applying them recursively towards gaining a self-healing property for the repair service itself. Although our experience was done in the Jade context, using the Fractal component model, we believe our findings to be general to architecture-based management systems using reflective component
Sylvain Sicard, Fabienne Boyer, Noel De Palma
ICSE2
2005 Architecture-Based Autonomous Repair Management: An Application to J2EE Clusters
abstract
This paper presents a component-based architecture for autonomous repair management in distributed systems, and a prototype implementation of this architecture, called JADE, which provides repair management for J2EE application server clusters. The JADE architecture features three major elements, which we believe to be of wide relevance for the construction of autonomic distributed systems: (1) a dynamically configurable, component-based structure that exploits the reflective features of the FRACTAL component model; (2) an explicit and configurable feedback control loop structure, that manifests the relationship between the managed system and repair management functions; (3) an original replication structure for the management subsystem itself which makes it fault-tolerant and self-healing.
Sara Bouchenak, Fabienne Boyer, Sacha Krakowiak, Daniel Hagimont, Adrian Mos, Jean-Bernard Stefani, Noel De Palma, Vivien Quéma
SRDS2
2004 Experiences implementing efficient Java thread serialization, mobility and persistence
abstract
Abstract Today, mobility and persistence are important aspects of distributed computing. They have many fields of use such as load balancing, fault tolerance and dynamic reconfiguration of applications. In this context, Java provides many useful mechanisms for the mobility of code via dynamic class loading, and the mobility or persistence of data via object serialization. However, Java does not provide any mechanism for the mobility/persistence of computation (i.e. threads). We designed and implemented a new mechanism, calledJava thread serialization, that is used to build thread mobility or thread persistence. Therefore, a running Java thread can, at an arbitrary state of its execution, migrate to a remote machine where it resumes its execution, or be checkpointed on disk for possible subsequent recovery. With our services, migrating a thread is simply performed by the call of ourgoprimitive, and checkpointing/recovering a thread is performed by the call of ourstoreandloadprimitives. Several projects have recently addressed the issue of Java thread serialization, e.g. Sumatra, Wasp, JavaGo, Brakes, JavaGoX, Merpati. Some of them have attempted to minimize the overhead incurred by the thread serialization mechanism on thread performance, but none of them has been able to completely avoid this overhead. We propose a generic Java thread serialization mechanism that does not impose any performance overhead on serialized threads. This is achieved thanks to the use of type inference and dynamic de‐optimization techniques. In this paper, we describe the design and implementation details of our thread serialization prototype in Sun Microsystems' JDK. We report on experiments conducted with our prototype, present a comparative performance evaluation of the main thread serialization techniques, and confirm the elimination of the performance overhead with our thread serialization mechanism. Copyright © 2003 John Wiley & Sons, Ltd.
Sara Bouchenak, Daniel Hagimont, Sacha Krakowiak, Noel De Palma, Fabienne Boyer
Softw. Pract. Exp.5
1996 Distributed Application Configuration
abstract
This paper presents Olan, a language and a run time support intended to facilitate the design, configuration and evolution of distributed applications made up of heterogeneous software components. Configuration covers two phases: for the application builder the identification of the software components and the description of their interconnections and communications; for the application administrator and maintainer the accurate use of system resources provided by the target environment, such as the placement of components on nodes. The main benefit of Olan is to provide a single unified description of distributed applications, adequate for construction, management, and evolution. The overall description is independent from the components' implementation, so that the configuration process, e.g. the production of different versions of an implementation, is decoupled from the programming process. The features of the configuration language and the functions of the runtime support system are illustrated through the example of a distributed teleconferencing application.
Luc Bellissard, Slim Ben Atallah, Fabienne Boyer, Michel Riveill
ICDCS3