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
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 numerous artefacts 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
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
φ
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)
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
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