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

    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.
    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
    Pages13-24
    ISBN (Print)978-1-4503-1092-5
    Publication statusPublished - 2013
    SeriesTransactions on Aspect-Oriented Software Development
    ISSN0000-0038

    Keywords

    • Dataflow Analysis
    • Software Product Lines

    Fingerprint

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

    Cite this