Exploiting the Enumeration of All
Feature Model Configurations
Jose A. Galindo, Mathieu Acher, Juan Manuel Tirado,
Cristian...
Exploiting the Enumeration of All
Feature Model Configurations
3
Automated Analysis of
Feature Models
Analysis Process
Analysis
results
Analysis
operations
4
Analysis Operations
My app requires
Wifi and Bluetooth 4
In how many different
devices will it work?
<
5
Analysis Operations
§  Benavides et al. survey (2010) Feature
Models and Automated Reasoning
§  Configuration sampling (...
6
Analysis Operations
§  Benavides et al. survey (2010) Feature
Models and Automated Reasoning
§  Configuration sampling (...
7
Problem: some operations can
be computationally expensive
Counting
Core
Dead
T-wise
Slicing
Multi-objective
…
Analysis P...
8
Problem: some operations can
be computationally expensive
Counting
Core
Dead
T-wise
Slicing
Multi-objective
…
Analysis P...
9
Idea: pre-compiling offline the
configuration set…
Counting
Core
Dead
T-wise
Slicing
Multi-objective
…
Can improve the r...
10
Analysis
operations
11
First Contribution
§  Automated reasoning operations on feature
model is a knowledge compilation problem
§  One size-fi...
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
A...
13
But wait. Enumeration is costly!
BIG problems BIG toys
14
Hadoop
15
The process to parallel enumeration
16
A parallel solution to enumerate
configurations
17
Preliminary evaluation (1): is distributing the
computation more efficient and scalable?
18
Results and Discussion (1)
§  Distributed enumeration: less efficient for
small feature models (overhead)
§  Scalable f...
19
Preliminary evaluation (2): is it more efficient to implement core,
dead, and counting operations with an enumeration?
20
Results and Discussions (2)
§  OK you can enumerate but is worth doing it?
§  In the majority of cases Yes
§  But somet...
21
Conclusion and Research roadmap
§  Revisit of automated reasoning and feature models;
knowledge compilation problem!
§ ...
22
“Given a reasoning operation and a feature
model, is an enumeration-based approach more
efficient than the traditional ...
Exploiting the Enumeration of All
Feature Model Configurations
A New Perspective with Distributed Computing
BACKUP slides
24
Envisioning applications
§  Fast explanations for errors in
configurations and models
§  Direct implementation of analy...
25
Preliminary evaluation
26
Related Work
§  All-SAT
§  Pohl et al. ASE’11 and ASE’13
§  Comparison of operations response time
based on BDD and SAT...
27
28
Upcoming SlideShare
Loading in …5
×

Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing

231 views

Published on

Please find the pre-print online:
https://hal.inria.fr/hal-01334851

Feature models are widely used to encode the configurations of a software product line in terms of mandatory, optional and exclusive features as well as propositional constraints over the features. Numerous computationally expensive procedures have been developed to model check, test, configure, debug, or compute relevant information of feature models. In this paper we explore the possible improvement of relying on the enumeration of all configurations when performing automated analysis operations. The key idea is to pre-compile configurations so that reasoning operations (queries and transformations) can then be performed in polytime. We tackle the challenge of how to scale the existing enu-meration techniques. We show that the use of distributed computing techniques might offer practical solutions to previously unsolvable problems and opens new perspectives for the automated analysis of software product lines.

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
231
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Exploiting the Enumeration of All Feature Model Configurations: A New Perspective with Distributed Computing

  1. 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
  2. 2. Exploiting the Enumeration of All Feature Model Configurations
  3. 3. 3 Automated Analysis of Feature Models Analysis Process Analysis results Analysis operations
  4. 4. 4 Analysis Operations My app requires Wifi and Bluetooth 4 In how many different devices will it work? <
  5. 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. 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. 7 Problem: some operations can be computationally expensive Counting Core Dead T-wise Slicing Multi-objective … Analysis Process Analysis results Analysis operations
  8. 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. 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)
  10. 10. 10 Analysis operations
  11. 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. 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 …
  13. 13. 13 But wait. Enumeration is costly! BIG problems BIG toys
  14. 14. 14 Hadoop
  15. 15. 15 The process to parallel enumeration
  16. 16. 16 A parallel solution to enumerate configurations
  17. 17. 17 Preliminary evaluation (1): is distributing the computation more efficient and scalable?
  18. 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. 19 Preliminary evaluation (2): is it more efficient to implement core, dead, and counting operations with an enumeration?
  20. 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. 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. 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. 23. Exploiting the Enumeration of All Feature Model Configurations A New Perspective with Distributed Computing BACKUP slides
  24. 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.
  25. 25. 25 Preliminary evaluation
  26. 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
  27. 27. 27
  28. 28. 28

×