Laurence Duchien

dblp:d/LaurenceDuchien · DBLP profile ↗
← Back
35ranked-venue papers
1as first author
4since 2021 · last 2024
0000-0002-4517-5862ORCID · verified

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

Software engineering, systems software and programming languages · 27 · 1 first-author · 3 since 2021Applied, interdisciplinary, general and emerging computing · 6Artificial intelligence and machine learning · 4Systems, architecture and hardware · 1Security and privacy · 1Databases, data management, data science and information retrieval · 1Theory of computation · 1
YearPublicationVenuePosition
2024 Composing Run-Time Variability Models
Salman Farhat, Simon Bliudze, Laurence Duchien, Olga Kouchnarenko
SEFM3
2023 Toward Run-time Coordination of Reconfiguration Requests in Cloud Computing Systems
Salman Farhat, Simon Bliudze, Laurence Duchien, Olga Kouchnarenko
COORDINATION3
2021 Foreword to the Special Issue on Configurable Systems
Laurence Duchien, Paul Grünbacher, Thomas Thüm
Empir. Softw. Eng.1
2021 On the impact of release policies on bug handling activity: A case study of Eclipse
Zeinab Abou Khalil, Eleni Constantinou, Tom Mens, Laurence Duchien
J. Syst. Softw.4
2019 A Longitudinal Analysis of Bug Handling Across Eclipse Releases
abstract
Large open source software projects, like Eclipse, follow a continuous software development process, with a regular release cycle. During each release, new bugs are reported, triaged and resolved. Previous studies have focused on various aspects of bug fixing, such as bug triaging, bug prediction, and bug process analysis. Most studies, however, do not distinguish between what happens before and after each scheduled release. We are also unaware of studies that compare bug fixing activities across different project releases. This paper presents an empirical analysis of the bug handling process of Eclipse over a 15-year period, considering 138K bug reports from Bugzilla, including 16 annual Eclipse releases and two quarterly releases in 2018. We compare the bug resolution rate, the fixing rate, the bug triaging time and the fixing time before and after each release date, and we study the possible impact of "release pressure". Among others, our results reveal that Eclipse bug handling activity is improving over time, with an important decrease in the number of reported bugs before releases, an increase in the bug fixing rate and an increasingly balanced bug handling workload before and after releases. The recent transition from an annual to a quarterly release cycle continued to improve the bug handling process.
Zeinab Abou Khalil, Eleni Constantinou, Tom Mens, Laurence Duchien, Clément Quinton
ICSME4
2016 Automated Setup of Multi-cloud Environments for Microservices Applications
abstract
Multi-cloud computing has been proposed as a way to reduce vendor dependence, comply with location regulations, and optimize reliability, performance and costs. Meanwhile, microservice architectures are becoming increasingly popular in cloud computing as they promote decomposing applications into small services that can be independently deployed and scaled, thus optimizing resources usage. However, setting up a multi-cloud environment to deploy a microservices-based application is still a very complex and time consuming task. Each microservice may require different functionality (e.g. software platforms, databases, monitoring and scalability tools) and have different location and redundancy requirements. Selection of cloud providers should take into account the individual requirements of each service, as well as the global requirements of reliability and scalability. Moreover, cloud providers can be very heterogeneous and offer disparate functionality, thus hindering comparison. In this paper we propose an automated approach for the selection and configuration of cloud providers for multi-cloud microservices-based applications. Our approach uses a domain specific language to describe the application's multi-cloud requirements and we provide a systematic method for obtaining proper configurations that comply with the application's requirements and the cloud providers' constraints.
Gustavo Sousa, Walter Rudametkin, Laurence Duchien
CLOUD3
2016 Extending feature models with relative cardinalities
abstract
Feature modeling is widely used to capture and manage commonalities and variabilities in software product lines. Cardinality-based feature models are used when variability applies not only to the selection or exclusion of features but also to the number of times a feature can be included in a product. Feature cardinalities are usually considered to apply in either a local or global scope. However, we have identified that these interpretations are insufficient to capture the variability of cloud environments. In this paper, we redefine cardinality-based feature models to allow multiple relative cardinalities between features and we discuss the effects of relative cardinalities on feature modeling semantics, consistency and cross-tree constraints. To evaluate our approach we conducted an analysis of relative cardinalities in four cloud computing providers. In addition, we developed tools for reasoning on feature models with relative cardinalities and performed experiments to verify the performance and scalability of the approach. The results from our study indicate that extending feature models with relative cardinalities is feasible and improves variability modeling, particularly in the case of cloud environments.
Gustavo Sousa, Walter Rudametkin, Laurence Duchien
SPLC3
2016 SALOON: a platform for selecting and configuring cloud environments
abstract
Summary Migrating legacy systems or deploying a new application to a cloud environment has recently become very trendy, because the number of cloud providers available is still increasing. These cloud environments provide a wide range of resources at different levels of functionality, which must be appropriately configured by stakeholders for the application to run properly. Handling this variability during the configuration and deployment stages is known as a complex and error‐prone process, usually made in anad hocmanner. In this paper, we proposeSALOON, asoftware product lines‐based platform to face these issues. We describe the architecture of theSALOONplatform, which relies on feature models combined with a domain model used to select among cloud environments a well‐suited one.SALOONsupports stakeholders while configuring the selected cloud environment in a consistent way and automates the deployment of such configurations through the generation of executable configuration scripts. This paper also reports on some experiments, showing that usingSALOONsignificantly reduces time to configure a cloud environment compared with a manual approach and provides a reliable way to find a correct and suitable configuration. Moreover, our empirical evaluation shows that our approach is effective and scalable to properly deal with a significant number of cloud environments. Copyright © 2015 John Wiley & Sons, Ltd.
Clément Quinton, Daniel Romero 0002, Laurence Duchien
Softw. Pract. Exp.3
2015 SmartyCo: Managing Cyber-Physical Systems for Smart Environments
Daniel Romero 0002, Clément Quinton, Laurence Duchien, Lionel Seinturier, Carolina Valdez
ECSA3
2015 Using Feature Models for Distributed Deployment in Extended Smart Home Architecture
Amal Tahri, Laurence Duchien, Jacques Pulou
ECSA2
2015 Tracking the Software Quality of Android Applications Along Their Evolution (T)
abstract
Mobile apps are becoming complex software systems that must be developed quickly and evolve continuously to fit new user requirements and execution contexts. However, addressing these requirements may result in poor design choices, also known as antipatterns, which may incidentally degrade software quality and performance. Thus, the automatic detection and tracking of antipatterns in this apps are important activities in order to ease both maintenance and evolution. Moreover, they guide developers to refactor their applications and thus, to improve their quality. While antipatterns are well-known in object-oriented applications, their study in mobile applications is still in its infancy. In this paper, we analyze the evolution of mobile apps quality on 3, 568 versions of 106 popular Android applications downloaded from the Google Play Store. For this purpose, we use a tooled approach, called PAPRIKA, to identify 3 object-oriented and 4 Android-specific antipatterns from binaries of mobile apps, and to analyze their quality along evolutions.
Geoffrey Hecht, Omar Benomar, Romain Rouvoy, Naouel Moha, Laurence Duchien
ASE5
2014 Automated Selection and Configuration of Cloud Environments Using Software Product Lines Principles
abstract
Deploying an application to a cloud environment has recently become very trendy, since it offers many advantages such as improving reliability or scalability. These cloud environments provide a wide range of resources at different levels of functionality, which must be appropriately configured by stakeholders for the application to run properly. Handling this variability during the configuration and deployment stages is a complex and error-prone process, usually made in an ad hoc manner in existing solutions. In this paper, we propose a software product lines based approach to face these issues. Combined with a domain model used to select among cloud environments a suitable one, our approach supports stakeholders while configuring the selected cloud environment in a consistent way, and automates the deployment of such configurations through the generation of executable deployment scripts. To evaluate the soundness of the proposed approach, we conduct an experiment involving 10 participants with different levels of experience in cloud configuration and deployment. The experiment shows that using our approach significantly reduces time and most importantly, provides a reliable way to find a correct and suitable cloud configuration. Moreover, our empirical evaluation shows that our approach is effective and scalable to properly deal with a significant number of cloud environments.
Clément Quinton, Daniel Romero 0002, Laurence Duchien
IEEE CLOUD3
2014 Consistency checking for the evolution of cardinality-based feature models
abstract
Feature-models (fms) are a widely used approach to specify the commonalities and variability in variable systems and software product lines. Various works have addressed edits to fms for fm evolution and tool support to ensure consistency of fms. An important extension to fms are feature cardinalities and related constraints, as extensively used e.g., when modeling variability of cloud computing environments. Since cardinality-based fms pose additional complexity, additional support for evolution and consistency checking with respect to feature cardinalities would be desirable, but has not been addressed yet. In this paper, we discuss common cardinality-based fm edits and resulting inconsistencies based on experiences with fms in cloud domain. We introduce tool-support for automated inconsistency detection and explanation based on an off-the-shelf solver. We demonstrate the feasibility of the approach by an empirical evaluation showing the performance of the tool.
Clément Quinton, Andreas Pleuß, Daniel Le Berre, Laurence Duchien, Goetz Botterweck
SPLC4
2014 QoS contract preservation through dynamic reconfiguration: A formal semantics approach
Gabriel Tamura, Rubby Casallas, Anthony Cleve, Laurence Duchien
Sci. Comput. Program.4
2014 Extraction and evolution of architectural variability models in plugin-based systems
Mathieu Acher, Anthony Cleve, Philippe Collet, Philippe Merle, Laurence Duchien, Philippe Lahire
Softw. Syst. Model.5
2013 Automatically Extracting Instances of Code Change Patterns with AST Analysis
abstract
A code change pattern represents a kind of recurrent modification in software. For instance, a known code change pattern consists of the change of the conditional expression of an if statement. Previous work has identified different change patterns. Complementary to the identification and definition of change patterns, the automatic extraction of pattern instances is essential to measure their empirical importance. For example, it enables one to count and compare the number of conditional expression changes in the history of different projects. In this paper we present a novel approach for search patterns instances from software history. Our technique is based on the analysis of Abstract Syntax Trees (AST) files within a given commit. We validate our approach by counting instances of 18 change patterns in 6 open-source Java projects.
Matias Martinez, Laurence Duchien, Martin Monperrus
ICSM2
2013 Cardinality-based feature models with constraints: a pragmatic approach
abstract
Feature models originating from Software Product Line Engineering are a well-known approach to variability modeling. In many situations, the variability does not apply only on features but also on the number of times these features can be cloned. In such a case, cardinality-based feature models are used to specify the number of clones for a given feature. Although previous works already investigated approaches for feature modeling with cardinality, there is still a lack of support for constraints in the presence of clones. To overcome this limitation, we present an abstract model to define constraints in cardinality-based feature models and propose a formal semantics for this kind of constraints. We illustrate the practical usage of our approach with examples from our recent experiences on cloud computing platform configuration.
Clément Quinton, Daniel Romero 0002, Laurence Duchien
SPLC3
2012 Connecting Your Mobile Shopping Cart to the Internet-of-Things
Nicolas Petitprez, Romain Rouvoy, Laurence Duchien
DAIS3
2012 A Commutative Model Composition Operator to Support Software Adaptation
Sébastien Mosser 0001, Mireille Blay-Fornarino, Laurence Duchien
ECMFA3
2011 Reverse Engineering Architectural Feature Models
Mathieu Acher, Anthony Cleve, Philippe Collet, Philippe Merle, Laurence Duchien, Philippe Lahire
ECSA5
2011 Unifying design and runtime software adaptation using aspect models
Carlos Andres Parra, Xavier Blanc 0001, Anthony Cleve, Laurence Duchien
Sci. Comput. Program.4
2010 Feature-Based Composition of Software Architectures
Carlos Andres Parra, Anthony Cleve, Xavier Blanc 0001, Laurence Duchien
ECSA4
2010 Creating Context-Adaptive Business Processes
Gabriel Hermosillo, Lionel Seinturier, Laurence Duchien
ICSOC3
2010 From a domain analysis to the specification and detection of code and design smells
abstract
Abstract Code and design smells are recurring design problems in software systems that must be identified to avoid their possible negative consequences on development and maintenance. Consequently, several smell detection approaches and tools have been proposed in the literature. However, so far, they allow the detection of predefined smells but the detection of new smells or smells adapted to the context of the analysed systems is possible only by implementing new detection algorithms manually. Moreover, previous approaches do not explain the transition from specifications of smells to their detection. Finally, the validation of the existing approaches and tools has been limited on few proprietary systems and on a reduced number of smells. In this paper, we introduce an approach to automate the generation of detection algorithms from specifications written using a domain-specific language. This language is defined from a thorough domain analysis. It allows the specification of smells using high-level domain-related abstractions. It allows the adaptation of the specifications of smells to the context of the analysed systems. We specify 10 smells, generate automatically their detection algorithms using templates, and validate the algorithms in terms of precision and recall on Xerces v2.7.0 and GanttProject v1.10.2, two open-source object-oriented systems. We also compare the detection results with those of a previous approach, iPlasma .
Naouel Moha, Yann-Gaël Guéhéneuc, Anne-Françoise Le Meur, Laurence Duchien, Alban Tiberghien
Formal Aspects Comput.4
2010 DECOR: A Method for the Specification and Detection of Code and Design Smells
abstract
Code and design smells are poor solutions to recurring implementation and design problems. They may hinder the evolution of a system by making it hard for software engineers to carry out changes. We propose three contributions to the research field related to code and design smells: (1) DECOR, a method that embodies and defines all the steps necessary for the specification and detection of code and design smells, (2) DETEX, a detection technique that instantiates this method, and (3) an empirical validation in terms of precision and recall of DETEX. The originality of DETEX stems from the ability for software engineers to specify smells at a high level of abstraction using a consistent vocabulary and domain-specific language for automatically generating detection algorithms. Using DETEX, we specify four well-known design smells: the antipatterns Blob, Functional Decomposition, Spaghetti Code, and Swiss Army Knife, and their 15 underlying code smells, and we automatically generate their detection algorithms. We apply and validate the detection algorithms in terms of precision and recall on XERCES v2.7.0, and discuss the precision of these algorithms on 11 open-source systems.
Naouel Moha, Yann-Gaël Guéhéneuc, Laurence Duchien, Anne-Françoise Le Meur
IEEE Trans. Software Eng.3
2009 Context awareness for dynamic service-oriented product lines
Carlos Andres Parra, Xavier Blanc 0001, Laurence Duchien
SPLC3
2008 A Domain Analysis to Specify Design Defects and Generate Detection Algorithms
Naouel Moha, Yann-Gaël Guéhéneuc, Anne-Françoise Le Meur, Laurence Duchien
FASE4
2008 A Model-Based Framework for Statically and Dynamically Checking Component Interactions
Guillaume Waignier, Prawee Sriplakich, Anne-Françoise Le Meur, Laurence Duchien
MoDELS4
2007 AProSec: an Aspect for Programming Secure Web Applications
abstract
Adding security functions in existing Web application servers is now vital for the IS of companies and organizations. Writing crosscutting functions in complex software should take advantage of the modularity offered by new software development approaches. With aspect-oriented programming (AOP), separating concerns when designing an application fosters reuse, parameterization and maintenance. In this paper, we design a security aspect called AProSec for detecting SQL injection and Cross Scripting Site (XSS) that are common attacks in Web servers. We experiment this aspect with the AspectJ language and the JBoss AOP framework. With this experimentation, we show the advantage of runtime platforms such as JBoss AOP for changing security policies at runtime. Finally, we describe related work on security and AOP
Gabriel Hermosillo, Roberto Gomez, Lionel Seinturier, Laurence Duchien
ARES4
2007 FIESTA: A Generic Framework for Integrating New Functionalities into Software Architectures
Guillaume Waignier, Anne-Françoise Le Meur, Laurence Duchien
ECSA3
2007 Behavioral similarity matching using concrete source code templates in logic queries
abstract
Program query languages and pattern-detection techniques are an essential part of program analysis and manipulation systems. Queries and patterns permit the identification of the parts of interest in a program's implementation through a representation dedicated to the intent of the system (e.g. call-graphs to detect behavioral flaws, abstract syntax trees for transformations, concrete source code to verify programming conventions, etc). This requires that developers understand and manage all the different representations and techniques in order to detect various patterns of interest. To alleviate this overhead, we present a logic-based language that allows the program's implementation to be queried using concrete source code templates. The queries are matched against a combination of structural and behavioral program representations, including call-graphs, points-to analysis results and abstract syntax trees. The result of our approach is that developers can detect patterns in the queried program using source code excerpts (embedded in logic queries) which act as prototypical samples of the structure and behavior they intend to match.
Coen De Roover, Theo D'Hondt, Johan Brichau, Carlos Noguera, Laurence Duchien
PEPM5
2007 Fiesta: a Generic Framework for Integrating New Functionalities into Software Architectures
abstract
When an application must evolve to cope with new context and user requirements, integrating new functionalities into its software architecture is necessary. The architect has thus to manually modify the architecture description, which is often tedious and error prone. In this paper, we propose FIESTA, a generic framework for automatically integrating new functionalities into an architecture description. Our approach is inspired by TranSAT, an integration framework. However, TranSAT is dedicated to a specific architecture description language (ADL) while our approach is ADL-independent. We have performed a domain analysis, studying for many ADLs how to integrate new functionalities. Based on this analysis, we have defined a generic ADL model to manipulate and reason about architectural elements that are involved in integration. Furthermore, we have developed a generic integration engine.
Guillaume Waignier, Anne-Françoise Le Meur, Laurence Duchien
Int. J. Cooperative Inf. Syst.3
2005 Providing Support for Safe Software Architecture Transformations
abstract
Software architecture is a key concept in the design of a complex system. An architecture models the structure and behavior of the system, including the software elements and the relationships between them. While architectures were originally specified informally, recent years have seen the creation of a number of Architecture Description Languages (ADLs) [4]. ADLs are designed around the dimensions of composition and interaction, allowing the architect to introduce new concerns by constructing and combining increasingly complex elements
Olivier Barais, Julia Lawall, Anne-Françoise Le Meur, Laurence Duchien
WICSA4
2004 JAC: an aspect-based distributed dynamic framework
abstract
Abstract In this paper, we present the Java Aspect Components (JAC) framework for building aspect‐oriented distributed applications in Java. This paper describes the aspect‐oriented programming model and the architectural details of the framework implementation. The framework enables extension of application semantics for handling well‐separated concerns. This is achieved with a software entity called an aspect component (AC). ACs provide distributed pointcuts, dynamic wrappers and metamodel annotations. Distributed pointcuts are a key feature of our framework. They enable the definition of crosscutting structures that do not need to be located on a single host. ACs are dynamic. They can be added, removed, and controlled at runtime. This enables our framework to be used in highly dynamic environments where adaptable software is needed. Copyright © 2004 John Wiley & Sons, Ltd.
Renaud Pawlak, Lionel Seinturier, Laurence Duchien, Gerard Florin, Fabrice Legond-Aubry, Laurent Martelli
Softw. Pract. Exp.3
2001 Network Membership: A Partition Model for Reliable Mobile Communication
abstract
We give a formal specification of a new model called Network Membership for reliable mobile communication in asynchronous distributed systems. Our approach is new in the sense that the Network Membership service does not have any join or leave procedures. We let the system flow, views are not forced and are installed with stability. The model is less restrictive than others since no consensus is required. The Network Membership allows multiple partitions to operate simultaneously and provides connectivity feedback. We have built on top of this Network Membership service an efficient reliable broadcast service that is resistant to network partitions. The protocol ensures that all recipients eventually receive the message even if a receiver has been partitioned away at any time. We show how we use an unreliable channel detector in conjunction with data forwarding and stability to achieve this goal.
Romain Boichat, Laurence Duchien
ICPADS2