This document proposes exploiting the enumeration of all configurations of a feature model as a new perspective for automated reasoning with distributed computing. It discusses (1) enumerating configurations in parallel to improve scalability, (2) pre-compiling configurations offline to speed up costly operations like counting, core, and dead features, and (3) how the approach is not always best and depends on the feature model, operation, and time requirements. Preliminary evaluations show the approach is more efficient for large models but not always, and future work is needed to determine when enumeration is best versus traditional solvers.
Distributed Computing Enables Fast Analysis of Feature Models
1. Exploiting the Enumeration of All
Feature Model Configurations
Jose A. Galindo, Mathieu Acher, Juan Manuel Tirado,
Cristian Vidal, Benoit Baudry, David Benavides
A New Perspective with Distributed Computing
https://hal.inria.fr/hal-01334851
5. 5
Analysis Operations
§ Benavides et al. survey (2010) Feature
Models and Automated Reasoning
§ Configuration sampling (e.g., see Thuem et
al. 2015 ACM survey on product line
verification)
§ Feature model management operators:
slicing, merging, refactoring, diff (e.g., see
Acher et al. SCP 2013 FAMILIAR)
§ Feature model synthesis (e.g., Andersen et
al. 2012, Becan et al. ESE 2015)
6. 6
Analysis Operations
§ Benavides et al. survey (2010) Feature
Models and Automated Reasoning
§ Configuration sampling (e.g., see Thuem et
al. 2015 ACM survey on product line
verification)
§ Feature model management operators:
slicing, merging, refactoring, diff (e.g., see
Acher et al. SCP 2013 FAMILIAR)
§ Feature model synthesis (e.g., Andersen et
al. 2012, Becan et al. ESE 2015)
7. 7
Problem: some operations can
be computationally expensive
Counting
Core
Dead
T-wise
Slicing
Multi-objective
…
Analysis Process
Analysis
results
Analysis
operations
8. 8
Problem: some operations can
be computationally expensive
Counting
Core
Dead
T-wise
Slicing
Multi-objective
…
Analysis Process
Analysis
results
Analysis
operations
Can’t we improve the response time for some
costly and repetitive operations?
What about guaranteeing the time response
(e.g., for critical re-configurable systems)?
9. 9
Idea: pre-compiling offline the
configuration set…
Counting
Core
Dead
T-wise
Slicing
Multi-objective
…
Can improve the response time
for costly and repetitive operations.
Can even guarantee the time response
(e.g., for critical re-configurable systems)
11. 11
First Contribution
§ Automated reasoning operations on feature
model is a knowledge compilation problem
§ One size-fits-all solution?
§ CNF, BDD, and others have been considered
§ What about simply enumerating feature
model configurations?
12. 12
With enumeration
S, F2, F6
S, F2, F5, F1
S, F2, F5, F4
S, F2, F5, F1, F4
S, F2, F6, F1
S, F2, F6, F4
Analysis
Process
Analysis
operations
Transformation
Counting
Core
Dead
T-wise
Slicing
Multi-objective
…
18. 18
Results and Discussion (1)
§ Distributed enumeration: less efficient for
small feature models (overhead)
§ Scalable for larger feature models (less
timeout or response time is quicker)
§ What about feature models for which an
enumeration is simply not possible, even
with the increase of computational/storage?
§ There is a spectrum for which our
enumeration-based technique is applicable
and pays-off. Further research effort needed
§ We can have an hybrid approach and perhaps
enumerate part of the feature model
19. 19
Preliminary evaluation (2): is it more efficient to implement core,
dead, and counting operations with an enumeration?
20. 20
Results and Discussions (2)
§ OK you can enumerate but is worth doing it?
§ In the majority of cases Yes
§ But sometimes not (e.g., a SAT solver can
be quicker online for some operations,
even if we exploit the enumeration)
§ Depends on the feature model size and
reasoning operation
§ Trade-off to find between off-line effort and
online reasoning benefits
21. 21
Conclusion and Research roadmap
§ Revisit of automated reasoning and feature models;
knowledge compilation problem!
§ Enumeration-based approach and the use of distributed
computation for scaling
§ No one size-fits-all solution for reasoning; depends on:
§ feature model configuration set size;
§ reasoning operations used (e.g., slicing)
§ response time requirements (e.g., critical,
repetitivity)
“Given a reasoning operation and a feature
model, is an enumeration-based approach more
efficient than the traditional use of solvers?”
22. 22
“Given a reasoning operation and a feature
model, is an enumeration-based approach more
efficient than the traditional use of solvers?”
Counting
Core
Dead
T-wise
Slicing
Multi-objective
…
Exploiting the Enumeration
of All Feature Model Configurations:
A New Perspective with Distributed Computing
23. Exploiting the Enumeration of All
Feature Model Configurations
A New Perspective with Distributed Computing
BACKUP slides
24. 24
Envisioning applications
§ Fast explanations for errors in
configurations and models
§ Direct implementation of analysis
operations using graph reasoning
techniques (Giraph)
§ Database for the list of products for SPLOT
models for the sake of experimentation.
26. 26
Related Work
§ All-SAT
§ Pohl et al. ASE’11 and ASE’13
§ Comparison of operations response time
based on BDD and SAT
§ Czarnecki et al. SPLC’11 and SPLC’15
§ Reasoning about Feature Model is Easy