Intraprocedural Dataflow Analysis for Software Product Lines

Claus Brabrand, Márcio Ribeiro, Társis Tolêdo, Johnni Winther, Paulo Borba

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


Software product lines (SPLs) developed using annotative
approaches such as conditional compilation come with an inherent risk
of constructing erroneous products. For this reason, it is essential to be
able to analyze such SPLs. However, as dataflow analysis techniques are
not able to deal with SPLs, developers must generate and analyze all
valid products individually, which is expensive for non-trivial SPLs.

In this paper, we demonstrate how to take any standard intraprocedural dataflow analysis and automatically turn it into a feature-sensitive
dataflow analysis in five different ways where the last is a combination of
the other four. All analyses are capable of analyzing all valid products
of an SPL without having to generate all of them explicitly.

We have implemented all analyses using SOOT’s intraprocedural dataflow
analysis framework and experimentally evaluated four of them according
to their performance and memory characteristics on five qualitatively
different SPLs. On our benchmarks, the combined analysis strategy is
up to almost eight times faster than the brute-force approach.
Original languageEnglish
Title of host publicationAOSD '12 Proceedings of the 11th annual international conference on Aspect-oriented Software Development
PublisherAssociation for Computing Machinery
Publication date2013
ISBN (Print)978-1-4503-1092-5
Publication statusPublished - 2013
SeriesTransactions on Aspect-Oriented Software Development


  • Dataflow Analysis
  • Software Product Lines


Dive into the research topics of 'Intraprocedural Dataflow Analysis for Software Product Lines'. Together they form a unique fingerprint.

Cite this