exploiting the enumeration of all feature model configurations: a new perspective with distributed...
TRANSCRIPT
![Page 1: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/1.jpg)
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
![Page 2: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/2.jpg)
Exploiting the Enumeration of All Feature Model Configurations
![Page 3: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/3.jpg)
3
Automated Analysis of Feature Models
Analysis Process
Analysis results
Analysis operations
![Page 4: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/4.jpg)
4
Analysis Operations
My app requires Wifi and Bluetooth 4
In how many different devices will it work?
<
![Page 5: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/5.jpg)
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)
![Page 6: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/6.jpg)
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)
![Page 7: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/7.jpg)
7
Problem: some operations can be computationally expensive
Counting Core Dead T-wise Slicing Multi-objective …
Analysis Process
Analysis results
Analysis operations
![Page 8: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/8.jpg)
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)?
![Page 9: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/9.jpg)
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)
![Page 10: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/10.jpg)
10
Analysis operations
![Page 11: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/11.jpg)
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?
![Page 12: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/12.jpg)
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 …
![Page 13: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/13.jpg)
13
But wait. Enumeration is costly!
BIG problems BIG toys
![Page 14: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/14.jpg)
14
Hadoop
![Page 15: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/15.jpg)
15
The process to parallel enumeration
![Page 16: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/16.jpg)
16
A parallel solution to enumerate configurations
![Page 17: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/17.jpg)
17
Preliminary evaluation (1): is distributing the computation more efficient and scalable?
![Page 18: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/18.jpg)
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
![Page 19: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/19.jpg)
19
Preliminary evaluation (2): is it more efficient to implement core, dead, and counting operations with an enumeration?
![Page 20: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/20.jpg)
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
![Page 21: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/21.jpg)
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?”
![Page 22: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/22.jpg)
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
![Page 23: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/23.jpg)
Exploiting the Enumeration of All Feature Model Configurations
A New Perspective with Distributed Computing
BACKUP slides
![Page 24: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/24.jpg)
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.
![Page 25: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/25.jpg)
25
Preliminary evaluation
![Page 26: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/26.jpg)
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
![Page 27: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/27.jpg)
27
![Page 28: Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing](https://reader035.vdocuments.us/reader035/viewer/2022062400/5870ec091a28abcf288b6ed1/html5/thumbnails/28.jpg)
28