WebFML 
Synthesizing 
Feature 
Models 
Everywhere 
Guillaume 
Bécan, 
Sana 
Ben 
Nasr, 
Mathieu 
Acher 
and 
Benoit 
Baudry 
1 
h:p://>nyurl.com/WebFMLDemo
There are numerous artefacts that 
exhibit features and their dependencies. 
Product 
Line 
Modeling 
variability 
2 
φ
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
4 
Feature 
Models 
defacto 
standard 
for 
modeling 
variability 
Valid 
configura@on: 
{Wiki, 
Storage, 
License, 
Hos@ng, 
P.SQL, 
P.License, 
H.Service 
, 
Ontological 
Seman@cs 
Hierarchy 
and 
feature 
groups 
of 
an 
FM. 
Define 
the 
seman@cs 
of 
the 
features’ 
rela@onships. 
Domain} 
Hierarchy 
+ 
Variability 
= 
set 
of 
valid 
configura@ons
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
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
Importance 
of 
ontological 
seman@cs 
(1) 
7
Importance 
of 
ontological 
seman@cs 
(2) 
8
Importance 
of 
ontological 
seman@cs 
(3) 
9 
Communica>on 
Comprehension 
Forward 
engineering 
(e.g., 
genera>on)
10 
Importance 
of 
ontological 
seman@cs 
(4) 
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
Most 
of 
the 
exis@ng 
approaches 
neglect 
either 
configura@on 
or 
ontological 
seman@cs. 
We 
want 
both! 
11 
φ
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
12
13 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#0 
Op@mum 
branching 
(Tarjan) 
weigh@ng 
edges
14 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#1 
Ranking 
lists 
best 
parent 
candidates 
for 
each 
feature
15 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#2 
Clusters 
~possible 
siblings
16 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#3 
Cliques 
~bi-­‐implica@ons
17 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#4 
small 
BIG
18 
Fundamental 
Problem 
Selec@ng 
a 
Spanning 
Tree 
of 
the 
Binary 
Implica@on 
Graph 
(BIG) 
#4 
reduced 
BIG 
incomplete 
but 
drama@cally 
reduce 
the 
problem
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 
40 
GB! 
Milne, 
D.N., 
Wigen, 
I.H.: 
An 
open-­‐source 
toolkit 
for 
mining 
wikipedia. 
Ar@f. 
Intell. 
194, 
222{239 
(2013)
WebFML 
20
• 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
• 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
• 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
Support 
and 
Empirical 
Study 
(3) 
hgp://@nyurl.com/OntoFMExperiments 
24 
hgp://hal.inria.fr/hal-­‐00874867
WebFML 
25
WebFML 
26
WebFML 
27
WebFML 
28
WebFML 
29
WebFML 
30
h:p://>nyurl.com/WebFMLDemo 
31
• 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
Need 
a 
DEMO! 
FraSCAti 
SCAParser 
Java Compiler 
JDK6 JDT 
Optional 
Mandatory 
Alternative- 
Group 
Or-Group 
Assembly Factory 
Binding 
http rest 
MMFrascati 
Component Factory 
Metamodel 
MMTuscany 
constraints 
rest requires MMFrascati 
http requires MMTuscany 
FM1 
Feature 
Model 
Ontologies 
Knowledge 
User 
Heuris@cs 
WebFML: 
Synthesizing 
Feature 
Models 
33 
φ 
h:p://>nyurl.com/WebFMLDemo

WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

  • 1.
    WebFML Synthesizing Feature Models Everywhere Guillaume Bécan, Sana Ben Nasr, Mathieu Acher and Benoit Baudry 1 h:p://>nyurl.com/WebFMLDemo
  • 2.
    There are numerousartefacts that exhibit features and their dependencies. Product Line Modeling variability 2 φ
  • 3.
    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
  • 4.
    4 Feature Models defacto standard for modeling variability Valid configura@on: {Wiki, Storage, License, Hos@ng, P.SQL, P.License, H.Service , Ontological Seman@cs Hierarchy and feature groups of an FM. Define the seman@cs of the features’ rela@onships. Domain} Hierarchy + Variability = set of valid configura@ons
  • 5.
    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
  • 6.
    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
  • 7.
  • 8.
  • 9.
    Importance of ontological seman@cs (3) 9 Communica>on Comprehension Forward engineering (e.g., genera>on)
  • 10.
    10 Importance of ontological seman@cs (4) 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
  • 11.
    Most of the exis@ng approaches neglect either configura@on or ontological seman@cs. We want both! 11 φ
  • 12.
    Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) 12
  • 13.
    13 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #0 Op@mum branching (Tarjan) weigh@ng edges
  • 14.
    14 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #1 Ranking lists best parent candidates for each feature
  • 15.
    15 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #2 Clusters ~possible siblings
  • 16.
    16 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #3 Cliques ~bi-­‐implica@ons
  • 17.
    17 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #4 small BIG
  • 18.
    18 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #4 reduced BIG incomplete but drama@cally reduce the problem
  • 19.
    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 40 GB! Milne, D.N., Wigen, I.H.: An open-­‐source toolkit for mining wikipedia. Ar@f. Intell. 194, 222{239 (2013)
  • 20.
  • 21.
    • 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
  • 22.
    • 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
  • 23.
    • 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
  • 24.
    Support and Empirical Study (3) hgp://@nyurl.com/OntoFMExperiments 24 hgp://hal.inria.fr/hal-­‐00874867
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
    • 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
  • 33.
    Need a DEMO! FraSCAti SCAParser Java Compiler JDK6 JDT Optional Mandatory Alternative- Group Or-Group Assembly Factory Binding http rest MMFrascati Component Factory Metamodel MMTuscany constraints rest requires MMFrascati http requires MMTuscany FM1 Feature Model Ontologies Knowledge User Heuris@cs WebFML: Synthesizing Feature Models 33 φ h:p://>nyurl.com/WebFMLDemo