Systematic Derivation of Static Analyses for Software Product Lines
- Jan Midtgaard,
- ,
- Aarhus University
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewOpen access
Publication Information
Output type
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewOriginal language
EnglishPages from-to (Number of pages)
Pages 181-192 (12 pages)Publication milestones
- Published - 03/2014
Publication status
Published - 03/2014
Place of publication
CopenhagenEdition
TR-2014-170Publisher
Association for Computing Machinery, United StatesBook series
- Book series name: IT University Technical Report Series
Series number: TR-2014-170
ISSN: 1600-6100
ISBN (Print)
978-1-4503-2772-5 ISBN (Electronic)
978-87-7949-308-7Publication IDs
- Scopus: 84900021591
Host publication title
MODULARITY '14 Proceedings of the 13th international conference on Modularity Abstract
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 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 interpretation steps to a family of programs. This includes schemes for how to lift domain types, and combinators for lifting analyses and Galois connections.
We prove that for analyses developed using our method, the soundness of lifting follows by construction. Finally, we discuss approximating variability in an analysis and we derive variational data-flow equations for an example analysis, a constant propagation analysis for a simple imperative language.
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 interpretation steps to a family of programs. This includes schemes for how to lift domain types, and combinators for lifting analyses and Galois connections.
We prove that for analyses developed using our method, the soundness of lifting follows by construction. Finally, we discuss approximating variability in an analysis and we derive variational data-flow equations for an example analysis, a constant propagation analysis for a simple imperative language.
Publication metrics
PlumX, opens in new tab
Citations
11
Captures
20
Access to documents
Submitted manuscript, 10.42 MB
