Intraprocedural dataflow analysis for software product lines

  • Authors:
  • Claus Brabrand;Márcio Ribeiro;Társis Tolêdo;Johnni Winther;Paulo Borba

  • Affiliations:
  • IT University of Copenhagen, Copenhagen, Denmark, Federal University of Pernambuco, Recife, Pernambuco, Brazil;Federal University of Pernambuco, Recife, Pernambuco, Brazil, Federal University of Alagoas, Maceió, Brazil;Federal University of Pernambuco, Recife, Pernambuco, Brazil;Aarhus University, Aarhus, Denmark;Federal University of Pernambuco, Recife, Pernambuco, Brazil

  • Venue:
  • Transactions on Aspect-Oriented Software Development X
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.