Published September 25, 2017 | Version v1
Conference paper

Early Consistency Checking between Specification and Implementation Variabilities

Description

In a software product line (SPL) engineering approach, the addressed variability in core-code assets must be consistent with the specified domain variability, usually captured in a variability model, e.g., a feature model. Currently, the support for checking such consistency is limited, mostly when a single variability implementation technique is used, e.g., preprocessors in C. In realistic SPLs, variability is implemented using a combined set of traditional techniques, e.g., inheritance, overloading, design patterns. An inappropriate choice and combination of such techniques become the source of variability inconsistencies. In this paper, we present a tooled approach to check the consistency of variability between the specification and implementation levels, when several variability implementation techniques are used together. The proposed method models the implemented variability in terms of variation points and variants, in a forest-like structure, and uses slicing to partially check the resulting propositional formulas at both levels. As a result, it offers an early and automatic detection of inconsistencies. We implemented and successfully applied the approach in four case studies. Our implementation , publicly available, detects inconsistencies in a very short time, which makes possible to ensure consistency earlier in the development process.

Abstract

International audience

Additional details

Created:
February 28, 2023
Modified:
December 1, 2023