Static data-flow analysis for software product lines in C

ENCODE Software product line Feature model Data-flow analysis Domain analysis
DOI: 10.1007/s10515-022-00333-1 Publication Date: 2022-03-25T05:03:08Z
ABSTRACT
Abstract Many critical codebases are written in C, and most of them use preprocessor directives to encode variability, effectively encoding software product lines. These directives, however, challenge any static code analysis. SPLlift, a previously presented approach for analyzing lines, is limited Java programs that rather simple feature analysis problems with finite ideally small domain. Other approaches allow the real-world C lines special-purpose analyses, preventing reuse existing infrastructures ignoring progress made by community. This work presents VarAlyzer , novel first transforms constructs plain while preserving their variability semantics. It then solves given distributive problem on transformed variability-aware manner. ’s results annotated constraints which configurations each result holds. Our experiments 95 compilation units OpenSSL show applying enables one conduct inter-procedural, flow-, field- context-sensitive data-flow analyses entire time, outperforming product-based highly-configurable systems.
SUPPLEMENTAL MATERIAL
Coming soon ....
REFERENCES (48)
CITATIONS (14)
EXTERNAL LINKS
PlumX Metrics
RECOMMENDATIONS
FAIR ASSESSMENT
Coming soon ....
JUPYTER LAB
Coming soon ....