Handling variability at the code level : modeling, tracing and checking consistency

Xhevahire Tërnava 1
1 Laboratoire d'Informatique, Signaux, et Systèmes de Sophia-Antipolis (I3S) / Equipe MODALIS
Laboratoire I3S - SPARKS - Scalable and Pervasive softwARe and Knowledge Systems
Abstract : When large software product lines are engineered, a combined set of traditional techniques, such as inheritance, or design patterns, is likely to be used for implementing variability. In these techniques, the concept of feature, as a reusable unit, does not have a first-class representation at the implementation level. Further, an inappropriate choice of techniques becomes the source of variability inconsistencies between the domain and the implemented variabilities. In this thesis, we study the diversity of the majority of variability implementation techniques and provide a catalog that covers an enriched set of them. Then, we propose a framework to explicitly capture and model, in a fragmented way, the variability implemented by several combined techniques into technical variability models. These models use variation points and variants, with their logical relation and binding time, to abstract the implementation techniques. We show how to extend the framework to trace features with their respective implementation. In addition, we use this framework and provide a tooled approach to check the consistency of the implemented variability. Our method uses slicing to partially check the corresponding propositional formulas at the domain and implementation levels in case of 1–to–m mapping. It offers an early and automatic detection of inconsistencies. As validation, we report on the implementation in Scala of the framework as an internal domain specific language, and of the consistency checking method. These implementations have been applied on a real feature-rich system and on three product line case studies, showing the feasibility of the proposed contributions.
Document type :
Theses
Complete list of metadatas

Cited literature [176 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-01720323
Contributor : Abes Star <>
Submitted on : Thursday, March 1, 2018 - 9:57:07 AM
Last modification on : Friday, April 12, 2019 - 11:08:01 PM
Long-term archiving on : Wednesday, May 30, 2018 - 12:43:11 PM

File

2017AZUR4114.pdf
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-01720323, version 1

Collections

Citation

Xhevahire Tërnava. Handling variability at the code level : modeling, tracing and checking consistency. Software Engineering [cs.SE]. Université Côte d'Azur, 2017. English. ⟨NNT : 2017AZUR4114⟩. ⟨tel-01720323⟩

Share

Metrics

Record views

281

Files downloads

183