SPLLIFT: Statically Analyzing Software Product Lines in Minutes instead of Years

Eric Bodden, Társis Tolêdo, Márcio Ribeiro, Claus Brabrand, Paulo Borba, Mira Mezini

Research output: Journal Article or Conference Article in JournalJournal articleResearchpeer-review


A software product line (SPL) encodes a potentially large variety
of software products as variants of some common code base. Up
until now, re-using traditional static analyses for SPLs was virtually intractable, as it required programmers to generate and analyze
all products individually. In this work, however, we show how an
important class of existing inter-procedural static analyses can be
transparently lifted to SPLs. Without requiring programmers to
change a single line of code, our approach SPLLIFT automatically
converts any analysis formulated for traditional programs within the
popular IFDS framework for inter-procedural, finite, distributive,
subset problems to an SPL-aware analysis formulated in the IDE
framework, a well-known extension to IFDS. Using a full implementation based on Heros, Soot, CIDE and JavaBDD, we show that
with SPLLIFT one can reuse IFDS-based analyses without changing a single line of code. Through experiments using three static
analyses applied to four Java-based product lines, we were able to
show that our approach produces correct results and outperforms
the traditional approach by several orders of magnitude.

Original languageEnglish
JournalA C M / S I G P L A N Notices
Issue number6
Pages (from-to)355-364
Number of pages10
Publication statusPublished - Jun 2013
EventACM SIGPLAN Conference on Programming language design and implementation - http://pldi2013.ucombinator.org/, Seattle, WA, United States
Duration: 16 Jun 201322 Jun 2013
Conference number: 34


ConferenceACM SIGPLAN Conference on Programming language design and implementation
Country/TerritoryUnited States
CitySeattle, WA
Internet address


  • Software product lines
  • inter-procedural static analysis
  • context sensitive
  • flow sensitive


Dive into the research topics of 'SPLLIFT: Statically Analyzing Software Product Lines in Minutes instead of Years'. Together they form a unique fingerprint.

Cite this