Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Laurence Duchien is active.

Publication


Featured researches published by Laurence Duchien.


IEEE Transactions on Software Engineering | 2010

DECOR: A Method for the Specification and Detection of Code and Design Smells

Naouel Moha; Yann-Gaël Guéhéneuc; Laurence Duchien; A.-F. Le Meur

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.


Lecture Notes in Computer Science | 2006

A model for developing component-based and aspect-oriented systems

Nicolas Pessemier; Lionel Seinturier; Thierry Coupaye; Laurence Duchien

Aspect-Oriented Programming (AOP) and Component- Based Software Engineering (CBSE) offer solutions to improve the separation of concerns and to enhance a program structure. If the integration of AOP into CBSE has already been proposed, none of these solutions focus on the application of CBSE principles to AOP. In this paper we propose a twofold integration of AOP and CBSE. We introduce a general model for components and aspects, named Fractal Aspect Component (FAC). FAC decomposes a software system into regular components and aspect components (ACs), where an AC is a regular component that embodies a crosscutting concern. We reify the aspect domain of an AC and the relationship between an AC and a component, called an aspect binding, as first-class runtime entities. This clarifies the architecture of a system where components and aspects coexist. The system can evolve from the design to the execution by adding or removing components, aspects or bindings.


fundamental approaches to software engineering | 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

Quality experts often need to identify in software systems design defects, which are recurring design problems, that hinder development and maintenance. Consequently, several defect detection approaches and tools have been proposed in the literature. However, we are not aware of any approach that defines and reifies the process of generating detection algorithms from the existing textual descriptions of defects. In this paper, we introduce an approach to automate the generation of detection algorithms from specifications written using a domain-specific language. The domain-specific is defined from a thorough domain analysis. We specify several design defects, generate automatically detection algorithms using templates, and validate the generated detection algorithms in terms of precision and recall on Xerces v2.7.0, an open-source object-oriented system.


Journal of Computer Applications in Technology | 2008

A component-based and aspect-oriented model for software evolution

Nicolas Pessemier; Lionel Seinturier; Laurence Duchien; Thierry Coupaye

Component-Based Software Development (CBSD) and Aspect Oriented Software Development (AOSD) are solutions to support software evolution by decomposing a software system into concerns. In this paper, we propose Fractal Aspect Component (FAC), a general and symmetrical model for components and aspects. FAC decomposes a software system into regular components and aspect components which embody crosscutting concerns. We reify the relationship between an aspect component and a component, called an aspect binding, as a first-class runtime entity. The evolution of the system can be expressed by adding or removing components (aspect or regular) and by setting bindings (regular or crosscutting).


Formal Aspects of Computing | 2010

From a domain analysis to the specification and detection of code and design smells

Naouel Moha; Yann-Gaël Guéhéneuc; Anne-Françoise Le Meur; Laurence Duchien; Alban Tiberghien

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.


component based software engineering | 2006

A component model engineered with components and aspects

Lionel Seinturier; Nicolas Pessemier; Laurence Duchien; Thierry Coupaye

This paper presents AOKell, a framework for engineering component-based systems. This framework implements the Fractal model, a hierarchical and dynamic component model. The novelty of this paper lies in the presentation of AOKell, an implementation of the Fractal model with aspects. Two dimensions can be isolated with Fractal: the functional dimension, which is concerned with the definition of application components, and the control dimension, which is concerned with the technical services (e.g. lifecycle, binding, persistence, etc.) that manage components. The originality of AOKell is, first, to provide an aspect-oriented approach to integrate these two dimensions, and second, to apply a component-based approach for engineering the control dimension. Hence, AOKell is a reflective component framework where application components are managed by other, so-called, control components and where aspects glue together application components and control components.


software engineering and advanced applications | 2005

A framework to specify incremental software architecture transformations

Olivier Barais; Laurence Duchien; A.-F. Le Meur

A software architecture description facilitates the comprehension, analysis and prototyping of a piece of software. However, such a description is often monolithic and difficult to evolve. This paper proposes a framework, named TranSAT (transformations for software architecture), for incrementally integrating new concerns into a software architecture. The structural and behavioral properties of a new concern are represented by a self-sufficient component assembly description, called an architecture plan. TranSAT proposes a software architecture pattern as a means of integrating business and technical plans. Such a pattern includes not only the plan to integrate but also the preconditions that the target architecture must satisfy, and the modifications to perform on this architecture. Consequently, from a set of patterns, TranSAT allows a software architect to incrementally build complex architectures.


european conference on model driven architecture foundations and applications | 2008

Annotation Framework Validation Using Domain Models

Carlos Noguera; Laurence Duchien

Frameworks and libraries that use annotations are becoming popular. However, there is not enough software engineering support for annotation development. In particular, the validation of constraints in the use of annotations requires further support. In this paper we postulate that annotation frameworks are a projection of the domain model into a programming language model. Using this idea, we have developed a tool that allows the annotation programmer to specify, and then validate the constraints of the annotation framework regarding a given annotated application using a domain model. To validate our approach to the validation of constraints using models, we apply it to the Fraclet annotation framework and compare it to the previous implementation.


availability, reliability and security | 2007

AProSec: an Aspect for Programming Secure Web Applications

Gabriel Hermosillo; Roberto Gomez; Lionel Seinturier; Laurence Duchien

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


european conference on software architecture | 2010

Feature-based composition of software architectures

Carlos Andres Parra; Anthony Cleve; Xavier Blanc; Laurence Duchien

In Software Product Lines variability refers to the definition and utilization of differences between several products. Feature Diagrams (FD) are a well-known approach to express variability, and can be used to automate the derivation process. Nevertheless, this may be highly complex due to possible interactions between selected features and the artifacts realizing them. Deriving concrete products typically involves the composition of such inter-dependent software artifacts. This paper presents a feature-based composition approach to automatically derive a product architecture from a given feature configuration. The proposed approach relies on the combination of Model-Driven Engineering (MDE) and Aspect-Oriented Modeling (AOM) techniques. We introduce a metamodel to reify each feature as a high-level aspect model. Product derivation is achieved by weaving the set of aspect models corresponding to a particular feature configuration. The weaving strategy is derived from an in-depth cross-analysis of both the feature interactions and the aspect model dependencies.

Collaboration


Dive into the Laurence Duchien's collaboration.

Top Co-Authors

Avatar

Naouel Moha

Université du Québec à Montréal

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Yann-Gaël Guéhéneuc

École Polytechnique de Montréal

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Olivier Barais

French Institute for Research in Computer Science and Automation

View shared research outputs
Top Co-Authors

Avatar

Carlos Noguera

Vrije Universiteit Brussel

View shared research outputs
Top Co-Authors

Avatar

Eric Cariou

Laboratoire d'Informatique Fondamentale de Lille

View shared research outputs
Top Co-Authors

Avatar

Raphaël Marvie

Laboratoire d'Informatique Fondamentale de Lille

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge