2015
DOI: 10.1016/j.scico.2015.04.005
|View full text |Cite
|
Sign up to set email alerts
|

Systematic derivation of correct variability-aware program analyses

Abstract: interpretation A recent line of work lifts particular verification and analysis methods to Software Product Lines (SPL). In an effort to generalize such case-by-case approaches, we develop a systematic methodology for lifting single-program analyses to SPLs using abstract interpretation. Abstract interpretation is a classical framework for deriving static analyses in a compositional, step-by-step manner. We show how to take an analysis expressed as an abstract interpretation and lift each of the abstract inter… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
32
0
1

Year Published

2019
2019
2021
2021

Publication Types

Select...
5
1

Relationship

3
3

Authors

Journals

citations
Cited by 47 publications
(33 citation statements)
references
References 37 publications
0
32
0
1
Order By: Relevance
“…We also plan to consider liveness properties (such as termination) and expectation queries [30]. An interesting direction for future work would also be to consider general probabilistic programs [19], as well as program families implemented with #ifdef-s from the C-preprocessor where we can use lifted static analyses to efficiently analyze all variants of the family simultaneously at once [14,24,15,16].…”
Section: Resultsmentioning
confidence: 99%
“…We also plan to consider liveness properties (such as termination) and expectation queries [30]. An interesting direction for future work would also be to consider general probabilistic programs [19], as well as program families implemented with #ifdef-s from the C-preprocessor where we can use lifted static analyses to efficiently analyze all variants of the family simultaneously at once [14,24,15,16].…”
Section: Resultsmentioning
confidence: 99%
“…Syntactic transformation techniques have been suggested for lifting abstract interpretation analyses to SPLs [22]. This line of work outlines a systematic approach to lifting abstract interpretation analyses, together with correctness proofs.…”
Section: Related Workmentioning
confidence: 99%
“…How to leverage this commonality and analyze the whole product line at once, bringing the total analysis time down, is a fundamental research problem at the intersection of Product Line Engineering and software analysis. Different attempts have been made to lift individual analyses to run on product lines [4,9,11,16,18,22,24]. Those attempts show significant time savings when the SPL is analyzed as a whole compared to brute-force analysis.…”
mentioning
confidence: 99%
“…The simplest brute-force approach that uses a preprocessor to generate all variants of a family, and then applies an existing off-the-shelf single-program analyzer to each individual variant, one-by-one, is very inefficient [3,27]. Therefore, we use so-called lifted (family-based) static analyses [3,22,27], which analyze all variants of the family simultaneously without generating any of the variants explicitly. They take as input the common code base, which encodes all variants of a program family, and produce precise analysis results corresponding to all variants.…”
Section: Introductionmentioning
confidence: 99%