Franck Fleurey

dblp:27/513 · DBLP profile ↗
← Back
33ranked-venue papers
5as first author
1since 2021 · last 2022
—ORCID · none

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

Software engineering, systems software and programming languages · 31 · 5 first-author · 1 since 2021Artificial intelligence and machine learning · 3Applied, interdisciplinary, general and emerging computing · 3

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
Requirements engineering and software design · 49% Software testing · 20% Software maintenance and evolution · 17%
Network and information security
1 paper
Authentication and access control · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Cloud and datacenter computing · 100%

Topics — the 13 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design › software architecture
dynamically adaptive systems
0.112012
Towards flexible evolution of Dynamically Adaptive Systems · ICSE 2012
Requirements engineering and software design
model-driven engineering
0.112012
Towards flexible evolution of Dynamically Adaptive Systems · ICSE 2012
Authentication and access control
access control
0.112010
Security-driven model-based dynamic adaptation · ASE 2010
Requirements engineering and software design
software architecture
0.112010
Security-driven model-based dynamic adaptation · ASE 2010
Debugging and program repair
fault localization
0.122006
Improving test suites for efficient fault localization · ICSE 2006
From Testing to Diagnosis: An Automated Approach · ASE 2004
Software testing
test generation
0.112006
Automatic Test Generation: A Use Case Driven Approach · IEEE Trans. Software Eng. 2006
Software testing › test process › test design
test suite design
0.112006
Improving test suites for efficient fault localization · ICSE 2006
Debugging and program repair
automated diagnosis
0.012004
From Testing to Diagnosis: An Automated Approach · ASE 2004
Software maintenance and evolution
runtime evolution
0.012012
Towards flexible evolution of Dynamically Adaptive Systems · ICSE 2012
Software testing
mutation testing
0.012002
Automatic Test Cases Optimization Using a Bacteriological Adaptation Model: Application to .NET Component · ASE 2002
Software maintenance and evolution › software evolution › software adaptation
dynamic reconfiguration
0.012010
Security-driven model-based dynamic adaptation · ASE 2010
Requirements engineering and software design
use case modeling
0.012006
Automatic Test Generation: A Use Case Driven Approach · IEEE Trans. Software Eng. 2006
Software testing › test optimization
test case selection
0.012002
Automatic Test Cases Optimization Using a Bacteriological Adaptation Model: Application to .NET Component · ASE 2002

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

model-based adaptation · 0.2transition system synthesis · 0.1statement coverage · 0.1testing · 0.0genetic algorithm · 0.0bacteriological algorithm · 0.0
YearPublicationVenuePosition
2022 Model-based fleet deployment in the IoT-edge-cloud continuum
abstract
Abstract With the increasing computing and networking capabilities, IoT devices and edge gateways have become part of a larger IoT–edge–cloud computing continuum, where processing and storage tasks are distributed across the whole network hierarchy, not concentrated only in the cloud. At the same time, this also introduced continuous delivery practices to the development of software components for network-connected gateways and sensing/actuating nodes. These devices are placed on end users’ premises and are characterized by continuously changing cyber-physical contexts, forcing software developers to maintain multiple application versions and frequently redeploy them on a distributed fleet of devices with respect to their current contexts. Doing this correctly and efficiently goes beyond manual capabilities and requires an intelligent and reliable automated solution. This paper describes a model-based approach to automatically assigning multiple software deployment plans to hundreds of edge gateways and connected IoT devices implemented in collaboration with a smart healthcare application provider. From a platform-specific model of an existing edge computing platform, we extract a platform-independent model that describes a list of target devices and a pool of available deployment plans. Next, we use constraint solving to automatically assign deployment plans to devices at once with respect to their specific contexts. The result is transformed back into the platform-specific model and includes a suitable deployment plan for each device, which is then consumed by our engine to deploy software components not only on edge gateways but also on their downstream IoT devices with constrained resources and connectivity. We validate the approach with a fleet deployment prototype integrated into a DevOps toolchain used by the partner application provider. Initial experiments demonstrate the viability of the approach and its usefulness in supporting DevOps for edge and IoT software development.
Rustem Dautov, Nicolas Ferry 0001, Arnor Solberg, Franck Fleurey
Softw. Syst. Model.5
2020 Model-based fleet deployment of edge computing applications
abstract
Edge computing brings software in close proximity to end users and IoT devices. Given the increasing number of distributed Edge devices with various contexts, as well as the widely adopted continuous delivery practices, software developers need to maintain multiple application versions and frequently (re-)deploy them to a fleet of many devices with respect to their contexts. Doing this correctly and efficiently goes beyond manual capabilities and requires employing an intelligent and reliable automated approach. Accordingly this paper describes a joint research with a Smart Healthcare application provider on a model-based approach to automatically assigning multiple software deployments to hundreds of Edge gateways. From a Platform-Specific Model obtained from the existing Edge computing platform, we extract a Platform-Independent Model that describes a list of target devices and a pool of available deployments. Next, we use constraint solving to automatically assign deployments to devices at once, given their specific contexts. The resulting solution is transformed back to the PSM as to proceed with software deployment accordingly. We validate the approach with a Fleet Deployment prototype integrated into the DevOps toolchain currently used by the application provider. Initial experiments demonstrate the viability of the approach and its usefulness in supporting DevOps in Edge computing applications.
Rustem Dautov, Nicolas Ferry 0001, Arnor Solberg, Franck Fleurey
MoDELS5
2016 ThingML: a language and code generation framework for heterogeneous targets
Nicolas Harrand, Franck Fleurey, Brice Morin, Knut Eilif Husa
MoDELS2
2015 On Architectural Diversity of Dynamic Adaptive Systems
abstract
We introduce a novel concept of ``architecture diversity'' for adaptive systems and posit that increased diversity has an inverse correlation with adaptation costs. We propose an index to quantify diversity and a static method to estimate the adaptation cost, and conduct an initial experiment on an exemplar cloud-based system which reveals the posited correlation.
Amal Elgammal, Vivek Nallur, Franck Chauvel, Franck Fleurey, Siobhán Clarke
ICSE (2)5
2012 Towards flexible evolution of Dynamically Adaptive Systems
abstract
Modern software systems need to be continuously available under varying conditions. Their ability to dynamically adapt to their execution context is thus increasingly seen as a key to their success. Recently, many approaches were proposed to design and support the execution of Dynamically Adaptive Systems (DAS). However, the ability of a DAS to evolve is limited to the addition, update or removal of adaptation rules or reconfiguration scripts. These artifacts are very specific to the control loop managing such a DAS and runtime evolution of the DAS requirements may affect other parts of the DAS. In this paper, we argue to evolve all parts of the loop. We suggest leveraging recent advances in model-driven techniques to offer an approach that supports the evolution of both systems and their adaptation capabilities. The basic idea is to consider the control loop itself as an adaptive system.
Gilles Perrouin, Brice Morin, Franck Chauvel, Franck Fleurey, Jacques Klein, Yves Le Traon, Olivier Barais, Jean-Marc Jézéquel
ICSE4
2012 Generating Better Partial Covering Arrays by Modeling Weights on Sub-product Lines
Martin Fagereng Johansen, Øystein Haugen, Franck Fleurey, Anne Grete Eldegard, Torbjørn Syversen
MoDELS3
2012 A Technique for Agile and Automatic Interaction Testing for Product Lines
Martin Fagereng Johansen, Øystein Haugen, Franck Fleurey, Erik Carlson, Jan Endresen, Tormod Wien
ICTSS3
2012 An algorithm for generating t-wise covering arrays from large feature models
abstract
A scalable approach for software product line testing is required due to the size and complexity of industrial product lines. In this paper, we present a specialized algorithm (called ICPL) for generating covering arrays from feature models. ICPL makes it possible to apply combinatorial interaction testing to software product lines of the size and complexity found in industry. For example, ICPL allows pair-wise testing to be readily applied to projects of about 7,000 features and 200,000 constraints, the Linux Kernel, one of the largest product lines where the feature model is available. ICPL is compared to three of the leading algorithms for t-wise covering array generation. Based on a corpus of 19 feature models, data was collected for each algorithm and feature model when the algorithm could finish 100 runs within three days. These data are used for comparing the four algorithms. In addition to supporting large feature models, ICPL is quick, produces small covering arrays and, even though it is non-deterministic, produces a covering array of a similar size within approximately the same time each time it is run with the same feature model.
Martin Fagereng Johansen, Øystein Haugen, Franck Fleurey
SPLC (1)3
2012 Achieving process modeling and execution through the combination of aspect and model-driven engineering approaches
abstract
SUMMARY One major advantage of executable software process models is that once defined, they can be simulated, checked and validated in short incremental and iterative cycles. This also makes them a powerful asset for important process improvement decisions such as resource allocation, deadlock identification and process management. In this paper, we propose a framework that combines Aspect and Model‐driven Engineering approaches in order to ensure process modeling, simulation and execution. This framework is based on UML4SPM, a UML2.0‐based language for Software Process Modeling and Kermeta, an executable metaprogramming language. Copyright © 2010 John Wiley & Sons, Ltd.
Reda Bendraou, Jean-Marc Jézéquel, Franck Fleurey
J. Softw. Evol. Process.3
2011 Aspect-Oriented Model Development at Different Levels of Abstraction
Mauricio Alférez, Nuno Amálio, Selim Ciraci, Franck Fleurey, Jörg Kienzle, Jacques Klein, Max E. Kramer, Sébastien Mosser 0001, Gunter Mussbacher, Ella E. Roubtsova
ECMFA4
2011 MDE to Manage Communications with and between Resource-Constrained Systems
Franck Fleurey, Brice Morin, Arnor Solberg, Olivier Barais
MoDELS1
2011 Properties of Realistic Feature Models Make Combinatorial Testing of Product Lines Feasible
Martin Fagereng Johansen, Øystein Haugen, Franck Fleurey
MoDELS3
2011 Modelling adaptability and variability in requirements
abstract
The requirements and design level identification and representation of dynamic variability for adaptive systems is a challenging task. This requires time and effort to identify and model the relevant elements as well as the need to consider the large number of potentially possible system configurations. Typically, each individual variability dimension needs to identified and modelled by enumerating each possible alternative. The full set of requirements needs to be reviewed to extract all potential variability dimensions. Moreover, each possible configuration of an adaptive system needs to be validated before use. In this demonstration, we present a tool suite that is able to manage dynamic variability in adaptive systems and tame such system complexity. This tool suite is able to automatically identify dynamic variability attributes such as variability dimensions, context, adaptation rules, and soft/hard goals from requirements documents. It also supports modelling of these artefacts as well as their run-time verification and validation.
Phil Greenwood, Ruzanna Chitchyan, Awais Rashid, Joost Noppen, Franck Fleurey, Arnor Solberg
RE5
2010 Security-driven model-based dynamic adaptation
abstract
Security is a key-challenge for software engineering, especially when considering access control and software evolutions. No satisfying solution exists for maintaining the alignment of access control policies with the business logic. Current implementations of access control rely on the separation between the policy and the application code. In practice, this separation is not so strict and some rules are hard-coded within the application, making the evolution of the policy difficult. We propose a new methodology for implementing security-driven applications. From a policy defined by a security expert, we generate an architectural model, reflecting the access control policy. We leverage the advances in the [email protected] domain to keep this model synchronized with the running system. When the policy is updated, the architectural model is updated, which in turn reconfigures the running system. As a proof of concept, we apply the approach to the development of a library management system.
Brice Morin, Tejeddine Mouelhi, Franck Fleurey, Yves Le Traon, Olivier Barais, Jean-Marc Jézéquel
ASE3
2010 Developing a Software Product Line for Train Control: A Case Study of CVL
Andreas Svendsen, Roy Lind-Tviberg, Franck Fleurey, Øystein Haugen, Birger Møller-Pedersen, Gøran K. Olsen
SPLC4
2009 A Domain Specific Modeling Language Supporting Specification, Simulation and Execution of Dynamic Adaptive Systems
Franck Fleurey, Arnor Solberg
MoDELS1
2009 Strategies for variability transformation at run-time
Carlos Cetina, Øystein Haugen, Franck Fleurey, Vicente Pelechano
SPLC4
2009 Qualifying input test data for model transformations
Franck Fleurey, Benoit Baudry, Pierre-Alain Muller, Yves Le Traon
Softw. Syst. Model.1
2008 An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability
Brice Morin, Franck Fleurey, Nelly Bencomo, Jean-Marc Jézéquel, Arnor Solberg, Vegard Dehlen, Gordon S. Blair
MoDELS2
2008 A Model-Based Framework for Security Policy Specification, Deployment and Testing
Tejeddine Mouelhi, Franck Fleurey, Benoit Baudry, Yves Le Traon
MoDELS2
2008 Model-driven analysis and synthesis of textual concrete syntax
Pierre-Alain Muller, Frédéric Fondement, Franck Fleurey, Michel Hassenforder, Rémi Schneckenburger, Sébastien Gérard, Jean-Marc Jézéquel
Softw. Syst. Model.3
2007 Providing Support for Model Composition in Metamodels
abstract
In aspect-oriented modeling (AOM), a design is described using a set of design views. It is sometimes necessary to compose the views to obtain an integrated view that can be analyzed by tools. Analysis can uncover conflicts and interactions that give rise to undesirable emergent behavior. Design models tend to have complex structures and thus manual model composition can be arduous and error- prone. Tools that automate significant parts of model composition are needed if AOM is to gain industrial acceptance. One way of providing automated support for composing models written in a particular language is to define model composition behavior in the metamodel defining the language. In this paper we show how this can be done by extending the UML metamodel with behavior describing symmetric, signature-based composition of UML model elements. We also describe an implementation of the metamodel that supports systematic composition of UML class models.
Robert B. France, Franck Fleurey, Y. Raghu Reddy, Benoit Baudry, Sudipto Ghosh 0001
EDOC2
2007 Modeling and Integrating Aspects into Component Architectures
abstract
Dependable software systems are difficult to develop because developers must understand and address several interdependent and pervasive dependability concerns. Features that address pervasive dependability concerns such as error detection and recovery tend to crosscut application architecture and thus understanding and changing their descriptions can be difficult. Separating these features at the architectural level allows one to better understand and reuse them and thus can lead to better analysis and evolution of the features during design. In this paper we illustrate how an Aspect Oriented Modeling (AOM) technique can be used to model dependability aspects of component architectures separately from other aspects. The AOM architectural model used to illustrate the approach in this paper consists of a component primary view describing the base architecture and a component template aspect model describing a fault tolerance feature that provides error detection and recovery services.
Lydia Michotte, Robert B. France, Franck Fleurey
EDOC3
2007 Model-Driven Engineering for Software Migration in a Large Industrial Context
Franck Fleurey, Erwan Breton, Benoit Baudry, Alain Nicolas, Jean-Marc Jézéquel
MoDELS1
2006 Improving test suites for efficient fault localization
abstract
The need for testing-for-diagnosis strategies has been identified for a long time, but the explicit link from testing to diagnosis (fault localization) is rare. Analyzing the type of information needed for efficient fault localization, we identify the attribute (called Dynamic Basic Block) that restricts the accuracy of a diagnosis algorithm. Based on this attribute, a test-for-diagnosis criterion is proposed and validated through rigorous case studies: it shows that a test suite can be improved to reach a high level of diagnosis accuracy. So, the dilemma between a reduced testing effort (with as few test cases as possible) and the diagnosis accuracy (that needs as much test cases as possible to get more information) is partly solved by selecting test cases that are dedicated to diagnosis.
Benoit Baudry, Franck Fleurey, Yves Le Traon
ICSE2
2006 Metamodel-based Test Generation for Model Transformations: an Algorithm and a Tool
abstract
In a model-driven development context (MDE), model transformations allow memorizing and reusing design know-how, and thus automate parts of the design and refinement steps of a software development process. A model transformation program is a specific program, in the sense it manipulates models as main parameters. Each model must be an instance of a "metamodel", a metamodel being the specification of a set of models. Programming a model transformation is a difficult and error-prone task, since the manipulated data are clearly complex. In this paper, we focus on generating input test data (called test models) for model transformations. We present an algorithm to automatically build test models from a metamodel
Erwan Brottier, Franck Fleurey, Jim Steel, Benoit Baudry, Yves Le Traon
ISSRE2
2006 Model-Driven Analysis and Synthesis of Concrete Syntax
Pierre-Alain Muller, Franck Fleurey, Frédéric Fondement, Michel Hassenforder, Rémi Schneckenburger, Sébastien Gérard, Jean-Marc Jézéquel
MoDELS2
2006 Automatic Test Generation: A Use Case Driven Approach
abstract
Use cases are believed to be a good basis for system testing. Yet, to automate the test generation process, there is a large gap to bridge between high-level use cases and concrete test cases. We propose a new approach for automating the generation of system test scenarios in the context of object-oriented embedded software, taking into account traceability problems between high-level views and concrete test case execution. Starting from a formalization of the requirements based on use cases extended with contracts, we automatically build a transition system from which we synthesize test cases. Our objective is to cover the system in terms of statement coverage with those generated tests: an empirical evaluation of our approach is given based on this objective and several case studies. We briefly discuss the experimental deployment of our approach in the field at Thales Airborne Systems.
Clémentine Nebut, Franck Fleurey, Yves Le Traon, Jean-Marc Jézéquel
IEEE Trans. Software Eng.2
2005 From genetic to bacteriological algorithms for mutation-based testing
abstract
The level of confidence in a software component is often linked to the quality of its test cases. This quality can in turn be evaluated with mutation analysis: faults are injected into the software component (making mutants of it) to check the proportion of mutants detected (‘killed’) by the test cases. But while the generation of a set of basic test cases is easy, improving its quality may require prohibitive effort. This paper focuses on the issue of automating the test optimization. The application of genetic algorithms would appear to be an interesting way of tackling it. The optimization problem is modelled as follows: a test case can be considered as a predator while a mutant program is analogous to a prey. The aim of the selection process is to generate test cases able to kill as many mutants as possible, starting from an initial set of predators, which is the test cases set provided by the programmer. To overcome disappointing experimentation results, on .Net components and unit Eiffel classes, a slight variation on this idea is studied, no longer at the ‘animal’ level (lions killing zebras, say) but at the bacteriological level. The bacteriological level indeed better reflects the test case optimization issue: it mainly differs from the genetic one by the introduction of a memorization function and the suppression of the crossover operator. The purpose of this paper is to explain how the genetic algorithms have been adapted to fit with the issue of test optimization. The resulting algorithm differs so much from genetic algorithms that it has been given another name: bacteriological algorithm. Copyright © 2005 John Wiley & Sons, Ltd.
Benoit Baudry, Franck Fleurey, Jean-Marc Jézéquel, Yves Le Traon
Softw. Test. Verification Reliab.2
2004 From Testing to Diagnosis: An Automated Approach
Franck Fleurey, Yves Le Traon, Benoit Baudry
ASE1
2003 Requirements by Contracts allow Automated System Testing
abstract
Use-cases and scenarios have been identified as good inputs to generate test cases and oracles at requirement level. Yet to have an automated generation, information is missing from use cases and sequence diagrams, such as the exact inputs of the system, and the ordering constraints between the use case. The contribution of this paper is then twofold. First we propose a contract language for functional requirements expressed as parameterized use cases. Then we provide a method, a formed model and a prototype tool to automatically derive both functional and robustness test cases from the requirements enhanced with contracts. We study the efficiency of the generated test cases on a case study.
Clémentine Nebut, Franck Fleurey, Yves Le Traon, Jean-Marc Jézéquel
ISSRE2
2002 Genes and Bacteria for Automatic Test Cases Optimization in the .NET Environment
abstract
The level of confidence in a software component is often linked to the quality of its test cases. This quality can in turn be evaluated with mutation analysis: faulty components (mutants) are systematically generated to check the proportion of mutants detected ("killed") by the test cases. But while the generation of basic test cases set is easy, improving its quality may require prohibitive effort. We focus on the issue of automating the test optimization. We looked at genetic algorithms to solve this problem and modeled it as follows: a test case can be considered as a predator while a mutant program is analogous to a prey. The aim of the selection process is to generate test cases able to kill as many mutants as possible. To overcome disappointing experimentation results on the studied .NET system, we propose a slight variation on this idea, no longer at the "animal" level (lions killing zebras) but at the bacteriological level. The bacteriological level indeed better reflects the test case optimization issue: it introduces a memorization function and suppresses the crossover operator. We describe this model and show how it behaves on the case study.
Benoit Baudry, Franck Fleurey, Jean-Marc Jézéquel, Yves Le Traon
ISSRE2
2002 Automatic Test Cases Optimization Using a Bacteriological Adaptation Model: Application to .NET Component
abstract
In this paper, we present several complementary computational intelligence techniques that we explored in the field of .Net component testing. Mutation testing serves as the common backbone for applying classical and new artificial intelligence (AI) algorithms. With mutation tools, we know how to estimate the revealing power of test cases. With AI, we aim at automatically improving test case efficiency. We therefore looked first at genetic algorithms (GA) to solve the problem of test. The aim of the selection process is to generate test cases able to kill as many mutants as possible. We then propose a new AI algorithm that fits better to the test optimization problem, called bacteriological algorithm (BA): BAs behave better that GAs for this problem. However, between GAs and BAs, a family of intermediate algorithms exists: we explore the whole spectrum of these intermediate algorithms to determine whether an algorithm exists that would be more efficient than BAs.: the approaches are compared on a .Net system.
Benoit Baudry, Franck Fleurey, Jean-Marc Jézéquel, Yves Le Traon
ASE2