WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

33
WebFML Synthesizing Feature Models Everywhere Guillaume Bécan, Sana Ben Nasr, Mathieu Acher and Benoit Baudry 1 h:p://>nyurl.com/WebFMLDemo

description

Feature Models (FMs) are the de-facto standard for documenting, model checking, and reasoning about the configurations of a software system. This paper introduces WebFML a comprehensive environment for synthesizing FMs from various kinds of artefacts (e.g. propositional formula, dependency graph, FMs or product comparison matrices). A key feature of WebFML is an interactive support (through ranking lists, clusters, and logical heuristics) for choosing a sound and meaningful hierarchy. WebFML opens avenues for numerous practical applications (e.g., merging multiple product lines, slicing a configuration process, reverse engineering configurable systems). tinyurl.com/WebFMLDemo

Transcript of WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

Page 1: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

WebFML    

Synthesizing  Feature  Models  Everywhere  

Guillaume  Bécan,  Sana  Ben  Nasr,  Mathieu  Acher  and  Benoit  Baudry  

1  

h:p://>nyurl.com/WebFMLDemo  

Page 2: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

There are numerous artefacts that exhibit features and their dependencies.

Product  Line  

Modeling  variability    

2  

φ  

Page 3: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

 Feature  Models    defacto  standard  for  modeling  variability  

3  

Feature  Model  =  Feature  Diagram  +  Proposi>onal  Formula  φ  .  

Configura@on  Seman@cs  

Set  of  valid  configura@ons  (set  of  selected  features)  of  an  FM.  

Ontological  Seman@cs  Hierarchy  and  feature  groups  of  an  FM.  Define  the  seman@cs  of  the  features’  rela@onships.  

Features  

parent  feature  2  child  features  

root  

Page 4: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

4  

Ontological  Seman@cs  Hierarchy  and  feature  groups  of  an  FM.  Define  the  seman@cs  of  the  features’  rela@onships.  

Valid  configura@on:    {Wiki,  Storage,  License,  Hos@ng,  P.SQL,  P.License,  H.Service  ,  Domain}  

Hierarchy  +  Variability    =    

set  of  valid  configura@ons  

 Feature  Models    defacto  standard  for  modeling  variability  

Page 5: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

For  a  given  configura@on  set,      many  (maximal)  feature  diagrams      with  different  ontological  seman@cs    [She  et  al.  ICSE’11,  Andersen  et  al.  SPLC’12,  Acher  et  al.  VaMoS’13]  

5  

Page 6: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

For  a  given  configura@on  set,  many  (maximal)  feature  diagrams  with  different  ontological  seman@cs  [She  et  al.  ICSE’11,  Andersen  et  al.  SPLC’12,  Acher  et  al.  VaMoS’13]  

6  

Page 7: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

Importance  of  ontological  seman@cs  (1)  

7  

Page 8: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

Importance  of  ontological  seman@cs  (2)  

8  

Page 9: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

Importance  of  ontological  seman@cs  (3)  

9  

Communica>on  Comprehension  Forward  engineering  (e.g.,  genera>on)  

Page 10: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

10  Two  product  configurators  generated  from  two  FMs  with  the  same  configura@on  seman@cs    

but  different  ontological  seman@cs.  

Good  FM  

Good  configura@on  interface  

Bad  FM  

Bad  configura@on  interface  

Importance  of  ontological  seman@cs  (4)  

Page 11: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

Most  of  the  exis@ng  approaches  neglect  either  configura@on  or  ontological  seman@cs.  

We  want  both!  

11  

φ  

Page 12: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

Fundamental  Problem    Selec@ng  a  Spanning  Tree  of  the  Binary  Implica@on  Graph  (BIG)  

12  

Page 13: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

13  

#0  Op@mum  branching  (Tarjan)  weigh@ng  edges    

Fundamental  Problem    Selec@ng  a  Spanning  Tree  of  the  Binary  Implica@on  Graph  (BIG)  

Page 14: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

14  

#1  Ranking  lists  best  parent  candidates  for  each  feature  

Fundamental  Problem    Selec@ng  a  Spanning  Tree  of  the  Binary  Implica@on  Graph  (BIG)  

Page 15: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

15  

#2  Clusters  ~possible  siblings    

Fundamental  Problem    Selec@ng  a  Spanning  Tree  of  the  Binary  Implica@on  Graph  (BIG)  

Page 16: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

16  

#3  Cliques  ~bi-­‐implica@ons  

Fundamental  Problem    Selec@ng  a  Spanning  Tree  of  the  Binary  Implica@on  Graph  (BIG)  

Page 17: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

17  

#4  small  BIG    

Fundamental  Problem    Selec@ng  a  Spanning  Tree  of  the  Binary  Implica@on  Graph  (BIG)  

Page 18: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

18  

#4  reduced  BIG  incomplete  but  drama@cally  reduce  the  problem

 

 

Fundamental  Problem    Selec@ng  a  Spanning  Tree  of  the  Binary  Implica@on  Graph  (BIG)  

Page 19: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

Ontological  Heuris@cs  •  For  op>mum  branching,  compu>ng  ranking  lists  and  clusters  –  ~  «  closedness  »  of  features  based  on  their  names  

•  Syntac>cal  heuris>cs  – Smith-­‐Waterman    (SW)  and  Levenshtein    (L)  

•  Wordnet    – PathLength    (PL)  and  Wu&Palmer    (WP)    

•  Wikipedia  Miner  offers  an  API  to  browse  Wikipedia's  ar>cles  and  compute  their  relatedness    – Wik>onary    (Wikt)  

 

19  Milne,  D.N.,  Wigen,  I.H.:  An  open-­‐source  toolkit  for  mining  wikipedia.  Ar@f.  Intell.  194,  222{239  (2013)  

40  GB!  

Page 20: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

WebFML  

20  

Page 21: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

•  Dataset  –  120+  feature  models  of  SPLOT  –  30+  product  comparison  matrices  from  Wikipedia  (see  Becan  et  al.  ASE’14  and  ASE’13)  

–  Ground  truths  are  known  •  Effec>veness  of  techniques  (reduced  BIG  +  ontological  

heuris>cs)  –  One  shot  synthesis  – Quality  of  the  ranking  lists  (top  2),  clusters  –  Comparison  with  randomized  and  exis>ng  techniques  

21  

Support  and  Empirical  Study  (1)  Goal:  evidence  and  empirical  insights  of  what  heuris@cs  are  effec@ve  and  what  support    is  needed  in  WebFML  

Page 22: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

•  Dataset  –  120+  feature  models  of  SPLOT  –  30+  product  comparison  matrices  from  Wikipedia  (see  Becan  et  al.  ASE’14  and  ASE’13)  

–  Ground  truths  are  known  •  Effec>veness  of  techniques  (reduced  BIG  +  ontological  

heuris>cs)  –  One  shot  synthesis  – Quality  of  the  ranking  lists  (top  2),  clusters  –  Comparison  with  randomized  and  exis>ng  techniques  

22  

Support  and  Empirical  Study  (2)  Default  heuris@cs/support  has  been  determined  through  an  empirical  study    

Page 23: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

•  One-­‐step  synthesis  is  far  from  the  ground  truth  –  despite  state-­‐of-­‐the-­‐art  techniques  we  have  developed  –  interac>ve  support  is  thus  crucial  

•  State-­‐of-­‐the-­‐art  heuris>cs  for  ranking  lists  and  clusters  

•  Empirical  insights  on  «  cliques  »  and  BIG  reduc>on  –  e.g.,  support  for  unfolding  of  cliques  

23  

Support  and  Empirical  Study  (3)  Default  heuris@cs/support  has  been  determined  through  an  empirical  study    

Page 24: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

hgp://@nyurl.com/OntoFMExperiments  

24  hgp://hal.inria.fr/hal-­‐00874867  

Support  and  Empirical  Study  (3)  

Page 25: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

WebFML  

25  

Page 26: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

WebFML  

26  

Page 27: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

WebFML  

27  

Page 28: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

WebFML  

28  

Page 29: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

WebFML  

29  

Page 30: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

WebFML  

30  

Page 31: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

h:p://>nyurl.com/WebFMLDemo  

31  

Page 32: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

•  WebFML  for  synthesizing  feature  models:  –  from  various  kinds  of  artefacts  –  sound  and  meaningful    –  interac>ve  support  –  full  automa>on  is  neither  feasible  nor  desirable  

•  Tooling  support  is  based  on  empirical  studies  

•  WebFML  opens  avenues  for    –  reverse  engineering  variability-­‐intensive  data/systems  –  refactoring/merging/slicing  feature  models  

32  

Conclusion  

Page 33: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

FraSCAti

SCAParser

Java Compiler

JDK6 JDT

Optional

Mandatory

Alternative-Group

Or-Group

Assembly Factory

resthttp

Binding

MMFrascati

Component Factory

Metamodel

MMTuscany

constraints

rest requires MMFrascatihttp requires MMTuscany

FM1

Feature  Model  

Ontologies  Knowledge  

User  

Heuris@cs  

WebFML:  Synthesizing  Feature  Models  

33  

Need  a  DEMO!  

φ  

h:p://>nyurl.com/WebFMLDemo