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

Aleksandar Dimovski, Claus Brabrand, Andrzej Wasowski

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

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.
Original languageEnglish
Title of host publication29th European Conference on Object-Oriented Programming (ECOOP’15) : Leibniz International Proceedings in Informatics
EditorsJohn Tang Boyland
Number of pages23
PublisherSchloss Dagstuhl - Leibniz-Zentrum fuer Informatik GmbH
Publication date2015
Pages247-270
ISBN (Print)978-3-939897-86-6
DOIs
Publication statusPublished - 2015
EventThe European Conference on Object-Oriented Programming - Marriott, V Celnici 8 Prague 110 00 CZ, Prague, Czech Republic
Duration: 5 Jul 201510 Jul 2015
Conference number: 29
http://2015.ecoop.org/

Conference

ConferenceThe European Conference on Object-Oriented Programming
Number29
Location Marriott, V Celnici 8 Prague 110 00 CZ
Country/TerritoryCzech Republic
CityPrague
Period05/07/201510/07/2015
Internet address
SeriesLeibniz International Proceedings in Informatics (LIPIcs)
ISSN1868-8969

Keywords

  • Software Product Lines
  • Family-Based Program Analysis
  • Abstract Interpretation

Cite this