- Advanced Software Engineering Methodologies
- Software Engineering Research
- Service-Oriented Architecture and Web Services
- Software Engineering Techniques and Practices
- Model-Driven Software Engineering Techniques
- Software System Performance and Reliability
- Software Testing and Debugging Techniques
- Software Reliability and Analysis Research
- Business Process Modeling and Analysis
- Spectroscopy Techniques in Biomedical and Chemical Research
- Bacterial Identification and Susceptibility Testing
- Experimental Learning in Engineering
- Innovative Teaching Methods
- Autism Spectrum Disorder Research
- Open Source Software Innovations
- Microfluidic and Capillary Electrophoresis Applications
- Child Development and Digital Technology
- Online and Blended Learning
- Machine Learning in Bioinformatics
- Robotic Locomotion and Control
- Genomics and Phylogenetic Studies
- Formal Methods in Verification
- Scientific Computing and Data Management
- Prosthetics and Rehabilitation Robotics
- Real-Time Systems Scheduling
École de Technologie Supérieure
2016-2024
Université du Québec à Montréal
2017-2022
Université du Québec
2021
Hôpital Notre-Dame
2017
Johannes Kepler University of Linz
2010-2016
University of Oxford
2006-2008
The University of Texas at Austin
2001-2006
Science Oxford
2006
To keep pace with the increasing demand for custom-tailored software systems, companies often apply a practice called clone-and-own, whereby new variant of system is built by coping and adapting existing variants. Instead single configurable system, clone-and-own leads to ad hoc product portfolios multiple yet similar variants that soon become impossible maintain effectively. Clone-and-own has widespread industrial use because it requires no major upfront investments intuitive, but lacks...
Software Product Lines (SPLs) are families of related software systems distinguished by the set features each one provides. Over past decades SPLs have been subject extensive research and application both in academia industry. practices proven benefits such as better product customization reduced time to market. Testing pose additional challenges stemming from typically large number variants which make it infeasible test every single them. In recent years, there has an on applying...
Fast-changing hardware and software technologies in addition to larger more specialized customer bases demand tailored meet very diverse requirements. Software development approaches that aim at capturing this diversity on a single consolidated platform often require large upfront investments, e.g., time or budget. Alternatively, companies resort developing one variant of product by reusing as much possible from already-existing variants. However, identifying extracting the parts reuse is an...
Aspect-oriented programming is a promising paradigm that challenges traditional notions of program modularity. Despite its increasing acceptance, aspects have been documented to suffer limited reuse, hard predict behavior, and difficult modular reasoning. We develop an algebraic model relates transformations uncovers aspect composition as significant source the problems mentioned. propose alternative eliminates these problems, preserves power aspects, lays foundation on which build...
Successful software is more and rarely developed as a one-of-a-kind system. Instead, different system variants are built from common set of assets customized for catering to the functionality or technology needs distinct clients users. The Software Product Line Engineering (SPLE) paradigm has proven effective cope with variability described this scenario. However, evolving (SPL) family systems not simple endeavor. A crucial requirement accurately capturing present in representing it Feature...
Software Product Lines (SPLs) are families of related software products, which usually provide a large number feature combinations, fact that poses unique set challenges for testing. Recently, many SPL testing approaches have been proposed, among them pair wise combinatorial techniques aim at selecting products to test based on the pairs combinations such provide. These regard as an optimization problem where either coverage (maximize) or suite size (minimize) considered main objective....
Abstract Software product lines (SPLs) are families of related systems whose members distinguished by the set features they provide. Over 2 decades research and practice can attest to substantial benefits applying SPL practices such as better customization, improved software reuse, faster time market. line engineering (SPLE) refers paradigm developing SPLs. Typical SPLE efforts involve a large number that combined form also numbers products, implemented using multiple different types...
Software reuse has become mandatory for companies to compete and a wide range of techniques are available today. However, ad hoc practices such as copying existing systems customizing them meet customer-specific needs still pervasive, generically called clone-and-own. We have developed conceptual framework support this practice named ECCO that stands Extraction Composition Clone-and-Own. In paper we present our Eclipse-based tool approach. Our can automatically locate reusable parts from...
GenVoca is a methodology and technology for generating product-lines, i.e. building variants of program. The primitive components from which applications are constructed refinements or layers, modules that implement feature many programs product-line can share. Unlike conventional (e.g., COM, CORBA, EJB), layer encapsulates fragments multiple classes. Sets fully formed classes be produced by composing layers. Layers modular, albeit unconventional, blocks programs. But what the layers? We...
Software Product Lines (SPLs) are families of related software products, each with its own set feature combinations. Their commonly large number products poses a unique challenges for testing as it might not be technologically or economically feasible to test all them individually. SPL pairwise aims at selecting such that possible combinations two features covered by least one selected product. Most approaches have focused on achieving full coverage the minimum test. Though useful in many...
Software Product Lines (SPLs) are families of related software systems, which provide different feature combinations. Different SPL testing approaches have been proposed. However, despite the extensive and successful use evolutionary computation techniques for testing, their application to remains largely unexplored. In this paper we present Parallel Prioritized product line Genetic Solver (PPGS), a parallel genetic algorithm generation prioritized pairwise suites SPLs. We perform an...
Software reuse has become mandatory for companies to compete and a wide range of techniques are available today. However, ad hoc practices such as copying existing systems customizing them meet customer-specific needs still pervasive, generically called clone-and-own. We have developed conceptual framework support this practice named ECCO that stands Extraction Composition Clone-and-Own. In paper we present our Eclipse-based tool approach. Our can automatically locate reusable parts from...