Evènement pour le groupe GT Génie Logiciel

Date 2012-03-05  10:30-12:00
TitreReverse Engineering Variability Models 
RésuméSoftware-intensive systems are now declined in many variants, offering to customers flexible solutions and a wide range of configuration options. Variability, as "the ability of a software system to be efficiently extended, changed, customized or configured for use in a particular context", makes it possible to tailor software to specific customers' needs without having to develop entirely new applications. When variability is properly managed, economies of scale can be achieved by engineering several related products (i.e., software family or software product line) as a whole. However, with the added flexibility also comes additional complexity. The number of variants might be huge -- exponential in the number of configuration options. Therefore support for the comprehension, maintenance, correctness and evolution of variability-intensive systems is crucial. For this purpose, high-level representations (i.e., variability models) are commonly used to identify variation points and specify their legal combinations. Unfortunately, the manual elaboration of a variability model for an existing system is time-consuming, error-prone and requires substantial effort from a modeler. We rather want to reverse engineer the variability from software artifacts in an automated way. Reverse engineering has a long tradition (recovering architectures and design patterns, identifying reusable assets, building traceability between software artifacts, re-modularizing existing systems, migrating toward new architectures and platforms, etc.) but the extraction of variability is still in its infancy. In this talk, I will first review existing works that have developed reverse engineering procedures for the purpose of deriving variability models. These works consider various kinds of artifacts (legacy system documentation, textual requirements, pre-processor directives in C code, configuration files, etc) and have been applied in various domains (e.g., operation system domain for Linux, eCos, FreeBSD). Then, I will report progress made with other colleagues in three directions. The first is related to the extraction and evolution of architectural variability models in plugin-based systems, using FraSCAti as a case study. The second concerns the extraction of variability models from product descriptions, typically organized in tabular data. The third aims at reverse engineering variability models from user interfaces (e.g., web configurators). I will notably explain the role of FAMILIAR, a language dedicated to the management of feature models (the defacto standard for modeling variability). 
Lieusalle 71 
OrateurMathieu Acher 
UrlUniversity of Namur, Belgium 

Aucun document lié à cet événement.

Retour à l'index