A Decision Tree Lifted Domain for Analyzing Program Families with Numerical Features (Extended Version)
Aleksandar S. Dimovski, Sven Apel, Axel Legay

TL;DR
This paper introduces a symbolic decision tree-based lifted analysis domain for program families with numerical features, enabling efficient analysis and sharing across variants, demonstrated with a new static analyzer for C programs.
Contribution
The work proposes a novel decision tree-based lifted domain for analyzing program families with numerical features, improving efficiency over traditional tuple-based methods.
Findings
Outperforms tuple-based baseline analysis
Effective in analyzing large configuration spaces
Promising results on SV-COMP and BusyBox benchmarks
Abstract
Lifted (family-based) static analysis by abstract interpretation is capable of analyzing all variants of a program family simultaneously, in a single run without generating any of the variants explicitly. The elements of the underlying lifted analysis domain are tuples, which maintain one property per variant. Still, explicit property enumeration in tuples, one by one for all variants, immediately yields combinatorial explosion. This is particularly apparent in the case of program families that, apart from Boolean features, contain also numerical features with big domains, thus admitting astronomic configuration spaces. The key for an efficient lifted analysis is proper handling of variability-specific constructs of the language (e.g., feature-based runtime tests and #if directives). In this work, we introduce a new symbolic representation of the lifted abstract domain that can…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Software Reliability and Analysis Research
