Anne-Françoise Le Meur

dblp:79/426 · DBLP profile ↗
← Back
14ranked-venue papers
1as first author
0since 2021 · last 2010
—ORCID · none

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

Software engineering, systems software and programming languages · 11 · 1 first-authorComputer networks · 1Databases, data management, data science and information retrieval · 1Theory of computation · 1Applied, interdisciplinary, general and emerging computing · 1

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
2 papers
Software maintenance and evolution · 54% Empirical software engineering · 32% Requirements engineering and software design · 10%

Topics — the 4 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution › software evolution
automated software evolution
0.012003
On the automatic evolution of an OS kernel using temporal logic and AOP · ASE 2003
Software maintenance and evolution
anti-patterns
0.012010
DECOR: A Method for the Specification and Detection of Code and Design Smells · IEEE Trans. Software Eng. 2010
Requirements engineering and software design
software architecture
0.012010
DECOR: A Method for the Specification and Detection of Code and Design Smells · IEEE Trans. Software Eng. 2010
Programming languages and type systems
aspect-oriented programming
0.012003
On the automatic evolution of an OS kernel using temporal logic and AOP · ASE 2003

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

domain-specific language · 0.1detection algorithm generation · 0.1temporal logic · 0.0aspect-oriented programming · 0.0
YearPublicationVenuePosition
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.3
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.4
2008 Enabling Dynamic Co-evolution of Models and Runtime Applications
abstract
Dynamic software adaptation can cause the running system to be out-of-synchronous with its model, and, thus, make the system model obsolete for the use in consistency checking. In this paper, we propose a framework for ensuring the synchronization between the model and the runtime system during dynamic adaptation. I.e., this framework maintains the high-level model of the runtime system, which is essential for system validation. We are also plugging several model validation tools to the framework, for performing system validation during dynamic adaptation.
Prawee Sriplakich, Guillaume Waignier, Anne-Françoise Le Meur
COMPSAC3
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
FASE3
2008 A Model-Based Framework for Statically and Dynamically Checking Component Interactions
Guillaume Waignier, Prawee Sriplakich, Anne-Françoise Le Meur, Laurence Duchien
MoDELS3
2007 FIESTA: A Generic Framework for Integrating New Functionalities into Software Architectures
Guillaume Waignier, Anne-Françoise Le Meur, Laurence Duchien
ECSA2
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.2
2005 Bossa Nova: Introducing Modularity into the Bossa Domain-Specific Language
Julia Lawall, Hervé Duchesne, Gilles Muller, Anne-Françoise Le Meur
GPCE4
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
WICSA3
2004 On Designing a Target-Independent DSL for Safe OS Process-Scheduling Components
Julia Lawall, Anne-Françoise Le Meur, Gilles Muller
GPCE2
2004 Automatic Specialization of Protocol Stacks
abstract
Abstract — Fast and optimized protocol stacks play a major role in the performance of network services. This role is especially important in embedded class systems, where performance metrics such as data throughput tend to be limited by the CPU. It is common on such systems, to have protocol stacks that are optimized by hand for better performance and smaller code footprint. In this paper, we propose a strategy to automate this process. Our approach uses program specialization, and enables appli-cations using the network to request specialized code based on the current usage scenario. The specialized code is generated dy-namically and loaded in the kernel to be used by the application. We have successfully applied our approach to the TCP/IP implementation in the Linux kernel and used the optimized protocol stack in existing applications. These applications were minimally modified to request the specialization of code based on the current usage context, and to use the specialized code generated instead of its generic version. Specialization can be performed locally, or deferred to a remote specialization server using a novel mechanism [1]. Experiments conducted on three platforms show that the specialized code runs about 25 % faster and its size reduces by up to 20 times. The throughput of the protocol stack improves by up to 21%. I.
Sapan Bhatia, Charles Consel, Anne-Françoise Le Meur, Calton Pu
LCN3
2004 A tour of Tempo: a program specializer for the C language
Charles Consel, Julia Lawall, Anne-Françoise Le Meur
Sci. Comput. Program.3
2003 On the automatic evolution of an OS kernel using temporal logic and AOP
abstract
Automating software evolution requires both identifying precisely the affected program points and selecting the appropriate modification at each point. This task is particularly complicated when considering a large program, even when the modifications appear to be systematic. We illustrate this situation in the context of evolving the Linux kernel to support Bossa, an event-based framework for process-scheduler development. To support Bossa, events must be added at points scattered throughout the kernel. In each case, the choice of event depends on properties of one or a sequence of instructions. To describe precisely the choice of event, we propose to guide the event insertion by using a set of rules, amounting to an aspect that describes the control-flow contexts in which each event should be generated. In this paper, we present our approach and describe the set of rules that allows proper event insertion. These rules use temporal logic to describe sequences of instructions that require events to be inserted. We also give an overview of an implementation that we have developed to automatically perform this evolution.
Rickard A. Åberg, Julia Lawall, Mario Südholt, Gilles Muller, Anne-Françoise Le Meur
ASE5
2002 Towards bridging the gap between programming languages and partial evaluation
abstract
Partial evaluation is a program-transformation technique that automatically specializes a program with respect to user-supplied invariants. Despite successful applications in areas such as graphics, operating systems, and software engineering, partial evaluators have yet to achieve widespread use. One reason is the difficulty of adequately describing specialization opportunities. Indeed, under-specialization or over-specialization often occurs, without any direct feedback to the user as to the source of the problem.We have developed a high-level, module-based language allowing the programmer to guide the choice of both the code to specialize and the invariants to exploit during the specialization process. To ease the use of partial evaluation, the syntax of this language is similar to the declaration syntax of the target language of the partial evaluator. To provide feedback to the programmer, declarations are checked throughout the analyses performed by partial evaluation. The language has been successfully used by a signal-processing expert in the design of a specializable Forward Error Correction component.
Anne-Françoise Le Meur, Julia Lawall, Charles Consel
PEPM1