Automatic and efficient variability-aware lifting of functional programs
Ramy Shahin, Marsha Chechik
摘要
A software analysis is a computer program that takes some representation of a software product as input and produces some useful information about that product as output. A software product line encompasses many software product variants, and thus existing analyses can be applied to each of the product variations individually, but not to the entire product line as a whole. Enumerating all product variants and analyzing them one by one is usually intractable due to the combinatorial explosion of the number of product variants with respect to product line features. Several software analyses (e.g., type checkers, model checkers, data flow analyses) have been redesigned/re-implemented to support variability. This usually requires a lot of time and effort, and the variability-aware version of the analysis might have new errors/bugs that do not exist in the original one.
Given an analysis program written in a functional language based on PCF, in this paper we present two approaches to transforming (lifting) it into a semantically equivalent variability-aware analysis. A light-weight approach (referred to as shallow lifting) wraps the analysis program into a variability-aware version, exploring all combinations of its input arguments. Deep lifting, on the other hand, is a program rewriting mechanism where the syntactic constructs of the input program are rewritten into their variability-aware counterparts. Compositionally this results in an efficient program semantically equivalent to the input program, modulo variability. We present the correctness criteria for functional program lifting, together with correctness proof sketches of our program transformations. We evaluate our approach on a set of program analyses applied to the BusyBox C-language product line.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- Score-Based Causal Discovery of Latent Variable Causal ModelsIgnavier Ng, Xinshuai Dong, Haoyue Dai, Biwei Huang 等ICML 2024 · 被引用 18 次
- Score-based Greedy Search for Structure Identification of Partially Observed Causal ModelsXinshuai Dong, Ignavier Ng, Haoyue Dai, Jiaqi Sun 等ICLR 2026 · 被引用 1 次
- On the Expressive Power of Languages for Static VariabilityPaul Maximilian Bittner, Alexander Schultheiß, Benjamin Moosherr, Jeffrey M. Young 等OOPSLA 2024 · 被引用 1 次
它引用的顶会 Paper1
相关 Paper
- A Categorical Basis for Robust Program AnalysisZachary Kincaid, Shaowei ZhuPLDI 2026
- Scalable validation of binary liftersSandeep Dasgupta, Sushant Dinesh, Deepan Venkatesh, Vikram S. Adve 等PLDI 2020 · 被引用 29 次
- SugarC: Scalable Desugaring of Real-World Preprocessor Usage into Pure CZach Patterson, Zenong Zhang, Brent Pappas, Shiyi Wei 等ICSE 2022 · 被引用 36 次
- Bridging the Gap between Real-World and Formal Binary Lifting through Filtered-SimulationJihee Park, Insu Yun, Sukyoung RyuOOPSLA 2025 · 被引用 2 次
- Mechanically Translating Iterative Dataflow Analysis to Algebraic Program AnalysisChenyu Zhou, Jingbo Wang, Chao WangOOPSLA 2026
