“…Variability-aware execution has been inspired by recent work on static analysis of product lines [26,51,51,33,40,16,15,23,21]. A community of researchers has investigated how to perform type checking [33,40,21,51], model checking [23,39], data-flow analysis [16,15,40], and other analyses [26,34] on multiple compile-time configurations of a system at a time. This community has explored how to represent and reason about partial but finite configuration spaces compactly with BDDs or SAT solvers (as used in our variability contexts) [14,33,41], how to represent choices of structures [28] and in complex structures [29,40].…”