License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2015.247
URN: urn:nbn:de:0030-drops-52253
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2015/5225/
Go to the corresponding LIPIcs Volume Portal


Dimovski, Aleksandar S. ; Brabrand, Claus ; Wasowski, Andrzej

Variability Abstractions: Trading Precision for Speed in Family-Based Analyses

pdf-format:
15.pdf (0.7 MB)


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.

BibTeX - Entry

@InProceedings{dimovski_et_al:LIPIcs:2015:5225,
  author =	{Aleksandar S. Dimovski and Claus Brabrand and Andrzej Wasowski},
  title =	{{Variability Abstractions: Trading Precision for Speed in Family-Based Analyses}},
  booktitle =	{29th European Conference on Object-Oriented Programming (ECOOP 2015)},
  pages =	{247--270},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-939897-86-6},
  ISSN =	{1868-8969},
  year =	{2015},
  volume =	{37},
  editor =	{John Tang Boyland},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2015/5225},
  URN =		{urn:nbn:de:0030-drops-52253},
  doi =		{10.4230/LIPIcs.ECOOP.2015.247},
  annote =	{Keywords: Software Product Lines, Family-Based Program Analysis, Abstract Interpretation}
}

Keywords: Software Product Lines, Family-Based Program Analysis, Abstract Interpretation
Collection: 29th European Conference on Object-Oriented Programming (ECOOP 2015)
Issue Date: 2015
Date of publication: 29.06.2015


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI