EDBT 2026 Demo / reviewers in the wild / expert
Jean-Marc Jézéquel
dblp:j/JeanMarcJezequel
· DBLP profile ↗
118ranked-venue papers
16as first author
16since 2021 · last 2025
0000-0002-0582-9745ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 102 · 11 first-author · 16 since 2021Databases, data management, data science and information retrieval · 7 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 7 · 1 first-authorArtificial intelligence and machine learning · 5Systems, architecture and hardware · 5 · 3 first-authorComputer networks · 3 · 1 first-authorTheory of computation · 2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Taming uncertainty with MDE: an historical perspective
Jean-Marc Jézéquel |
Softw. Syst. Model. | 1 |
| 2024 | Learning input-aware performance models of configurable systems: An empirical evaluation
Luc Lesoil, Helge Spieker, Arnaud Gotlieb, Mathieu Acher, Paul Temple, Arnaud Blouin, Jean-Marc Jézéquel |
J. Syst. Softw. | 7 |
| 2024 | How does your model represent the system? A note on model fidelity, underspecification, and uncertaintyabstractInternational audience Benoît Combemale, Jeffrey G. Gray, Jean-Marc Jézéquel, Bernhard Rumpe |
Softw. Syst. Model. | 3 |
| 2023 | HyperDiff: Computing Source Code Diffs at ScaleabstractWith the advent of fast software evolution and multistage releases, temporal code analysis is becoming useful for various purposes, such as bug cause identification, bug prediction or code evolution analysis. Temporal code analyses can consist in analyzing multiple Abstract Syntax Trees (ASTs) extracted from code evolutions, e.g. one AST for each commit or release. Core feature to temporal analysis is code differencing: the computation of the so-called Diff or edit script between two given versions of the code. However, jointly analyzing and computing the difference on thousands versions of code faces scalability issues. Mainly because of the cost of: 1) parsing the original and evolved code in two source and target ASTs; 2) wasting resources by not reusing intermediate computation results that can be shared between versions. This paper details a novel approach based on time-oriented data structures that makes code differencing scale up to large software codebases. In particular, we leverage on the HyperAST, a novel representation of code histories, to propose an incremental and memory efficient approach by lazifying the well known GumTree diffing algorithms, a mainstream code differencing algorithm and tool. We evaluated our approach on a curated list of 19 large software projects and compared it to GumTree. Our approach outperforms it in scalability both in time and memory. We observed an order-of-magnitude difference: 1) in CPU time from x1.2 to x12.7 for the total time of diff computation and up to x226 in intermediate phases of the diff computation, and 2) in memory footprint of x4.5 per AST node. The approach produced 99.3% of identical diffs with respect to GumTree. Quentin Le Dilavrec, Djamel Eddine Khelladi, Arnaud Blouin, Jean-Marc Jézéquel |
ESEC/SIGSOFT FSE | 4 |
| 2023 | Input sensitivity on the performance of configurable systems an empirical study
Luc Lesoil, Mathieu Acher, Arnaud Blouin, Jean-Marc Jézéquel |
J. Syst. Softw. | 4 |
| 2023 | Reasoning over time into models with DataTime
Gauthier Le Bartz Lyan, Jean-Marc Jézéquel, David Gross-Amblard, Romain Lefeuvre, Benoît Combemale |
Softw. Syst. Model. | 2 |
| 2022 | Scratching the Surface of ./configure: Learning the Effects of Compile-Time Options on Binary Size and Gadgets
Xhevahire Tërnava, Mathieu Acher, Luc Lesoil, Arnaud Blouin, Jean-Marc Jézéquel |
ICSR | 5 |
| 2022 | HyperAST: Enabling Efficient Analysis of Software Histories at ScaleabstractAbstract Syntax Trees (ASTs) are widely used beyond compilers in many tools that measure and improve code quality, such as code analysis, bug detection, mining code metrics, refactoring. With the advent of fast software evolution and multistage releases, the temporal analysis of an AST history is becoming useful to understand and maintain code. Quentin Le Dilavrec, Djamel Eddine Khelladi, Arnaud Blouin, Jean-Marc Jézéquel |
ASE | 4 |
| 2022 | Global Decision Making Over Deep Variability in Feedback-Driven Software DevelopmentabstractTo succeed with the development of modern software, organizations must have the agility to adapt faster to constantly evolving environments to deliver more reliable and optimized solutions that can be adapted to the needs and environments of their stakeholders including users, customers, business, development, and IT. However, stakeholders do not have sufficient automated support for global decision making, considering the increasing variability of the solution space, the frequent lack of explicit representation of its associated variability and decision points, and the uncertainty of the impact of decisions on stakeholders and the solution space. This leads to an ad-hoc decision making process that is slow, error-prone, and often favors local knowledge over global, organization-wide objectives. The Multi-Plane Models and Data (MP-MODA) framework explicitly represents and manages variability, impacts, and decision points. It enables automation and tool support in aid of a multi-criteria decision making process involving different stakeholders within a feedback-driven software development process where feedback cycles aim to reduce uncertainty. We present the conceptual structure of the framework, discuss its potential benefits, and enumerate key challenges related to tool supported automation and analysis within MP-MODA. Jörg Kienzle, Benoît Combemale, Gunter Mussbacher, Omar Alam, Francis Bordeleau, Loli Burgueño, Gregor Engels, Jessie Galasso, Jean-Marc Jézéquel, Bettina Kemme, Sébastien Mosser 0001, Houari Sahraoui, Maximilian Schiedermeier, Eugene Syriani |
ASE | 9 |
| 2022 | Interacto: A Modern User Interaction Processing ModelabstractSince most software systems provide their users with interactive features, building user interfaces (UI) is one of the core software engineering tasks. It consists in designing, implementing and testing ever more sophisticated and versatile ways for users to interact with software systems, and safely connecting these interactions with commands querying or modifying their state. However, most UI frameworks still rely on a low level model, the bare bone UI event processing model. This model was suitable for the rather simple UIs of the early 80's (menus, buttons, keyboards, mouse clicks), but now exhibits major software engineering flaws for modern, highly interactive UIs. These flaws include lack of separation of concerns, weak modularity and thus low reusability of code for advanced interactions, as well as low testability. To mitigate these flaws, we proposeInteractoas a high level user interaction processing model. By reifying the concept of user interaction,Interactomakes it easy to design, implement and test modular and reusable advanced user interactions, and to connect them to commands with built-in undo/redo support. To demonstrate its applicability and generality, we briefly present two open source implementations ofInteractofor Java/JavaFX and TypeScript/Angular. We evaluateInteractointerest (1) on a real world case study, where it has been used since 2013, and with (2) a controlled experiment with 44 master students, comparing it with traditionnal UI frameworks. Arnaud Blouin, Jean-Marc Jézéquel |
IEEE Trans. Software Eng. | 2 |
| 2022 | Transfer Learning Across Variants and Versions: The Case of Linux Kernel SizeabstractWith large scale and complex configurable systems, it is hard for users to choose the right combination of options (i.e., configurations) in order to obtain the wanted trade-off between functionality and performance goals such as speed or size. Machine learning can help in relating these goals to the configurable system options, and thus, predict the effect of options on the outcome, typically after a costly training step. However, many configurable systems evolve at such a rapid pace that it is impractical to retrain a new model from scratch for each new version. In this paper, we propose a new method to enable transfer learning of binary size predictions among versions of the same configurable system. Taking the extreme case of the Linux kernel with its$\approx 14,500$configuration options, we first investigate how binary size predictions of kernel size degrade over successive versions. We show that the direct reuse of an accurate prediction model from 2017 quickly becomes inaccurate when Linux evolves, up to a 32% mean error by August 2020. We thus propose a new approach for transfer evolution-aware model shifting (tEAMS). It leverages the structure of a configurable system to transfer an initial predictive model towards its future versions with a minimal amount of extra processing for each version. We show thattEAMSvastly outperforms state of the art approaches over the 3 years history of Linux kernels, from 4.13 to 5.8. Hugo Martin 0003, Mathieu Acher, Juliana Alves Pereira, Luc Lesoil, Jean-Marc Jézéquel, Djamel Eddine Khelladi |
IEEE Trans. Software Eng. | 5 |
| 2021 | Untangling Spaghetti of Evolutions in Software Histories to Identify Code and Test Co-evolutionsabstractVersion Control Systems are key elements of modern software development. They provide the history of software systems, serialized as lists of commits. Practitioners may rely on this history to understand and study the evolutions of software systems, including the co-evolution amongst strongly coupled development artifacts such as production code and their tests. However, a precise identification of code and test co-evolutions requires practitioners to manually untangle spaghetti of evolutions. In this paper, we propose an automated approach for detecting co-evolutions between code and test, independently of the commit history. The approach creates a sound knowledge base of code and test co-evolutions that practitioners can use for various purposes in their projects. We conducted an empirical study on a curated set of 45 open-source systems having Git histories. Our approach exhibits a precision of 100 % and an underestimated recall of 37.5 % in detecting the code and test co-evolutions. Our approach also spotted different kinds of code and test co-evolutions, including some of those researchers manually identified in previous work. Quentin Le Dilavrec, Djamel Eddine Khelladi, Arnaud Blouin, Jean-Marc Jézéquel |
ICSME | 4 |
| 2021 | DataTime: a Framework to smoothly Integrate Past, Present and Future into ModelsabstractModels at runtime have been initially investigated for adaptive systems. Models are used as a reflective layer of the current state of the system to support the implementation of a feedback loop. More recently, models at runtime have also been identified as key for supporting the development of full-fledged digital twins. However, this use of models at runtime raises new challenges, such as the ability to seamlessly interact with the past, present and future states of the system. In this paper, we propose a framework called DataTime to implement models at runtime which capture the state of the system according to the dimensions of both time and space, here modeled as a directed graph where both nodes and edges bear local states (ie. values of properties of interest). DataTime provides a unifying interface to query the past, present and future (predicted) states of the system. This unifying interface provides i) an optimized structure of the time series that capture the past states of the system, possibly evolving over time, ii) the ability to get the last available value provided by the system's sensors, and iii) a continuous micro-learning over graph edges of a predictive model to make it possible to query future states, either locally or more globally, thanks to a composition law. The framework has been developed and evaluated in the context of the Intelligent Public Transportation Systems of the city of Rennes (France). This experimentation has demonstrated how DataTime can deprecate the use of heterogeneous tools for managing data from the past, the present and the future, and facilitate the development of digital twins. Gauthier Le Bartz Lyan, Jean-Marc Jézéquel, David Gross-Amblard, Benoît Combemale |
MoDELS | 2 |
| 2021 | Empirical assessment of generating adversarial configurations for software product lines
Paul Temple, Gilles Perrouin, Mathieu Acher, Battista Biggio, Jean-Marc Jézéquel, Fabio Roli |
Empir. Softw. Eng. | 5 |
| 2021 | Learning software configuration spaces: A systematic literature review
Juliana Alves Pereira, Mathieu Acher, Hugo Martin 0003, Jean-Marc Jézéquel, Goetz Botterweck, Anthony Ventresque |
J. Syst. Softw. | 4 |
| 2021 | Empirical Assessment of Multimorphic TestingabstractThe performance of software systems such as speed, memory usage, correct identification rate, tends to be an evermore important concern, often nowadays on par with functional correctness for critical systems. Systematically testing these performance concerns is however extremely difficult, in particular because there exists no theory underpinning the evaluation of a performance test suite, i.e., to tell the software developer whether such a test suite is ”good enough” or even whether a test suite is better than another one. This paper proposes to apply Multimorphic testing and empirically assess the effectiveness of performance test suites of software systems coming from various domains. By analogy with mutation testing, our core idea is to leverage the typical configurability of these systems, and to check whether it makes any difference in the outcome of the tests: i.e., are some tests able to “kill” underperforming system configurations? More precisely, we propose a framework for defining and evaluating the coverage of a test suite with respect to a quantitative property of interest. Such properties can be the execution time, the memory usage or the success rate in tasks performed by a software system. This framework can be used to assess whether a new test case is worth adding to a test suite or to select an optimal test suite with respect to a property of interest. We evaluate several aspects of our proposal through 3 empirical studies carried out in different fields: object tracking in videos, object recognition in images, and code generators. Paul Temple, Mathieu Acher, Jean-Marc Jézéquel |
IEEE Trans. Software Eng. | 3 |
| 2020 | Co-evolving code with evolving metamodelsabstractMetamodels play a significant role to describe and analyze the relations between domain concepts. They are also cornerstone to build a software language (SL) for a domain and its associated tooling. Metamodel definition generally drives code generation of a core API. The latter is further enriched by developers with additional code implementing advanced functionalities, e.g., checkers, recommenders, etc. When a SL is evolved to the next version, the metamodels are evolved as well before to re-generate the core API code. As a result, the developers added code both in the core API and the SL toolings may be impacted and thus may need to be co-evolved accordingly. Many approaches support the co-evolution of various artifacts when metamodels evolve. However, not the co-evolution of code. This paper fills this gap. We propose a semi-automatic co-evolution approach based on change propagation. The premise is that knowledge of the metamodel evolution changes can be propagated by means of resolutions to drive the code co-evolution. Our approach leverages on the abstraction level of metamodels where a given metamodel element has often different usages in the code. It supports alternative co-evaluations to meet different developers needs. Our work is evaluated on three Eclipse SL implementations, namely OCL, Modisco, and Papyrus over several evolved versions of metamodels and code. In response to five different evolved metamodels, we co-evolved 976 impacts over 18 projects.A comparison of our co-evolved code with the versioned ones shows the usefulness of our approach. Our approach was able to reach a weighted average of 87.4% and 88.9% respectively of precision and recall while supporting useful alternative co-evolution that developers have manually performed. Djamel Eddine Khelladi, Benoît Combemale, Mathieu Acher, Olivier Barais, Jean-Marc Jézéquel |
ICSE | 5 |
| 2020 | Sampling Effect on Performance Prediction of Configurable Systems: A Case StudyabstractNumerous software systems are highly configurable and provide a myriad of configuration options that users can tune to fit their functional and performance requirements (e.g., execution time). Measuring all configurations of a system is the most obvious way to understand the effect of options and their interactions, but is too costly or infeasible in practice. Numerous works thus propose to measure only a few configurations (a sample) to learn and predict the performance of any combination of options' values. A challenging issue is to sample a small and representative set of configurations that leads to a good accuracy of performance prediction models. A recent study devised a new algorithm, called distance-based sampling, that obtains state-of-the-art accurate performance predictions on different subject systems. In this paper, we replicate this study through an in-depth analysis of x264, a popular and configurable video encoder. We systematically measure all 1,152 configurations of x264 with 17 input videos and two quantitative properties (encoding time and encoding size). Our goal is to understand whether there is a dominant sampling strategy over the very same subject system (x264), i.e., whatever the workload and targeted performance properties. The findings from this study show that random sampling leads to more accurate performance models. However, without considering random, there is no single "dominant" sampling, instead different strategies perform best on different inputs and non-functional properties, further challenging practitioners and researchers. Juliana Alves Pereira, Mathieu Acher, Hugo Martin 0003, Jean-Marc Jézéquel |
ICPE | 4 |
| 2020 | Comparing and classifying model transformation reuse approaches across metamodels
Jean-Michel Bruel, Benoît Combemale, Esther Guerra, Jean-Marc Jézéquel, Jörg Kienzle, Juan de Lara, Gunter Mussbacher, Eugene Syriani, Hans Vangheluwe |
Softw. Syst. Model. | 4 |
| 2020 | Opportunities in intelligent modeling assistance
Gunter Mussbacher, Benoît Combemale, Jörg Kienzle, Silvia Abrahão, Hyacinth Ali, Nelly Bencomo, Márton Búr, Loli Burgueño, Gregor Engels, Pierre Jeanjean, Jean-Marc Jézéquel, Thomas Kühn 0001, Sébastien Mosser 0001, Houari Sahraoui, Eugene Syriani, Dániel Varró, Martin Weyssow |
Softw. Syst. Model. | 11 |
| 2018 | Concern-oriented language development (COLD): Fostering reuse in language engineering
Benoît Combemale, Jörg Kienzle, Gunter Mussbacher, Olivier Barais, Erwan Bousse, Walter Cazzola, Philippe Collet, Thomas Degueule, Robert Heinrich, Jean-Marc Jézéquel, Manuel Leduc, Tanja Mayerhofer, Sébastien Mosser 0001, Matthias Schöttle, Misha Strittmatter, Andreas Wortmann 0001 |
Comput. Lang. Syst. Struct. | 10 |
| 2017 | Safe model polymorphism for flexible modeling
Thomas Degueule, Benoît Combemale, Arnaud Blouin, Olivier Barais, Jean-Marc Jézéquel |
Comput. Lang. Syst. Struct. | 5 |
| 2016 | Using machine learning to infer constraints for product linesabstractVariability intensive systems may include several thousand features allowing for an enormous number of possible configurations, including wrong ones (e.g. the derived product does not compile). For years, engineers have been using constraints to a priori restrict the space of possible configurations, i.e. to exclude configurations that would violate these constraints. The challenge is to find the set of constraints that would be both precise (allow all correct configurations) and complete (never allow a wrong configuration with respect to some oracle). In this paper, we propose the use of a machine learning approach to infer such product-line constraints from an oracle that is able to assess whether a given product is correct. We propose to randomly generate products from the product line, keeping for each of them its resolution model. Then we classify these products according to the oracle, and use their resolution models to infer cross-tree constraints over the product-line. We validate our approach on a product-line video generator, using a simple computer vision algorithm as an oracle. We show that an interesting set of cross-tree constraint can be generated, with reasonable precision and recall. Paul Temple, José A. Galindo, Mathieu Acher, Jean-Marc Jézéquel |
SPLC | 4 |
| 2016 | ScapeGoat: Spotting abnormal resource usage in component-based reconfigurable software systems
Inti Y. Gonzalez-Herrera, Johann Bourcier, Erwan Daubert, Walter Rudametkin, Olivier Barais, François Fouquet, Jean-Marc Jézéquel, Benoit Baudry |
J. Syst. Softw. | 7 |
| 2015 | Product lines can jeopardize their trade secretsabstractWhat do you give for free to your competitor when you exhibit a product line? This paper addresses this question through several cases in which the discovery of trade secrets of a product line is possible and can lead to severe consequences. That is, we show that an outsider can understand the variability realization and gain either confidential business information or even some economical direct advantage. For instance, an attacker can identify hidden constraints and bypass the product line to get access to features or copyrighted data. This paper warns against possible naive modeling, implementation, and testing of variability leading to the existence of product lines that jeopardize their trade secrets. Our vision is that defensive methods and techniques should be developed to protect specifically variability – or at least further complicate the task of reverse engineering it. Mathieu Acher, Guillaume Bécan, Benoît Combemale, Benoit Baudry, Jean-Marc Jézéquel |
ESEC/SIGSOFT FSE | 5 |
| 2015 | Melange: a meta-language for modular and reusable development of DSLsabstractDomain-Specific Languages (DSLs) are now developed for a wide variety of domains to address specific concerns in the development of complex systems. When engineering new DSLs, it is likely that previous efforts spent on the development of other languages could be leveraged, especially when their domains overlap. However, legacy DSLs may not fit exactly the end user requirements and thus require further extension, restriction, or specialization. While current language workbenches provide import mechanisms, they usually lack an explicit support for such customizations of imported artifacts. In this paper, we propose an approach for building DSLs by safely assembling and customizing legacy DSLs artifacts. This approach is based on typing relations that provide a reasoning layer for manipulating DSLs while ensuring type safety. On top of this reasoning layer, we provide an algebra of operators for extending, restricting, and assembling separate DSL artifacts. We implemented the typing relations and algebra into the Melange meta-language. We illustrate Melange through the modular definition of an executable modeling language for the Internet Of Things domain. We show how it eases the definition of new DSLs by maximizing the reuse of legacy artifacts without introducing issues in terms of performance, technical ecosystem compatibility, or generated code volume. Thomas Degueule, Benoît Combemale, Arnaud Blouin, Olivier Barais, Jean-Marc Jézéquel |
SLE | 5 |
| 2015 | Assessing the use of slicing-based visualizing techniques on the understanding of large metamodels
Arnaud Blouin, Naouel Moha, Benoit Baudry, Houari Sahraoui, Jean-Marc Jézéquel |
Inf. Softw. Technol. | 5 |
| 2015 | In memory of Robert B. France, Co-Founder and Editor-in-Chief of SoSyM from 1999 to 2015
Marsha Chechik, Geri Georg, Martin Gogolla, Jean-Marc Jézéquel, Bernhard Rumpe, Martin Schindler |
Softw. Syst. Model. | 4 |
| 2015 | Mashup of metalanguages and its implementation in the Kermeta language workbench
Jean-Marc Jézéquel, Benoît Combemale, Olivier Barais, Martin Monperrus, François Fouquet |
Softw. Syst. Model. | 1 |
| 2014 | Using Path-Dependent Types to Build Type Safe JavaScript Foreign Function Interfaces
Julien Richard-Foy, Olivier Barais, Jean-Marc Jézéquel |
ICWE | 3 |
| 2014 | Domain Specific Languages: From Craft to EngineeringabstractThe engineering of systems involves many different stakeholders, each with their own domain of expertise. Hence more and more organizations are developing an ever growing number of Domain Specific Languages (DSLs) to allow domain experts to express solutions directly in terms of relevant domain concepts. This new trend raises new challenges about designing not just one DSL but many of them, evolving a set of DSLs and coordinating the use of multiple DSLs. In this talk we explore various dimensions of these challenges, and outline a possible research roadmap for addressing them. We detail one of these challenges, which is the safe reuse of model transformations. Indeed both DSL definition and tooling (eg. checkers, document or code generators, model transformations) require significant development efforts, for a limited audience (by definition), because the current state of the art of Model Driven Engineering still makes it hard to reuse and evolve these definitions and tooling across several DSLs, even when these DSLs are conceptually very close to one other. We outline a new extension to the Kermeta language that leverages Family Polymorphism to allow model polymorphism, inheritance among DSLs, as well as evolution and interoperability of DSLs. Jean-Marc Jézéquel |
iiWAS | 1 |
| 2014 | Customization and 3D printing: a challenging playground for software product linesabstract3D printing is gaining more and more momentum to build customized product in a wide variety of fields. We conduct an exploratory study of Thingiverse, the most popular Website for sharing user-created 3D design files, in order to establish a possible connection with software product line (SPL) engineering. We report on the socio-technical aspects and current practices for modeling variability, implementing variability, configuring and deriving products, and reusing artefacts. We provide hints that SPL-alike techniques are practically used in 3D printing and thus relevant. Finally, we discuss why the customization in the 3D printing field represents a challenging playground for SPL engineering. Mathieu Acher, Benoit Baudry, Olivier Barais, Jean-Marc Jézéquel |
SPLC | 4 |
| 2014 | Scapegoat: An Adaptive Monitoring Framework for Component-Based SystemsabstractModern component frameworks support continuous deployment and simultaneous execution of multiple software components on top of the same virtual machine. However, isolation between the various components is limited. A faulty version of any one of the software components can compromise the whole system by consuming all available resources. In this paper, we address the problem of efficiently identifying faulty software components running simultaneously in a single virtual machine. Current solutions that perform permanent and extensive monitoring to detect anomalies induce high overhead on the system, and can, by themselves, make the system unstable. In this paper we present an optimistic adaptive monitoring system to determine the faulty components of an application. Suspected components are finely instrumented for deeper analysis by the monitoring system, but only when required. Unsuspected components are left untouched and execute normally. Thus, we perform localized just-in-time monitoring that decreases the accumulated overhead of the monitoring system. We evaluate our approach against a state-of-the-art monitoring system and show that our technique correctly detects faulty components, while reducing overhead by an average of 80%. Inti Y. Gonzalez-Herrera, Johann Bourcier, Erwan Daubert, Walter Rudametkin, Olivier Barais, François Fouquet, Jean-Marc Jézéquel |
WICSA | 7 |
| 2014 | Model-based testing of global properties on large-scale distributed systems
Gerson Sunyé, Eduardo C. de Almeida, Yves Le Traon, Benoit Baudry, Jean-Marc Jézéquel |
Inf. Softw. Technol. | 5 |
| 2013 | Integrating Software Process Reuse and AutomationabstractReusing software processes from a Software Process Line (SPL, i.e., a set of software processes that captures their commonalities and variabilities) and automating their execution is a way to reduce development costs. However, to our best knowledge no approach integrates both aspects. The difficulty is to automate the execution of a process whose variability is only partially resolved (i.e., a value is not set to each variable part of the process). Indeed, according to projects' constraints, it is possible to start the execution of a part of a process whose variability is resolved, while postponing the resolution of the variability of other parts of this process. In this paper, we propose a tool-supported approach that integrates both aspects. It consists of reusing processes from an SPL according to projects' requirements. The processes are bound to components that automate their execution. When the variability of a process to execute is not fully resolved, our approach consists of resolving this variability during the execution of this process. We illustrate this work on a family of processes for designing and implementing modeling languages. Our approach enables both the reuse of software processes and the automation of their execution, while enabling to resolve process variability during the execution. Emmanuelle Rouillé, Benoît Combemale, Olivier Barais, David Touzet, Jean-Marc Jézéquel |
APSEC (1) | 5 |
| 2013 | Efficient high-level abstractions for web programmingabstractWriting large Web applications is known to be difficult. One challenge comes from the fact that the application's logic is scattered into heterogeneous clients and servers, making it difficult to share code between both sides or to move code from one side to the other. Another challenge is performance: while Web applications rely on ever more code on the client-side, they may run on smart phones with limited hardware capabilities. These two challenges raise the following problem: how to benefit from high-level languages and libraries making code complexity easier to manage and abstracting over the clients and servers differences without trading this ease of engineering for performance? This article presents high-level abstractions defined as deep embedded DSLs in Scala that can generate efficient code leveraging the characteristics of both client and server environments. We compare performance on client-side against other candidate technologies and against hand written low-level JavaScript code. Though code written with our DSL has a high level of abstraction, our benchmark on a real world application reports that it runs as fast as hand tuned low-level JavaScript code. Julien Richard-Foy, Olivier Barais, Jean-Marc Jézéquel |
GPCE | 3 |
| 2013 | Soa Antipatterns: an Approach for their Specification and DetectionabstractLike any other large and complex software systems, Service-Based Systems (SBSs) must evolve to fit new user requirements and execution contexts. The changes resulting from the evolution of SBSs may degrade their design and quality of service (QoS) and may often cause the appearance of common poor solutions in their architecture, called antipatterns, in opposition to design patterns, which are good solutions to recurring problems. Antipatterns resulting from these changes may hinder the future maintenance and evolution of SBSs. The detection of antipatterns is thus crucial to assess the design and QoS of SBSs and facilitate their maintenance and evolution. However, methods and techniques for the detection of antipatterns in SBSs are still in their infancy despite their importance. In this paper, we introduce a novel and innovative approach supported by a framework for specifying and detecting antipatterns in SBSs. Using our approach, we specify 10 well-known and common antipatterns, including Multi Service and Tiny Service, and automatically generate their detection algorithms. We apply and validate the detection algorithms in terms of precision and recall two systems developed independently, (1) Home-Automation, an SBS with 13 services, and (2) FraSCAti, an open-source implementation of the Service Component Architecture (SCA) standard with more than 100 services. This validation demonstrates that our approach enables the specification and detection of Service Oriented Architecture (SOA) antipatterns with an average precision of 90% and recall of 97.5%. Francis Palma, Mathieu Nayrolles, Naouel Moha, Yann-Gaël Guéhéneuc, Benoit Baudry, Jean-Marc Jézéquel |
Int. J. Cooperative Inf. Syst. | 6 |
| 2013 | Automated measurement of models of requirements
Martin Monperrus, Benoit Baudry, Joël Champeau, Brigitte Hoeltzener, Jean-Marc Jézéquel |
Softw. Qual. J. | 5 |
| 2012 | Relationships Formalization for Model-Based Product LinesabstractModel-Based Engineering (MBE) and Product Line Engineering (PLE) have been combined, to handle new system development constraints like: increasing complexity, higher product quality and cost reduction. Many authors have pointed out the need of modularization in the variability and in the core assets space. Existing approaches focus on separating and delimiting concerns or providing generic composition mechanisms. In Model-Based Product Lines, with an increasing number of models to manage, organizing the modeling space becomes central to support product line consistency, maintenance and product derivation process. To organize the modeling space, we propose to precisely describe the dependencies among modeling artifacts and clarify their use. Thus, we introduce the Product Line Modeling Space (PLiMoS) language that specializes relationships, based on an intentional framework, for the product line domain. The Domain Specific Language (DSL) provides a solution to model the modeling space and preserves independence with the product line tooling. Stephen Creff, Joël Champeau, Arnaud Monégier, Jean-Marc Jézéquel |
APSEC | 4 |
| 2012 | Leveraging CVL to Manage Variability in Software Process LinesabstractVariability on project requirements often implies variability on software processes. To manage such variability, Software Process Lines (SPLs) can be used to represent commonality (i.e., common practices) and variability (i.e., differences) of a set of related software processes. To this end, some Software Process Modeling Languages (SPMLs) natively integrate variability mechanisms. Nevertheless, such a coupling between the SPML and the variability mechanisms i) requires to interpret the requirements variability in terms of the processes variability, ii) limits the reuse of the requirements variability for other purposes (e.g., the development itself), and iii) is a barrier to the use of advances from the field of variability management. In this paper, we propose an approach to apply the Common Variability Language (CVL from the OMG consortium) for requirement variability modeling and its binding to the processes. This work is illustrated on a family of industrial Java development processes. Our approach enables the definition of an SPL and the automatic derivation of a process from this SPL according to the requirements of a given project. The variability is managed separately from the process model and benefits from existing tools coming from the process modeling community and CVL. Emmanuelle Rouillé, Benoît Combemale, Olivier Barais, David Touzet, Jean-Marc Jézéquel |
APSEC | 5 |
| 2012 | Dissemination of Reconfiguration Policies on Mesh Networks
François Fouquet, Erwan Daubert, Noël Plouzeau, Olivier Barais, Johann Bourcier, Jean-Marc Jézéquel |
DAIS | 6 |
| 2012 | On Model Subtyping
Clément Guy, Benoît Combemale, Steven Derrien, Jim Steel, Jean-Marc Jézéquel |
ECMFA | 5 |
| 2012 | Towards flexible evolution of Dynamically Adaptive SystemsabstractModern 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 |
ICSE | 8 |
| 2012 | Specification and Detection of SOA Antipatterns
Naouel Moha, Francis Palma, Mathieu Nayrolles, Benjamin Joyen Conseil, Yann-Gaël Guéhéneuc, Benoit Baudry, Jean-Marc Jézéquel |
ICSOC | 7 |
| 2012 | An Eclipse Modelling Framework Alternative to Meet the Models@Runtime Requirements
François Fouquet, Grégory Nain, Brice Morin, Erwan Daubert, Olivier Barais, Noël Plouzeau, Jean-Marc Jézéquel |
MoDELS | 7 |
| 2012 | Model-based product line evolution: an incremental growing by extensionabstractModel-Based Engineering (MBE) and Product Line Engineering (PLE) have been combined, to handle new system development constraints like: increasing complexity, higher product quality, faster time-to-market and cost reduction. As observed by some authors, the derivation of a product from product line shared core assets has been insufficiently addressed and can remain tedious in practice. We cope with this issue focusing on having a flexible and reactive model-based derivation, and propose an incremental evolution by extension of the product line coupled with this derivation activity. Process and tools bridge the gap between Application and Domain Engineering introducing a semi-automatic feedback to benefits from the developments made in the Application Engineering. The approach is applied to a model-based product line dedicated to Class diagrams, and is tooled within the Eclipse environment. Stephen Creff, Joël Champeau, Jean-Marc Jézéquel, Arnaud Monégier |
SPLC (2) | 3 |
| 2012 | Achieving process modeling and execution through the combination of aspect and model-driven engineering approachesabstractSUMMARY 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. | 2 |
| 2012 | Bridging the chasm between MDE and the world of compilation
Jean-Marc Jézéquel, Benoît Combemale, Steven Derrien, Clément Guy, Sanjay V. Rajopadhye |
Softw. Syst. Model. | 1 |
| 2012 | Weaving variability into domain metamodels
Gilles Perrouin, Gilles Vanwormhoudt, Brice Morin, Philippe Lahire, Olivier Barais, Jean-Marc Jézéquel |
Softw. Syst. Model. | 6 |
| 2012 | Reusable model transformations
Sagar Sen, Naouel Moha, Vincent Mahé, Olivier Barais, Benoit Baudry, Jean-Marc Jézéquel |
Softw. Syst. Model. | 6 |
| 2011 | A multi-perspective approach for web service compositionabstractThe new paradigm for distributed computing over the Internet is that of Web services (WSs). One of the key ideas of this new paradigm is the ability to create value-added Service-Based Applications (SBAs) by composing pre-existing services. Building SBAs necessitates the discovery and the selection of the most appropriate WSs that fit closely users' functional and non-functional requirements. Due to the large number of WSs that are advertised over public and private registries and the various functional and non-functional capabilities that are required by users, discovery and selection of WSs have become a real challenge nowadays. In this paper, we present a WS composition approach that is built upon both perspectives: intentional and operational. In the intentional perspective, we propose to model users' requirements for SBAs using the MAP formalism and specify the required WSs using an Intentional Service Model (ISM). In the operational perspective, we propose to discover the required WSs by querying the service search engine Service-Finder and select the most appropriate WSs by using many-valued concept lattices. To validate our approach, we use an analytical technique that is the monitoring to verify that the selected WSs assure the required users' non-functional capabilities. Maha Driss, Yassine Jamoussi, Jean-Marc Jézéquel, Henda Ben Ghézala |
iiWAS | 3 |
| 2011 | Model-driven generative development of measurement software
Martin Monperrus, Jean-Marc Jézéquel, Benoit Baudry, Joël Champeau, Brigitte Hoeltzener |
Softw. Syst. Model. | 2 |
| 2010 | Using model driven engineering technologies for building authoring applicationsabstractBuilding authoring applications is a tedious and complex task that requires a high programming effort. Document technologies, especially XML based ones, can help in reducing such an effort by providing common bases for manipulating documents. Still, the overall task consists mainly of writing the application's source code. Model Driven Engineering (MDE) focuses on generating the source code from an exhaustive model of the application. In this paper, we illustrate that MDE technologies can be used to automate the development of authoring application components, but fail in generating the code of graphical components. We present our framework, called Malai, that aims to solve this issue. Olivier Beaudoux, Arnaud Blouin, Jean-Marc Jézéquel |
ACM Symposium on Document Engineering | 3 |
| 2010 | Integrating legacy systems with MDEabstractIntegrating several legacy software systems together is commonly performed with multiple applications of the Adapter Design Pattern in OO languages such as Java. The integration is based on specifying bi-directional translations between pairs of APIs from different systems. Yet, manual development of wrappers to implement these translations is tedious, expensive and error-prone. In this paper, we explore how models, aspects and generative techniques can be used in conjunction to alleviate the implementation of multiple wrappers. Briefly the steps are, (1) the automatic reverse engineering of relevant concepts in APIs to high-level models; (2) the manual definition of mapping relationships between concepts in different models of APIs using an ad-hoc DSL; (3) the automatic generation of wrappers from these mapping specifications using AOP. This approach is weighted against manual development of wrappers using an industrial case study. Criteria are the relative code length and the increase of automation. Mickael Clavreul, Olivier Barais, Jean-Marc Jézéquel |
ICSE (2) | 3 |
| 2010 | Business and Information System Alignment: A Formal Solution for Telecom ServicesabstractThe main aim of Enterprise Architecture (EA) is to master the development and the evolutions of Information Systems (IS). The EA process consists in designing on several views the IS target architecture, according to the company strategy. The business view represents the target organization of the considered company. The functional view focuses on the target functional architecture of the considered IS. In this paper, we propose a new formal solution to analyze the consistency between the target functional view and the target business view of telecom services. This solution is based on the definition of a strategic alignment of the target functional view with the target business view. Alignment is illustrated with a real case study achieved with Orange - France Telecom on their messaging service. An alignment measure completing this analysis provides an estimation of the gap between a target functional view and a target business view. Jacques Simonin, Emmanuel Bertin, Yves Le Traon, Jean-Marc Jézéquel, Noël Crespi |
ICSEA | 4 |
| 2010 | A Requirement-Centric Approach to Web Service Modeling, Discovery, and Selection
Maha Driss, Naouel Moha, Yassine Jamoussi, Jean-Marc Jézéquel, Henda Ben Ghézala |
ICSOC | 4 |
| 2010 | Security-driven model-based dynamic adaptationabstractSecurity 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 |
ASE | 6 |
| 2010 | Active Operations on Collections
Olivier Beaudoux, Arnaud Blouin, Olivier Barais, Jean-Marc Jézéquel |
MoDELS (1) | 4 |
| 2010 | Flexible Model Element Introduction Policies for Aspect-Oriented Modeling
Brice Morin, Jacques Klein, Jörg Kienzle, Jean-Marc Jézéquel |
MoDELS (2) | 4 |
| 2010 | Evaluation of Kermeta for solving graph-based problems
Naouel Moha, Sagar Sen, Cyril Faucher, Olivier Barais, Jean-Marc Jézéquel |
Int. J. Softw. Tools Technol. Transf. | 5 |
| 2010 | A Comparison of Six UML-Based Languages for Software Process ModelingabstractDescribing and managing activities, resources, and constraints of software development processes is a challenging goal for many organizations. A first generation of Software Process Modeling Languages (SPMLs) appeared in the 1990s but failed to gain broad industrial support. Recently, however, a second generation of SPMLs has appeared, leveraging the strong industrial interest for modeling languages such as UML. In this paper, we propose a comparison of these UML-based SPMLs. While not exhaustive, this comparison concentrates on SPMLs most representative of the various alternative approaches, ranging from UML-based framework specializations to full-blown executable metamodeling approaches. To support the comparison of these various approaches, we propose a frame gathering a set of requirements for process modeling, such as semantic richness, modularity, executability, conformity to the UML standard, and formality. Beyond discussing the relative merits of these approaches, we also evaluate the overall suitability of these UML-based SPMLs for software process modeling. Finally, we discuss the impact of these approaches on the current state of the practice, and conclude with lessons we have learned in doing this comparison. Reda Bendraou, Jean-Marc Jézéquel, Marie-Pierre Gervais, Xavier Blanc 0001 |
IEEE Trans. Software Eng. | 2 |
| 2009 | Taming Dynamically Adaptive Systems using models and aspectsabstractSince software systems need to be continuously available under varying conditions, their ability to evolve at runtime is increasingly seen as one key issue. Modern programming frameworks already provide support for dynamic adaptations. However the high-variability of features in Dynamic Adaptive Systems (DAS) introduces an explosion of possible runtime system configurations (often called modes) and mode transitions. Designing these configurations and their transitions is tedious and error-prone, making the system feature evolution difficult. While Aspect-Oriented Modeling (AOM) was introduced to improve the modularity of software, this paper presents how an AOM approach can be used to tame the combinatorial explosion of DAS modes. Using AOM techniques, we derive a wide range of modes by weaving aspects into an explicit model reflecting the runtime system. We use these generated modes to automatically adapt the system. We validate our approach on an adaptive middleware for home-automation currently deployed in Rennes metropolis. Brice Morin, Olivier Barais, Grégory Nain, Jean-Marc Jézéquel |
ICSE | 4 |
| 2009 | Aspect Model Unweaving
Jacques Klein, Jörg Kienzle, Brice Morin, Jean-Marc Jézéquel |
MoDELS | 4 |
| 2009 | Generic Model Refactorings
Naouel Moha, Vincent Mahé, Olivier Barais, Jean-Marc Jézéquel |
MoDELS | 4 |
| 2009 | Weaving Variability into Domain Metamodels
Brice Morin, Gilles Perrouin, Philippe Lahire, Olivier Barais, Gilles Vanwormhoudt, Jean-Marc Jézéquel |
MoDELS | 6 |
| 2009 | Meta-model Pruning
Sagar Sen, Naouel Moha, Benoit Baudry, Jean-Marc Jézéquel |
MoDELS | 4 |
| 2008 | EA4UP: An Enterprise Architecture-Assisted Telecom Service Development MethodabstractThe cost of a telecom service development is correlated to the discontinuity and the complexity of the process. To solve this problem, we propose a method dedicated to telecom service development, called EA4UP method. The first EA4UP characteristic is the use of the Enterprise Architecture (EA) for the design activity. The EA promotes component reusing, and improves development process continuity thanks to a Model Driven Engineering approach. In this new method, EA enforces the transformation of an analysis model into a design model. The second EA4UP characteristic is to place functions in the core of the method (instead of data). The assessments of eleven projects allow to measure profits of this EA4UP method with regard to the previous ones. Jacques Simonin, Francis Alizon, Jean Pierre Deschrevel, Yves Le Traon, Jean-Marc Jézéquel, Bertrand Nicolas |
EDOC | 5 |
| 2008 | Composition of Qualitative Adaptation PoliciesabstractIn a highly dynamic environment, software systems requires a capacity of self-adaptation to fit the environment and the user needs evolution, which increases the software architecture complexity. Despite most current execution platforms include some facilities for handling dynamic adaptation, current design methodologies do not address this issue. One of the requirement for such a design process is to describe adaptation policies in a composable and qualitative fashion in order to cope with complexity. This paper introduces an approach for describing adaptation policies in a qualitative way while keeping the compositionality of adaptation policies. The basic example of a Web server is used to illustrate how to specify and to compose two adaptations policies which handle respectively the use of a cache and the deployment of new data sources. Franck Chauvel, Olivier Barais, Isabelle Borne, Jean-Marc Jézéquel |
ASE | 4 |
| 2008 | A Model-Driven Measurement Approach
Martin Monperrus, Jean-Marc Jézéquel, Joël Champeau, Brigitte Hoeltzener |
MoDELS | 2 |
| 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 |
MoDELS | 4 |
| 2008 | Managing Variability Complexity in Aspect-Oriented Modeling
Brice Morin, Gilles Vanwormhoudt, Philippe Lahire, Alban Gaignard, Olivier Barais, Jean-Marc Jézéquel |
MoDELS | 6 |
| 2008 | Reconciling Automation and Flexibility in Product DerivationabstractProduct derivation, i.e. reusing core assets to build products, did not receive sufficient attention from the product-line community, yielding a frustrating situation. On the one hand, automated product derivation approaches are inflexible; they do not allow products meeting unforeseen, customer-specific, requirements. On the other hand, approaches that consider this issue do not provide adequate methodological guidelines nor automated support. This paper proposes an integrated product derivation approach reconciling the two views to offer both flexibility and automation. First, we perform a pre-configuration of the product by selecting desired features in a generic feature model and automatically composing their related product-line core assets. Then, we adapt the pre-configured product to its customer-specific requirements via derivation primitives combined by product engineers and controlled by constraints that flexibly set product line boundaries. Our process is supported by the Kermeta meta modeling environment and illustrated through an example. Gilles Perrouin, Jacques Klein, Nicolas Guelfi, Jean-Marc Jézéquel |
SPLC | 4 |
| 2008 | Model driven design and aspect weaving
Jean-Marc Jézéquel |
Softw. Syst. Model. | 1 |
| 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. | 7 |
| 2007 | An Enterprise Architecture Alignment Measure for Telecom Service DevelopmentabstractThe increasing complexity of modern Information Services (IS) makes necessary to carry on review activities. For many companies, these reviews take place within the framework of the Enterprise Architecture, which aims at sharing components among applications within the IS. These reviews can for instance help the architects in detecting alignment problems between an analysis model and a design model constrained by the enterprise data model. We propose an automatic approach, relying on Model Driven Engineering (MDE), to measure such an alignment. We propose a set of measures which are formally defined using a classical axiomatization approach. We describe how these measures can be implemented with MDE techniques. We finally illustrate their use for the France-Telecom IS of telecom services. Jacques Simonin, Yves Le Traon, Jean-Marc Jézéquel |
EDOC | 3 |
| 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 |
MoDELS | 5 |
| 2007 | Introducing Variability into Aspect-Oriented Modeling Approaches
Philippe Lahire, Brice Morin, Gilles Vanwormhoudt, Alban Gaignard, Olivier Barais, Jean-Marc Jézéquel |
MoDELS | 6 |
| 2007 | Matching Model-Snippets
Rodrigo Ramos, Olivier Barais, Jean-Marc Jézéquel |
MoDELS | 3 |
| 2007 | On model typing
Jim Steel, Jean-Marc Jézéquel |
Softw. Syst. Model. | 2 |
| 2007 | Test Synthesis from UML Models of Distributed SoftwareabstractThe object-oriented software development process is increasingly used for the construction of complex distributed systems. In this context, behavior models have long been recognized as the basis for systematic approaches to requirements capture, specification, design, simulation, code generation, testing, and verification. Two complementary approaches for modeling behavior have proven useful in practice: interaction-based modeling (e.g., UML sequence diagrams) and state-based modeling (e.g., UML statecharts). Building on formal V&V techniques, in this article we present a method and a tool for automated synthesis of test cases from scenarios and a state-based design model of the application, remaining entirely within the UML framework. The underlying "on the fly" test synthesis algorithms are based on the input/output labeled transition system formalism, which is particularly appropriate for modeling applications involving asynchronous communication. The method is eminently compatible with classical OO development processes since it can be used to synthesize test cases from the scenarios used in early development stages to model global interactions between actors and components, instead of these test cases being derived manually. We illustrate the system test synthesis process using an air traffic control software example Simon Pickin 0001, Claude Jard, Thierry Jéron, Jean-Marc Jézéquel, Yves Le Traon |
IEEE Trans. Software Eng. | 4 |
| 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 |
MoDELS | 7 |
| 2006 | Automatic Test Generation: A Use Case Driven ApproachabstractUse 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. | 4 |
| 2006 | Design by Contract to Improve Software VigilanceabstractDesign by Contract is a lightweight technique for embedding elements of formal specification (such as invariants, pre and postconditions) into an object-oriented design. When contracts are made executable, they can play the role of embedded, online oracles. Executable contracts allow components to be responsive to erroneous states and, thus, may help in detecting and locating faults. In this paper, we define Vigilance as the degree to which a program is able to detect an erroneous state at runtime. Diagnosability represents the effort needed to locate a fault once it has been detected. In order to estimate the benefit of using Design by Contract, we formalize both notions of Vigilance and Diagnosability as software quality measures. The main steps of measure elaboration are given, from informal definitions of the factors to be measured to the mathematical model of the measures. As is the standard in this domain, the parameters are then fixed through actual measures, based on a mutation analysis in our case. Several measures are presented that reveal and estimate the contribution of contracts to the overall quality of a system in terms of vigilance and diagnosability. Yves Le Traon, Benoit Baudry, Jean-Marc Jézéquel |
IEEE Trans. Software Eng. | 3 |
| 2005 | From genetic to bacteriological algorithms for mutation-based testingabstractThe 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. | 3 |
| 2004 | Applying CLP to Predict Extra-Functional Properties of Component-Based Models
Olivier Defour, Jean-Marc Jézéquel, Noël Plouzeau |
ICLP | 2 |
| 2004 | Panel MDA in Practice
Jean-Marc Jézéquel, Wolfgang Emmerich |
ICSE | 1 |
| 2004 | Revisiting Statechart Synthesis with an Algebraic ApproachabstractThe idea of synthesizing statecharts out of a collection of scenarios has received a lot of attention in recent years. However due to the poor expressive power of first generation scenario languages, including UML 1.x sequence diagrams, the proposed solutions often use ad hoc tricks and suffer from many shortcomings. The recent adoption in UML 2.0 of a richer scenario language, including interesting composition operators, now makes it possible to revisit the problem of statechart synthesis with a radically new approach. Inspired by the way UML 2.0 sequence diagrams can be algebraically composed, we first define an algebraic framework for composing statecharts. Then we show how to leverage the algebraic structure of UML 2.0 sequence diagrams to get a direct algorithm for synthesizing a composition of statecharts out of them. The synthesized statecharts exhibit interesting properties that make them particularly useful as a basis for the detailed design process. Beyond offering a systematic and semantically well founded method, another interest of our approach lies in its flexibility: the modification or replacement of a given scenario has a limited impact on the synthesis process, thus fostering a better traceability between the requirements and the detailed design. Tewfik Ziadi, Loïc Hélouët, Jean-Marc Jézéquel |
ICSE | 3 |
| 2004 | Using UML Sequence Diagrams as the Basis for a Formal Test Description Language
Simon Pickin 0001, Jean-Marc Jézéquel |
IFM | 2 |
| 2003 | Requirements by Contracts allow Automated System TestingabstractUse-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 |
ISSRE | 4 |
| 2003 | Automated Requirements-based Generation of Test Cases for Product FamiliesabstractSoftware product families (PF) are becoming one of the key challenges of software engineering. Despite recent interest in this area, the extent to which the close relationship between PF and requirements engineering is exploited to guide the V&V tasks is still limited. In particular, PF processes generally lack support for generating test cases from requirements. In this paper, we propose a requirements-based approach to functional testing of product lines, based on a formal test generation tool. Here, we outline how product-specific test cases can be automatically generated from PF functional requirements expressed in UML (Unified Modeling Language). We study the efficiency of the generated test cases on a case study. Clémentine Nebut, Simon Pickin 0001, Yves Le Traon, Jean-Marc Jézéquel |
ASE | 4 |
| 2002 | An Architecture and a Process for Implementing Distributed CollaborationsabstractCollaborations (between objects) are increasingly being recognized as fundamental building blocks to structure object-oriented design, and they have made their way into UML. But very often the first class aspect of a design level collaboration is lost during the detailed design process, making it difficult to keep good traceability between the design and the implementation. The problem is not simple, because for any given collaboration abstraction, there might be several possible design solutions depending on the many non-functional forces impacting a given application. We propose a process and an architecture in which the notion of collaboration is preserved from analysis to design and implementation, while allowing the designer to change his mind about which particular design trade-off is selected in order to face changing non-functional requirements during maintenance. We illustrate our approach with a case study inspired by the real example of a large French railway company attempting to adapt a flight reservation system to its own context. Eric Cariou, Antoine Beugnard, Jean-Marc Jézéquel |
EDOC | 3 |
| 2002 | System Test Synthesis from UML Models of Distributed Software
Simon Pickin 0001, Claude Jard, Yves Le Traon, Thierry Jéron, Jean-Marc Jézéquel, Alain Le Guennec |
FORTE | 5 |
| 2002 | Genes and Bacteria for Automatic Test Cases Optimization in the .NET EnvironmentabstractThe 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 |
ISSRE | 3 |
| 2002 | Automatic Test Cases Optimization Using a Bacteriological Adaptation Model: Application to .NET ComponentabstractIn 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 |
ASE | 3 |
| 2002 | Al analysis patterns as UML meta-model constructsabstractIn this article, we investigate the use of the OO computational paradigm for the formulation of knowledge model patterns as OO analysis patterns. We seek to take advantage of research on design pattern specification, aimed at modelling patterns by means of structural and behavioural "meta-level" constraints, introducing appropriate modifications into the UML. We illustrate our argument with the formulation of an OO "assessment pattern" in analogy to the well known "assessment task template". Angeles Manjarrés Riesco, Gerson Sunyé, Damien Pollet, Simon Pickin 0001, Jean-Marc Jézéquel |
SEKE | 5 |
| 2002 | Using UML Action Semantics for model execution and transformation
Gerson Sunyé, Alain Le Guennec, Jean-Marc Jézéquel |
Inf. Syst. | 3 |
| 2001 | Using UML Action Semantics for Executable Modeling and Beyond
Gerson Sunyé, François Pennaneac'h, Wai-Ming Ho, Alain Le Guennec, Jean-Marc Jézéquel |
CAiSE | 5 |
| 2001 | Selecting an Efficient OO Integration Testing Strategy: An Experimental Comparison of Actual Strategies
Vu Le Hanh, Kamel Akif, Yves Le Traon, Jean-Marc Jézéquel |
ECOOP | 4 |
| 2001 | Towards a 'Safe' Use of Design Patterns to Improve OO Software TestabilityabstractDesign-for-testability is a very important issue in software engineering. It becomes crucial in the case of OO designs where control flows are generally not hierarchical, but are diffuse and distributed over the whole architecture. We introduce the concept of a "testing conflict" when potentially concurrent client/supplier relationships between the same classes along different paths exist in a system. Such conflicts may be hard to test, especially when dynamic binding and polymorphism are involved. We describe the conflicts using topological class configuration diagrams. An overall architecture is represented as a combination of the initial design and several patterns. We focus on the design patterns as coherent subsets in the architecture, and we explain how their use can provide a way for limiting the complexity of testing for conflicts, and of confining their effects to the classes involved in the pattern. Benoit Baudry, Yves Le Traon, Gerson Sunyé, Jean-Marc Jézéquel |
ISSRE | 4 |
| 2000 | Design Patterns Application in UML
Gerson Sunyé, Alain Le Guennec, Jean-Marc Jézéquel |
ECOOP | 3 |
| 2000 | Building Trust into OO Components Using a Genetic AnalogyabstractDespite the growing interest for component based systems, few works tackle the question of the trust we can bring into a component. The paper presents a method and a tool for building trustable OO components. It is particularly adapted to a design-by-contract approach, where the specification is systematically derived into executable assertions (invariant properties, pre/postconditions of methods). A component is seen as an organic set composed of a specification, a given implementation and its embedded test cases. We propose an adaptation of mutation analysis to the OO paradigm that checks the consistency between specification/implementation and tests. Faulty programs, called "mutants", are generated by systematic fault injection in the implementation. The quality of tests is related to the mutation score, i.e. the proportion of faulty programs it detects. The main contribution is to show how a similar idea can be used in the same context to address the problem of effective test optimization. To map the genetic analogy to the test optimization problem, we consider mutant programs to be detected as the initial preys population and test cases as the predators population. The test selection consists of mutating the "predator" test cases and crossing them over in order to improve their ability to kill the prey population. The feasibility of component validation using such a "Darwinian" model and its usefulness for test optimization are studied. Benoit Baudry, Vu Le Hanh, Jean-Marc Jézéquel, Yves Le Traon |
ISSRE | 3 |
| 2000 | Efficient object-oriented integration and regression testingabstractThis paper presents a model, a strategy and a methodology for planning integration and regression testing from an object-oriented model. It shows how to produce a model of structural system test dependencies which evolves with the refinement process of the object-oriented design. The model (test dependency graph) serves as a basis for ordering classes and methods to be tested for regression and integration purposes (minimization of test stubs). The mapping from unified modeling language to the defined model is detailed as well as the test methodology. While the complexity of optimal stub minimization is exponential with the size of the model, an algorithm is given that: computes a strategy for integration testing with a quadratic complexity in the worst case; and provides an efficient testing order for minimizing the number of stubs. Various integration strategies are compared with the optimized algorithm (a real-world case study illustrates this comparison). The results of the experiment seem to give nearly optimal stubs with a low cost despite the exponential complexity of getting optimal stubs. As being a part of a design-for-testability approach, the presented methodology also leads to the early repartition of testing resources during system integration for reducing integration duration. Yves Le Traon, Thierry Jéron, Jean-Marc Jézéquel, Pierre Morel |
IEEE Trans. Reliab. | 3 |
| 1999 | Efficient strategies for integration and regression testing of OO systemsabstractWe present a model, a strategy and a methodology for planning integration and regression testing from an object oriented (OO) model. We show how to produce a model of structural system test dependencies which evolves with the refinement process of the OO design. The model, that is the test dependency graph, serves as a basis for ordering classes and methods to be tested for regression and integration purposes (minimization of test stubs). The mapping from UML to the defined model is detailed as well as the test methodology. While the complexity of optimal stub minimization is exponential with the size of the model, an algorithm which computes a strategy for integration testing with a quadratic complexity is detailed. This algorithm provides an efficient testing order for minimizing the number of stubs. A comparison is given of various integration strategies with the proposed optimized algorithm (a real-world case study illustrates this comparison). The results of the experiment seem to give nearly optimal stubs with a low cost despite the exponential complexity of getting optimal stubs. Thierry Jéron, Jean-Marc Jézéquel, Yves Le Traon, Pierre Morel |
ISSRE | 2 |
| 1999 | UMLAUT: An Extendible UML Transformation FrameworkabstractAdvanced users often find themselves restricted by the limited facilities of most UML CASE tools when they want to do complex manipulations of UML models, e.g., apply design patterns, generate code for simulation and validation etc. We describe UMLAUT, a freely available UML transformation framework for manipulating UML models. These manipulations are expressed as algebraic compositions of reified elementary transformations. They are thus open to extensions through inheritance and aggregation. To illustrate the interest of our approach, we show how the model of a UML distributed application can be automatically transformed into a labeled transition system validated using advanced protocol validation technology. Wai-Ming Ho, Jean-Marc Jézéquel, Alain Le Guennec, François Pennaneac'h |
ASE | 2 |
| 1999 | Reifying Variants in Configuration ManagementabstractUsing a solid software configuration management (SCM) is mandatory to establish and maintain the integrity of the products of a software project throughout the project's software life cycle. Even with the help of sophisticated tools, handling the various dimensions of SCM can be a daunting (and costly) task for many projects. The contribution of this article is to (1)propose a method (based on the use creational design patterns) to simplify SCM by reifying the variants of an object-oriented software system into language-level objects and (2)show that newly available compilation technology makes this proposal attractive with respect to performance (memory footprint and execution time) by inferring which classes are needed for a specific configuration and optimizing the generated code accordingly. Jean-Marc Jézéquel |
ACM Trans. Softw. Eng. Methodol. | 1 |
| 1998 | Reifying Configuration Management for Object-Oriented SoftwareabstractUsing a solid Software Configuration Management (SCM) is mandatory to establish and maintain the integrity of the products of a software project throughout the project's software life cycle. Even with the help of sophisticated tools, handling the various dimensions of SCM can be a daunting (and costly) task for many projects. The contribution of this paper is to propose a method (based on the use Creational Design Patterns) to simplify SCM by reifying the variants of an object-oriented software system into language-level objects; and to show that newly available compilation technology makes this proposal attractive with respect to performance (memory footprint and execution time) by inferring which classes are needed for a specific configuration and optimizing the generated code accordingly, We demonstrate this idea on an artificial case study intended to be representative of a properly designed OO software. All the performance figures me get are obtained with freely available software, and, since the source code of our case study is also freely available, they are easily reproducible and checkable. Jean-Marc Jézéquel |
ICSE | 1 |
| 1998 | Object-Oriented Design of Real-Time Telecom SystemsabstractMany engineers are still reluctant to adopt advanced object oriented technologies (such as high modularity, dynamic binding, automatic garbage collection, etc.) for embedded systems with real time constraints, because of their supposed inefficiency. We set ourselves into the context of building telecommunication systems with a standard object oriented analysis and design approach. We describe how we use relevant design patterns, followed with an implementation in a pure object oriented language (Eiffel) to conciliate the needed efficiency with the benefits of the object oriented approach-flexibility, dynamic configurability, maintainability, portability etc. We discuss a case study based on the implementation of SMDS (Switched Multi-megabits Data Service) servers featuring high throughput and low delay transmissions and respecting the real time constraints of SMDS. Jean-Marc Jézéquel |
ISORC | 1 |
| 1997 | A Methodology for Specifying Data Distribution Using Only Standard Object-Oriented FeaturesabstractObject-oriented class frameworks are promising alternatives to traditional languages and their parallelizing compilers due to their higher at&action facilities for encapsulating parallelism and distribution.We claim that language feature6 already available in cxisiting object-oriented languages such aa C* for constructing class t&reworks can be maximally exploited for achieving 6cp6ration of parallelism and data distribution, without language extaxsions or ad-hoc methodologies.We first model parallel computation a6 crtiered application of a function onto 6tructurcd elements.and, ba6cd on the model, we construct a class fmmcwcrk which formulates 1) data distribution 66 hierarchical decomposition of the 6tructured elements to layered objects and 2) parallelism as nested rruversuls across these objects.We evaluate the feasibiity of our proposal on the Pujitsu APlOtXl parallel computer by extending the EPEE class framework. Naohito Sato, Satoshi Matsuoka, Jean-Marc Jézéquel, Akinori Yonezawa |
International Conference on Supercomputing | 3 |
| 1996 | Parallel Operators
Jean-Marc Jézéquel, Jean-Lin Pacherie |
ECOOP | 1 |
| 1996 | Building a global clock for observing computations in distributed memory parallel computersabstractA common time reference (i.e. global clock) is needed for observing the behavior of a distributed algorithm on a distributed computing system. The paper presents a pragmatic algorithm to build a global clock on any distributed system, which is optimal for homogeneous distributed memory parallel computers (DMPCs). In order to observe and sort concurrent events in common DMPCs, we need a global clock with a resolution finer than the message transfer time variance, which is better than what deterministic and fault-tolerant algorithms can obtain. Thus a statistical method is chosen as a building block to derive an original algorithm valid for any topology. Its main originality over related approaches is to cope with the problem of clock granularity in computing frequency offsets between local clocks to achieve a resolution comparable with the resolution of the physical clocks. This algorithm is particularly well suited for debugging distributed algorithms by means of trace recordings because after its acquisition step it does not induce message overhead: the perturbation induced on the execution remains as small as possible. It has been implemented on various DMPCs: Intel iPSC/2 hypercube and Paragon XP/S, Transputer-based networks and Sun networks, so we can provide some data about its behavior and performances on these DMPCs. Jean-Marc Jézéquel, Claude Jard |
Concurr. Pract. Exp. | 1 |
| 1996 | An object-oriented framework for supercomputing
Frédéric Guidec, Jean-Marc Jézéquel, Jean-Lin Pacherie |
J. Syst. Softw. | 2 |
| 1994 | Programming massively parallel architectures with sequential object oriented languages
Jean-Marc Jézéquel, F. Bergheul, Françoise André |
Future Gener. Comput. Syst. | 1 |
| 1993 | Transparent Parallelisation Through Reuse: Between a Compiler and a Library Approach
Jean-Marc Jézéquel |
ECOOP | 1 |
| 1992 | EPEE: an Eiffel Environment to Program Distributed Memory Parallel Computers
Jean-Marc Jézéquel |
ECOOP | 1 |
| 1992 | Analyzing a space-protocol: from specification, simulation to experimentation
Marc Andreu, Michèle Haziza, Claude Jard, Jean-Marc Jézéquel |
FORTE | 4 |
| 1992 | A parallel execution environment for a sequential object oriented languageabstractTo efficiently program massively parallel systems we propose to use a form of parallelism known as data parallelism along with a SPMD programming model. We describe how a sequential Object Oriented Language (OOL) can embed data parallelism in a clean and elegant fashion—without language extensions— to exploit the potential power of massively parallel systems. To illustrate our ideas, we present EPEE (our OOL Parallel Execution Environment) and an application of this approach to a well known parallel paradigm. After some remarks on our implementation, we show experimental performance results and draw some conclusions on the generality of this approach. Jean-Marc Jézéquel, Françoise André, F. Bergheul |
ICS | 1 |
| 1992 | Echidna, an estelle compiler to prototype protocols on distributed computersabstractAbstract We report our experience in developing a compiler and a distributed run‐time kernel for distributed computers, called Echidna. Echidna is a software package which has been available for more than two years, and aims to support protocol designers in protocol modeling, validation and performance evaluation. It is basically oriented towards the rapid prototyping of distributed algorithms on distributed computers: the Intel iPSC hypercube, the Supernode machine, and networks of Transputers and Suns were considered. Algorithms are described using an ISO formal description technique called Estelle. First, we present and justify the concept of experimentation on distributed algorithms for which our Estelle compiler has been designed. Then we discuss how Estelle constructs are mapped onto C structures and how they are interpreted by a distributed run‐time kernel. We conclude by presenting typical uses of Echidna. Claude Jard, Jean-Marc Jézéquel |
Concurr. Pract. Exp. | 2 |
| 1990 | Experience in Validating Protocol Integration Using Estelle
Jean-Marc Jézéquel |
FORTE | 1 |