Network


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

Hotspot


Dive into the research topics where Anthony Cleve is active.

Publication


Featured researches published by Anthony Cleve.


variability modelling of software-intensive systems | 2012

On extracting feature models from product descriptions

Mathieu Acher; Anthony Cleve; Gilles Perrouin; Patrick Heymans; Charles Vanbeneden; Philippe Collet; Philippe Lahire

In product line engineering, domain analysis is the process of analyzing related products to identify their common and variable features. This process is generally carried out by experts on the basis of existing product descriptions, which are expressed in a more or less structured way. Modeling and reasoning about product descriptions are error-prone and time consuming tasks. Feature models (FMs) constitute popular means to specify product commonalities and variabilities in a compact way, and to provide automated support to the domain analysis process. This paper aims at easing the transition from product descriptions expressed in a tabular format to FMs accurately representing them. This process is parameterized through a dedicated language and high-level directives (e.g., products/features scoping). We guarantee that the resulting FM represents the set of legal feature combinations supported by the considered products and has a readable tree hierarchy together with variability information. We report on our experiments based on public data and characterize the properties of the derived FMs.


european conference on software architecture | 2011

Reverse engineering architectural feature models

Mathieu Acher; Anthony Cleve; Philippe Collet; Philippe Merle; Laurence Duchien; Philippe Lahire

Reverse engineering the variability of an existing system is a challenging activity. The architect knowledge is essential to identify variation points and explicit constraints between features, for instance in feature models (FMs), but the manual creation of FMs is both time-consuming and error-prone. On a large scale, it is very difficult for an architect to guarantee that the resulting FM is consistent with the architecture it is associated with. In this paper, we present a comprehensive, tool supported process for reverse engineering architectural FMs. We develop automated techniques to extract and combine different variability descriptions of an architecture. Then, alignment and reasoning techniques are applied to integrate the architect knowledge and reinforce the extracted FM. We illustrate the process when applied to a representative software system and we report on our experience in this context.


working conference on reverse engineering | 2006

Data Reverse Engineering using System Dependency Graphs

Anthony Cleve; Jean Henrard; Jean-Luc Hainaut

Data reverse engineering (DRE) is a complex and costly process that requires a deep understanding of large data-intensive software systems. This process can be made easier with the use of program understanding methods and tools. In this paper, we focus on the program slicing technique and we show how it can be adapted to support DRE. We present a DML-independent SDG construction approach involving the analysis of database operations as a first stage. We describe a tool based upon this approach and we report on two industrial DRE projects


variability modelling of software intensive systems | 2013

Support for reverse engineering and maintaining feature models

Mathieu Acher; Benoit Baudry; Patrick Heymans; Anthony Cleve; Jean-Luc Hainaut

Feature Models (FMs) are a popular formalism for modelling and reasoning about commonality and variability of a system. In essence, FMs aim to define a set of valid combinations of features, also called configurations. In this paper, we tackle the problem of synthesising an FM from a set of configurations. The main challenge is that numerous candidate FMs can be extracted from the same input configurations, yet only a few of them are meaningful and maintainable. We first characterise the different meanings of FMs and identify the key properties allowing to discriminate between them. We then develop a generic synthesis procedure capable of restituting the intended meanings of FMs based on inferred or user-specified knowledge. Using tool support, we show how the integration of knowledge into FM synthesis can be realized in different practical application scenarios that involve reverse engineering and maintaining FMs.


Lecture Notes in Computer Science | 2005

Co-transformations in database applications evolution

Anthony Cleve; Jean-Luc Hainaut

The paper adresses the problem of consistency preservation in data intensive applications evolution. When the database structure evolves, the application programs must be changed to interface with the new schema. The latter modification can prove very complex, error prone and time consuming. We describe a comprehensive transformation/generative approach according to which automated program transformation can be derived from schema transformation. The proposal is illustrated in the particular context of database reengineering, for which a specific methodology and a prototype tool are presented. Some results of two case studies are described.


Software and Systems Modeling | 2014

Extraction and evolution of architectural variability models in plugin-based systems

Mathieu Acher; Anthony Cleve; Philippe Collet; Philippe Merle; Laurence Duchien; Philippe Lahire

Variability management is a key issue when building and evolving software-intensive systems, making it possible to extend, configure, customize and adapt such systems to customers’ needs and specific deployment contexts. A wide form of variability can be found in extensible software systems, typically built on top of plugin-based architectures that offer a (large) number of configuration options through plugins. In an ideal world, a software architect should be able to generate a system variant on-demand, corresponding to a particular assembly of plugins. To this end, the variation points and constraints between architectural elements should be properly modeled and maintained over time (i.e., for each version of an architecture). A crucial, yet error-prone and time-consuming, task for a software architect is to build an accurate representation of the variability of an architecture, in order to prevent unsafe architectural variants and reach the highest possible level of flexibility. In this article, we propose a reverse engineering process for producing a variability model (i.e., a feature model) of a plugin-based architecture. We develop automated techniques to extract and combine different variability descriptions, including a hierarchical software architecture model, a plugin dependency model and the software architect knowledge. By computing and reasoning about differences between versions of architectural feature models, software architect can control both the variability extraction and evolution processes. The proposed approach has been applied to a representative, large-scale plugin-based system (FraSCAti), considering different versions of its architecture. We report on our experience in this context.


Archive | 2014

Evolving Software Systems

Tom Mens; Alexander Serebrenik; Anthony Cleve

During the last few years, software evolution research has explored new domains such as the study of socio-technical aspects and collaboration between different individuals contributing to a software system, the use of search-based techniques and meta-heuristics, the mining of unstructured software repositories, the evolution of software requirements, and the dynamic adaptation of software systems at runtime. Also more and more attention is being paid to the evolution of collections of inter-related and inter-dependent software projects, be it in the form of web systems, software product families, software ecosystems or systems of systems. With this book, the editors present insightful contributions on these and other domains currently being intensively explored, written by renowned researchers in the respective fields of software evolution. Each chapter presents the state of the art in a particular topic, as well as the current research, available tool support and remaining challenges. The book is complemented by a glossary of important terms used in the community, a reference list of nearly 1,000 papers and books and tips on additional resources that may be useful to the reader (reference books, journals, standards and major scientific events in the domain of software evolution and datasets). This book is intended for all those interested in software engineering, and more particularly, software maintenance and evolution. Researchers and software practitioners alike will find in the contributed chapters an overview of the most recent findings, covering a broad spectrum of software evolution topics. In addition, it can also serve as the basis of graduate or postgraduate courses on e.g., software evolution, requirements engineering, model-driven software development or social informatics.


Science of Computer Programming | 2011

Unifying design and runtime software adaptation using aspect models

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

Software systems are seen more and more as evolutive systems. At the design phase, software is constantly in adaptation by the building process itself, and at runtime, it can be adapted in response to changing conditions in the executing environment such as location or resources. Adaptation is generally difficult to specify because of its cross-cutting impact on software. This article introduces an approach to unify adaptation at design and at runtime based on Aspect Oriented Modeling. Our approach proposes a unified aspect metamodel and a platform that realizes two different weaving processes to achieve design and runtime adaptations. This approach is used in a Dynamic Software Product Line which derives products that can be configured at design time and adapted at runtime in order to dynamically fit new requirements or resource changes. Such products are implemented using the Service Component Architecture and Java. Finally, we illustrate the use of our approach based on an adaptive e-shopping scenario. The main advantages of this unification are: a clear separation of concerns, the self-contained aspect model that can be weaved during the design and execution, and the platform independence guaranteed by two different types of weaving.


working conference on reverse engineering | 2008

Dynamic Analysis of SQL Statements for Data-Intensive Applications Reverse Engineering

Anthony Cleve; Jean-Luc Hainaut

Analyzing SQL statements brings invaluable information that can be used in various applications such as program understanding and database reverse engineering. While static SQL statements are fairly easy to analyze, dynamic SQL statements most often require dynamic analysis techniques that may prove more difficult to implement. This paper addresses the problem of dynamic SQL query analysis in the context of software and database reverse engineering. It explores the use of dynamic analysis techniques such as aspect-based tracing and SQL trace analysis for extracting implicit information about both the program behavior and the database structure.


Science of Computer Programming | 2015

Understanding database schema evolution

Anthony Cleve; Maxime Gobert; Loup Meurice; Jerome Maes; Jens H. Weber

Database reverse engineering (DRE) has traditionally been carried out by considering three main information sources: (1) the database schema, (2) the stored data, and (3) the application programs. Not all of these information sources are always available, or of sufficient quality to inform the DRE process. For example, getting access to real-world data is often extremely problematic for information systems that maintain private data. In recent years, the analysis of the evolution history of software programs have gained an increasing role in reverse engineering in general, but comparatively little such research has been carried out in the context of database reverse engineering. The goal of this paper is to contribute to narrowing this gap and exploring the use of the database evolution history as an additional information source to aid database schema reverse engineering. We present a tool-supported method for analyzing the evolution history of legacy databases, and we report on a large-scale case study of reverse engineering a complex information system and curate it as a benchmark for future research efforts within the community. We present a tool-supported method to analyze the history of a database schema.The method makes use of mining software repositories (MSR) techniques.We report on the application of the method to a large-scale case study.

Collaboration


Dive into the Anthony Cleve's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Kim Mens

Université catholique de Louvain

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Bruno Dumas

Vrije Universiteit Brussel

View shared research outputs
Researchain Logo
Decentralizing Knowledge