Variability Abstractions: Trading Precision for Speed in Family-Based Analyses
- Aleksandar Dimovski,
- ,
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewOpen access
Publication Information
Output type
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewHost publication Subtitle
Leibniz International Proceedings in InformaticsOriginal language
EnglishPages from-to (Number of pages)
Pages 247-270 (23 pages)Publication milestones
- Published - 2015
Publication status
Published - 2015
Publisher
Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik GmbHBook series
- Book series name: Leibniz International Proceedings in Informatics (LIPIcs)
ISSN: 1868-8969
ISBN (Print)
978-3-939897-86-6Publication IDs
- Scopus: 84958695209
Host publication title
29th European Conference on Object-Oriented Programming (ECOOP’15)Host publication editors
- John Tang Boyland
Abstract
Family-based (lifted) data-flow analysis for Software Product Lines (SPLs) is capable of analyzing all valid products (variants) without generating any of them explicitly. It takes as input only the common code base, which encodes all variants of a SPL, and produces analysis results corresponding to all variants. However, the computational cost of the lifted analysis still depends
inherently on the number of variants (which is exponential in the number of features, in the worst case). For a large number of features, the lifted analysis may be too costly or even infeasible.
In this paper, we introduce variability abstractions defined as Galois connections and use
abstract interpretation as a formal method for the calculational-based derivation of approximate (abstracted) lifted analyses of SPL programs, which are sound by construction. Moreover, given an abstraction we define a syntactic transformation that translates any SPL program into an abstracted version of it, such that the analysis of the abstracted SPL coincides with the corresponding abstracted analysis of the original SPL. We implement the transformation in a tool, that works on Object-Oriented Java program families, and evaluate the practicality of this approach on three Java SPL benchmarks.
inherently on the number of variants (which is exponential in the number of features, in the worst case). For a large number of features, the lifted analysis may be too costly or even infeasible.
In this paper, we introduce variability abstractions defined as Galois connections and use
abstract interpretation as a formal method for the calculational-based derivation of approximate (abstracted) lifted analyses of SPL programs, which are sound by construction. Moreover, given an abstraction we define a syntactic transformation that translates any SPL program into an abstracted version of it, such that the analysis of the abstracted SPL coincides with the corresponding abstracted analysis of the original SPL. We implement the transformation in a tool, that works on Object-Oriented Java program families, and evaluate the practicality of this approach on three Java SPL benchmarks.
Publication metrics
PlumX, opens in new tab
Captures
7
Citations
20
Access to documents
Related Event
Title
The European Conference on Object-Oriented Programming
Event type
ConferenceDate
05/07/2015 - 10/07/2015Location
Marriott, V Celnici 8 Prague 110 00 CZPragueCzech Republic
