SlideShare a Scribd company logo
1 of 82
Download to read offline
From	
  Basic	
  Variability	
  Models	
  	
  
to	
  	
  
OpenCompare.org	
  
	
  
Architectural/
Component	
  	
  
Models	
  
	
  
	
  
Dependencies	
  
Files	
  
Web	
  
Configurators	
  
Source	
  
Code	
  
Regulatory	
  
Requirements	
  
Video	
  Variants	
  
Language	
  
Units	
  
Informal	
  
Product	
  
DescripHons	
  
(e.g.,	
  product	
  
overviews)	
  
EMF/UML	
  
Models	
  
	
  
	
  
Or
Xor
Mandatory
Optional
not, and, or, implies
Variability Models (feature models)
Variants of code (e.g., Java or C)
Variants of user interfaces
Variants of video sequences
Variants of models (e.g., UML or
SysML)
Variants of « things » (3D models)
…
Mining/Extracting
Encoding/Formalizing
Synthesising
Mining/Extracting
Encoding/Formalizing
Synthesising
Agenda (the journey)
from basic variability models to opencompare.org
•  Mining Variability
•  From Feature Models to Product Comparison
Matrices
•  Synthesis of Feature Models
•  Synthesis of Attributed Feature Models
•  Mining Product Comparison Matrices
•  OpenCompare.org
8	
  
11	
  
«	
  Extrac+on	
  and	
  Evolu+on	
  of	
  Architectural	
  Variability	
  Models	
  in	
  Plugin-­‐based	
  Systems	
  »	
  	
  	
  
Mathieu	
  Acher,	
  Anthony	
  Cleve,	
  Philippe	
  Collet,	
  Philippe	
  Merle,	
  Laurence	
  Duchien,	
  Philippe	
  
Lahire	
  ECSA/SoSyM’14	
  
FraSCAti
SCAParser
Java Compiler
JDK6 JDT
Optional
Mandatory
Alternative-
Group
Or-Group
Assembly Factory
resthttp
Binding
MMFrascati
Component Factory
Metamodel
MMTuscany
constraints
rest requires MMFrascati
http requires MMTuscany
FM1
Variability	
  Model	
  
12	
  
«	
  Feature	
  Model	
  Extrac+on	
  from	
  Large	
  Collec+ons	
  of	
  Informal	
  Product	
  Descrip+ons	
  »	
  	
  
Jean-­‐Marc	
  Davril,	
  Edouard	
  Delfosse,	
  Negar	
  Hariri,	
  Mathieu	
  Acher,	
  Jane	
  Cleland-­‐Huang,	
  Patrick	
  
Heymans	
  (ESEC/FSE’13)	
  
13	
  
“Reverse	
  Engineering	
  Web	
  Configurators”	
  Ebrahim	
  Khalil	
  Abbasi,	
  Mathieu	
  Acher,	
  Patrick	
  
Heymans,	
  and	
  Anthony	
  Cleve.	
  In	
  17th	
  European	
  Conference	
  on	
  Soware	
  Maintenance	
  and	
  
Reengineering	
  (CSMR'14)	
  
Guillaume	
  Bécan,	
  Mathieu	
  Acher,	
  Jean-­‐Marc	
  Jézéquel,	
  and	
  Thomas	
  Menguy.	
  On	
  the	
  Variability	
  Secrets	
  of	
  an	
  
Online	
  Video	
  Generator	
  (2015).	
  In	
  VaMoS'15	
  
"sq":	
  ["dwlcjv",	
  "1y60t3z",	
  "1lymk",	
  "wqzv0y",	
  
"1xxivi2",	
  "1oxnvtu",	
  "lolbe9",	
  "wvo06o",	
  
"1u6y5t2",	
  "1eqb8bw",	
  "1j9aij7",	
  "nr7jom",	
  
"1jmv11y",	
  "1qgn9dh",	
  "1bv7rka",	
  "19ykyyw",	
  
"5znrg7",	
  "116hv1k"]	
  
Feature	
  Models	
  	
  
(defacto	
  standard	
  for	
  modeling	
  variability)	
  
16	
  
Hierarchy:	
  rooted	
  tree	
  	
  
Variability:	
  	
  
•  mandatory,	
  	
  
•  op+onal,	
  	
  
•  Groups:	
  exclusive	
  or	
  inclusive	
  features	
  
•  Cross-­‐tree	
  constraints	
  
Optional
Mandatory
Xor-Group
Or-Group
17	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
{CarEquipment,	
  Comfort,	
  DrivingAndSafety,	
  Healthing,	
  AirCondi+oning,	
  FrontFogLights}	
  
configuraHon	
  =	
  set	
  of	
  features	
  selected	
  
Optional
Mandatory
Xor-Group
Or-Group
18	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
{CarEquipment,	
  Comfort,	
  DrivingAndSafety,	
  Healthing,	
  AirCondi+oning}	
  
configuraHon	
  =	
  set	
  of	
  features	
  selected	
  
Optional
Mandatory
Xor-Group
Or-Group
19	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
Optional
Mandatory
Xor-Group
Or-Group
{CarEquipment,	
  Comfort,	
  DrivingAndSafety,	
  Healthing,	
  AirCondi+oning,	
  
Automa+cHeadLights}	
  
configuraHon	
  =	
  set	
  of	
  features	
  selected	
  
ü	
  
ü	
  
ü	
  
ü	
  
ü	
  
ü	
  
20	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
Optional
Mandatory
Xor-Group
Or-Group
{AirCondi+oning,	
  FrontFogLights}	
  
{Automa+cHeadLights,	
  AirCondi+oning,	
  FrontFogLights}	
  
{Automa+cHeadLights,	
  FrontFogLights,	
  AirCondi+oningFrontAndRear}	
  
{AirCondi+oningFrontAndRear}	
  
{AirCondi+oning}	
  
{AirCondi+oningFrontAndRear,	
  FrontFogLights}	
  
{CarEquipment,	
  Comfort,	
  
DrivingAndSafety,	
  
Healthing}	
   X
21	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
Optional
Mandatory
Xor-Group
Or-Group
{AirCondi+oning,	
  FrontFogLights}	
  
{Automa+cHeadLights,	
  AirCondi+oning,	
  FrontFogLights}	
  
{Automa+cHeadLights,	
  FrontFogLights,	
  AirCondi+oningFrontAndRear}	
  
{AirCondi+oningFrontAndRear}	
  
{AirCondi+oning}	
  
{AirCondi+oningFrontAndRear,	
  FrontFogLights}	
  
{CarEquipment,	
  Comfort,	
  
DrivingAndSafety,	
  
Healthing}	
   X
22	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
Optional
Mandatory
Xor-Group
Or-Group
{AirCondi+oning,	
  FrontFogLights}	
  
{Automa+cHeadLights,	
  AirCondi+oning,	
  FrontFogLights}	
  
{Automa+cHeadLights,	
  FrontFogLights,	
  AirCondi+oningFrontAndRear}	
  
{AirCondi+oningFrontAndRear}	
  
{AirCondi+oning}	
  
{AirCondi+oningFrontAndRear,	
  FrontFogLights}	
  
{CarEquipment,	
  Comfort,	
  
DrivingAndSafety,	
  
Healthing}	
   X
23	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
Optional
Mandatory
Xor-Group
Or-Group
{AirCondi+oning,	
  FrontFogLights}	
  
{Automa+cHeadLights,	
  AirCondi+oning,	
  FrontFogLights}	
  
{Automa+cHeadLights,	
  FrontFogLights,	
  AirCondi+oningFrontAndRear}	
  
{AirCondi+oningFrontAndRear}	
  
{AirCondi+oning}	
  
{AirCondi+oningFrontAndRear,	
  FrontFogLights}	
  
{CarEquipment,	
  Comfort,	
  
DrivingAndSafety,	
  
Healthing}	
   X
24	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
{CarEquipment,	
  Comfort,	
  DrivingAndSafety,	
  Healthing,	
  AirCondi+oning}	
  
configuraHon	
  =	
  set	
  of	
  features	
  selected	
  
Optional
Mandatory
Xor-Group
Or-Group
 (FeAture	
  Model	
  scrIpt	
  Language	
  for	
  manIpula+on	
  and	
  Automa+c	
  Reasoning)	
  	
  
imporHng,	
  exporHng,	
  composing,	
  decomposing,	
  ediHng,	
  configuring,	
  
reverse	
  engineering,	
  compuHng	
  "diffs",	
  refactoring,	
  tesHng,	
  	
  
and	
  reasoning	
  about	
  (mulHple)	
  variability	
  models	
  
not, and, or, implies
φTVL
DIMACS
hVp://familiar-­‐project.github.com/	
  
Mathieu	
  Acher,	
  Philippe	
  Collet,	
  Philippe	
  Lahire,	
  Robert	
  B.	
  France	
  «	
  A	
  Domain-­‐Specific	
  Language	
  for	
  Large-­‐
Scale	
  Management	
  of	
  Feature	
  Models	
  »	
  Science	
  of	
  Computer	
  Programming	
  (SCP),	
  2013	
  
φ
(Boolean)	
  	
  
Feature	
  Models	
  
(Boolean)	
  	
  
Product	
  Comparison	
  Matrix	
  
(Boolean)	
  
Formula	
  
Or
Xor
Mandatory
Optional
not, and, or, implies
Variability Models (feature models)
Mining/Extracting
Encoding/Formalizing
Synthesising
φ
For	
  a	
  given	
  configuraHon	
  set,	
  	
  
	
  
many	
  (maximal)	
  feature	
  diagrams	
  	
  
	
  
with	
  different	
  ontological	
  semanHcs	
  	
  
[She	
  et	
  al.	
  ICSE’11,	
  Andersen	
  et	
  al.	
  SPLC’12,	
  Acher	
  et	
  al.	
  VaMoS’13]	
  
30	
  
For	
  a	
  given	
  configuraHon	
  set,	
  many	
  (maximal)	
  feature	
  diagrams	
  with	
  
different	
  ontological	
  semanHcs	
  [She	
  et	
  al.	
  ICSE’11,	
  Andersen	
  et	
  al.	
  SPLC’12,	
  Acher	
  et	
  al.	
  VaMoS’13]	
  
31	
  
Importance	
  of	
  ontological	
  semanHcs	
  (1)	
  
32	
  
Importance	
  of	
  ontological	
  semanHcs	
  (2)	
  
33	
  
Importance	
  of	
  ontological	
  semanHcs	
  (3)	
  
34	
  
Communica+on	
  
Comprehension	
  
Forward	
  engineering	
  (e.g.,	
  genera+on)	
  
35	
  
Two	
  product	
  configurators	
  generated	
  from	
  two	
  FMs	
  with	
  the	
  same	
  configuraHon	
  semanHcs	
  	
  
but	
  different	
  ontological	
  semanHcs.	
  
Good	
  FM	
  
Good	
  configuraHon	
  interface	
  
Bad	
  FM	
  
Bad	
  configuraHon	
  interface	
  
Importance	
  of	
  ontological	
  semanHcs	
  (4)	
  
Most	
  of	
  the	
  exisHng	
  approaches	
  neglect	
  either	
  
configuraHon	
  or	
  ontological	
  semanHcs.	
  
We	
  want	
  both!	
  
36	
  
φ	
  
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  Spanning	
  Tree	
  of	
  the	
  Binary	
  ImplicaHon	
  Graph	
  (BIG)	
  
37	
  
38	
  
#0	
  OpHmum	
  branching	
  (Tarjan)	
  weighHng	
  edges	
  	
  
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  Spanning	
  Tree	
  of	
  the	
  Binary	
  ImplicaHon	
  Graph	
  (BIG)	
  
39	
  
#1	
  Ranking	
  lists	
  best	
  parent	
  candidates	
  for	
  each	
  feature	
  
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  Spanning	
  Tree	
  of	
  the	
  Binary	
  ImplicaHon	
  Graph	
  (BIG)	
  
40	
  
#2	
  Clusters	
  ~possible	
  siblings	
  	
  
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  Spanning	
  Tree	
  of	
  the	
  Binary	
  ImplicaHon	
  Graph	
  (BIG)	
  
41	
  
#3	
  Cliques	
  ~bi-­‐implicaHons	
  
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  Spanning	
  Tree	
  of	
  the	
  Binary	
  ImplicaHon	
  Graph	
  (BIG)	
  
42	
  
#4	
  small	
  BIG	
  
	
  
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  Spanning	
  Tree	
  of	
  the	
  Binary	
  ImplicaHon	
  Graph	
  (BIG)	
  
43	
  
#4	
  reduced	
  BIG	
  
incomplete	
  but	
  dramaHcally	
  reduce	
  the	
  problem	
  
	
  
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  Spanning	
  Tree	
  of	
  the	
  Binary	
  ImplicaHon	
  Graph	
  (BIG)	
  
Ontological	
  HeurisHcs	
  
•  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)	
  
44	
  
Milne,	
  D.N.,	
  WiVen,	
  I.H.:	
  An	
  open-­‐source	
  toolkit	
  for	
  mining	
  
wikipedia.	
  ArHf.	
  Intell.	
  194,	
  222{239	
  (2013)	
  
40	
  GB!	
  
WebFML	
  
45	
  
•  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	
  46	
  
Support	
  and	
  Empirical	
  Study	
  (1)	
  
Goal:	
  evidence	
  and	
  empirical	
  insights	
  of	
  what	
  heurisHcs	
  
are	
  effecHve	
  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	
  47	
  
Support	
  and	
  Empirical	
  Study	
  (2)	
  
Default	
  heurisHcs/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	
  
48	
  
Support	
  and	
  Empirical	
  Study	
  (3)	
  
Default	
  heurisHcs/support	
  has	
  been	
  determined	
  through	
  
an	
  empirical	
  study	
  	
  
hVp://Hnyurl.com/
OntoFMExperiments	
  
49	
  
hVps://hal.inria.fr/hal-­‐01096969	
  
Support	
  and	
  Empirical	
  Study	
  (3)	
  
50	
  
Guillaume	
  Bécan,	
  Mathieu	
  Acher,	
  Benoit	
  Baudry,	
  and	
  Sana	
  Ben	
  Nasr.	
  Breathing	
  Ontological	
  
Knowledge	
  Into	
  Feature	
  Model	
  Synthesis:	
  An	
  Empirical	
  Study	
  (2015).	
  In	
  Empirical	
  Soware	
  
Engineering	
  (ESE)	
  	
  
	
  WebFML:	
  Synthesizing	
  Feature	
  Models	
  Everywhere	
  (SPLC’14)	
  
Guillaume	
  Bécan,	
  Razieh	
  Behja+,	
  Arnaud	
  Gotlieb,	
  and	
  Mathieu	
  Acher.	
  Synthesis	
  of	
  Axributed	
  
Feature	
  Models	
  From	
  Product	
  Descrip+ons	
  (2015).	
  In	
  19th	
  Interna+onal	
  Soware	
  Product	
  Line	
  
Conference	
  (SPLC'15)	
  (research	
  track,	
  long	
  paper)	
  
Guillaume	
  Bécan,	
  Razieh	
  Behja+,	
  Arnaud	
  Gotlieb,	
  and	
  Mathieu	
  Acher.	
  Synthesis	
  of	
  Axributed	
  
Feature	
  Models	
  From	
  Product	
  Descrip+ons	
  (2015).	
  In	
  19th	
  Interna+onal	
  Soware	
  Product	
  Line	
  
Conference	
  (SPLC'15)	
  (research	
  track,	
  long	
  paper)	
  
Jean-­‐Marc	
  Davril,	
  Mathieu	
  Acher,	
  Guillaume	
  Bécan,	
  and	
  Patrick	
  Heymans.	
  Towards	
  Breaking	
  The	
  
Curse	
  of	
  Dimensionality	
  in	
  Reverse	
  Engineering	
  Feature	
  Models	
  (2015).	
  In	
  Configura+on	
  
Workshop	
  
Data	
  Mining	
  
Fuzzy	
  Logic	
  
…	
  
	
  
Mining/Extracting
Encoding/Formalizing
Synthesising
Choose	
  your	
  BEST	
  Laptop..	
  
Values	
  
?	
  
Differences	
  
?	
   CommonaliHes	
  
AlternaHves	
  
? Features	
  	
  
?	
  
Manual	
  case-­‐by-­‐case	
  review	
  of	
  each	
  
product	
  L	
  	
  
Manually	
  idenHfying	
  
features	
  
MatrixMiner:	
  A	
  Red	
  Pill	
  to	
  Architect	
  Informal	
  Product	
  
DescripHons	
  in	
  the	
  Matrix	
  (Ben	
  Nasr	
  et	
  al.,	
  ESEC/FSE’15	
  tool)	
  
hVp://matrix-­‐miner.variability.io/	
  
Guillaume	
  Bécan,	
  Nicolas	
  Sannier,	
  Mathieu	
  Acher,	
  Olivier	
  Barais,	
  Arnaud	
  Blouin,	
  and	
  Benoit	
  Baudry.	
  
Automa+ng	
  the	
  Formaliza+on	
  of	
  Product	
  Comparison	
  Matrices	
  (2014).	
  In	
  29th	
  IEEE/ACM	
  Interna+onal	
  
Conference	
  on	
  Automated	
  Soware	
  Engineering	
  (ASE'14)	
  
Product Comparison Matrix (PCM)
•  Initial points: VaMoS’12 (VariCell), ASE’13 (we coined
the term), VaMoS’14 (comparators)
•  Metamodel for encoding PCMs and developing
services (eg editors), cross-validated by users
Guillaume Bécan, Nicolas Sannier, Mathieu Acher, Olivier Barais, Arnaud Blouin, and Benoit
Baudry. Automating the Formalization of Product Comparison Matrices (2014). In 29th IEEE/ACM
International Conference on Automated Software Engineering (ASE'14)
Evaluation
Automating the Formalization of Product Comparison Matrices - 68
Experimental settings:
•  75 Wikipedia pages
•  Headers specified manually
•  Automated extraction of information
PCM PCM
model
parsing preprocessing extracting
information
PCM
model
PCM
model
PCM metamodel
exploiting
S
E
R
V
I
C
E
S
RQ1
RQ2
RQ3
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 69
Experimental settings:
•  Evaluated by 20 persons (researchers and engineers)
•  Online editor
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 70
RQ1: How to formalize data contained in PCMs?
95.72% cells are valid or corrected with concepts from the metamodel
4.28% are invalid and the evaluators proposed a new concept
•  Dates
•  Dimensions and units
•  Versions
Solution:
•  Add corresponding data types to the metamodel
•  Create new rules for interpreting cells
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 71
RQ2: How to automate the formalization of PCMs?
93,11% of the cells are correctly formalized
The rest can be manually formalized with an editor
Formalization errors arise from 4 main areas:
•  Overlapping concepts (e.g. what does an empty cell mean?)
•  Missing concepts (e.g. dates, versions…)
•  Missing interpretation rules
•  Bad rules
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 72
RQ3: What kind of tools and services can be built on top of
formalized PCMs?
Editing and formalizing PCMs
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 73
Providing guidance during edition or refactoring
Detect inconsistent cells to provide warnings
RQ3: What kind of tools and services can be built on top of
formalized PCMs?
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 74
Metamodel
•  Feature/product oriented
•  Clear semantics
RQ3: What kind of tools and services can be built on top of
formalized PCMs?
Comparing products
Translate PCMs to variability models
Let us do it seriously ;-)
OpenCompare.org
standard format
collaborative edition
import/export of numerous formats
embeddable editor
open source
open data
innovative services (e.g., for visualizing, configuring, filtering and
« playing » with comparisons; ways to share, collaborate, and easily create comparisons)
(https://github.com/gbecan/OpenCompare)
(opencompare.org/api/get/ID)
Current case study: Wikipedia
Import
Export
Edit
|-
! {{rh}} | [[KickassTorrents]]
| {{yes|None}}
| {{no}}
| {{yes}}
| {{no}}<ref>{{cite web|url=http://kickass.so/
dmca/|title=KAT DMCA|work=kickasstorrents}}</
ref>
| {{sort|0000076|76}}<ref>[http://www.alexa.com/
siteinfo/kickass.so KickassTorrents] at Alexa</
ref>
|-
Mining/Extracting
Encoding/Formalizing
Synthesising
Key Contributions
•  Mining Variability (see ESEC/FSE’13, SPLC’14, SoSyM’14,
VaMoS’12/13/14/15)
•  From Feature Models to Product Comparison Matrices
–  Syntax and semantics
•  Synthesis of Feature Models
–  Becan et al. (ESE journal, 2015)
•  Synthesis of Attributed Feature Models
–  Becan et al. (SPLC’15)
•  Mining Product Comparison Matrices
–  Ben Nasr et al. (ESEC/FSE’15, MatrixMiner)
–  Becan et al. (ASE’14)
•  OpenCompare.org
Future Work
•  Synthesis of Feature Models
– scalability, expressiveness, readability,
usefullness
•  Comparison Matrices
– Mining everything
– Synthesis
– Reasoning
•  The link between the two
•  OpenCompare.org

More Related Content

Similar to From Basic Variability Models to OpenCompare.org

Towards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages ToolchainTowards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages Toolchain
Attila Szegedi
 
Fortran & Link with Library & Brief Explanation of MKL BLAS
Fortran & Link with Library & Brief Explanation of MKL BLASFortran & Link with Library & Brief Explanation of MKL BLAS
Fortran & Link with Library & Brief Explanation of MKL BLAS
Jongsu "Liam" Kim
 

Similar to From Basic Variability Models to OpenCompare.org (20)

Towards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages ToolchainTowards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages Toolchain
 
Data Driven-Toyota Customer 360 Insights on Apache Spark and MLlib-(Brian Kur...
Data Driven-Toyota Customer 360 Insights on Apache Spark and MLlib-(Brian Kur...Data Driven-Toyota Customer 360 Insights on Apache Spark and MLlib-(Brian Kur...
Data Driven-Toyota Customer 360 Insights on Apache Spark and MLlib-(Brian Kur...
 
Fractional factorial design tutorial
Fractional factorial design tutorialFractional factorial design tutorial
Fractional factorial design tutorial
 
From System Modeling to Automated System Testing
From System Modeling to Automated System TestingFrom System Modeling to Automated System Testing
From System Modeling to Automated System Testing
 
Fortran & Link with Library & Brief Explanation of MKL BLAS
Fortran & Link with Library & Brief Explanation of MKL BLASFortran & Link with Library & Brief Explanation of MKL BLAS
Fortran & Link with Library & Brief Explanation of MKL BLAS
 
Ml5
Ml5Ml5
Ml5
 
Inheritance - the myth of code reuse | Andrei Raifura | CodeWay 2015
Inheritance - the myth of code reuse | Andrei Raifura | CodeWay 2015Inheritance - the myth of code reuse | Andrei Raifura | CodeWay 2015
Inheritance - the myth of code reuse | Andrei Raifura | CodeWay 2015
 
Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semant...
Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semant...Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semant...
Knowledge Engineering rediscovered, Towards Reasoning Patterns for the Semant...
 
Yandex School of Data Analysis conference, Machine Learning and Very Large Da...
Yandex School of Data Analysis conference, Machine Learning and Very Large Da...Yandex School of Data Analysis conference, Machine Learning and Very Large Da...
Yandex School of Data Analysis conference, Machine Learning and Very Large Da...
 
Andriy Shalaenko - GO security tips
Andriy Shalaenko - GO security tipsAndriy Shalaenko - GO security tips
Andriy Shalaenko - GO security tips
 
Towards Domain Refinement for UML/OCL Bounded Verification
Towards Domain Refinement for UML/OCL Bounded VerificationTowards Domain Refinement for UML/OCL Bounded Verification
Towards Domain Refinement for UML/OCL Bounded Verification
 
Generator
GeneratorGenerator
Generator
 
SUBJECT
SUBJECTSUBJECT
SUBJECT
 
Python. Finance. Excel. - The Thalesians
Python. Finance. Excel. - The ThalesiansPython. Finance. Excel. - The Thalesians
Python. Finance. Excel. - The Thalesians
 
Acm aleppo cpc training introduction 1
Acm aleppo cpc training introduction 1Acm aleppo cpc training introduction 1
Acm aleppo cpc training introduction 1
 
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
 
TMPA-2017: Vellvm - Verifying the LLVM
TMPA-2017: Vellvm - Verifying the LLVMTMPA-2017: Vellvm - Verifying the LLVM
TMPA-2017: Vellvm - Verifying the LLVM
 
Artificial Intelligence and Optimization with Parallelism
Artificial Intelligence and Optimization with ParallelismArtificial Intelligence and Optimization with Parallelism
Artificial Intelligence and Optimization with Parallelism
 
C++ How to program
C++ How to programC++ How to program
C++ How to program
 
Machine Learning and Go. Go!
Machine Learning and Go. Go!Machine Learning and Go. Go!
Machine Learning and Go. Go!
 

More from University of Rennes, INSA Rennes, Inria/IRISA, CNRS

24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
On anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variabilityOn anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Machine Learning and Deep Software Variability
Machine Learning and Deep Software VariabilityMachine Learning and Deep Software Variability
Machine Learning and Deep Software Variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel SizeTransfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Software Variability and Artificial Intelligence
Software Variability and Artificial IntelligenceSoftware Variability and Artificial Intelligence
Software Variability and Artificial Intelligence
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and ChallengesTeaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 

More from University of Rennes, INSA Rennes, Inria/IRISA, CNRS (20)

A Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AIA Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AI
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
 
On Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based AssistantOn Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based Assistant
 
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
 
Tackling Deep Software Variability Together
Tackling Deep Software Variability TogetherTackling Deep Software Variability Together
Tackling Deep Software Variability Together
 
On anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variabilityOn anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variability
 
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
 
Machine Learning and Deep Software Variability
Machine Learning and Deep Software VariabilityMachine Learning and Deep Software Variability
Machine Learning and Deep Software Variability
 
Mastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and ScienceMastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and Science
 
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel SizeTransfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
 
Software Variability and Artificial Intelligence
Software Variability and Artificial IntelligenceSoftware Variability and Artificial Intelligence
Software Variability and Artificial Intelligence
 
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and ChallengesTeaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
 
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
 
Assessing Product Line Derivation Operators Applied to Java Source Code: An E...
Assessing Product Line Derivation Operators Applied to Java Source Code: An E...Assessing Product Line Derivation Operators Applied to Java Source Code: An E...
Assessing Product Line Derivation Operators Applied to Java Source Code: An E...
 
Synthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product DescriptionsSynthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product Descriptions
 
Pandoc: a universal document converter
Pandoc: a universal document converterPandoc: a universal document converter
Pandoc: a universal document converter
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines
 
A survey on teaching of software product lines
A survey on teaching of software product linesA survey on teaching of software product lines
A survey on teaching of software product lines
 

Recently uploaded

Quantifying Artificial Intelligence and What Comes Next!
Quantifying Artificial Intelligence and What Comes Next!Quantifying Artificial Intelligence and What Comes Next!
Quantifying Artificial Intelligence and What Comes Next!
University of Hertfordshire
 

Recently uploaded (20)

PHOTOSYNTHETIC BACTERIA (OXYGENIC AND ANOXYGENIC)
PHOTOSYNTHETIC BACTERIA  (OXYGENIC AND ANOXYGENIC)PHOTOSYNTHETIC BACTERIA  (OXYGENIC AND ANOXYGENIC)
PHOTOSYNTHETIC BACTERIA (OXYGENIC AND ANOXYGENIC)
 
Plasma proteins_ Dr.Muralinath_Dr.c. kalyan
Plasma proteins_ Dr.Muralinath_Dr.c. kalyanPlasma proteins_ Dr.Muralinath_Dr.c. kalyan
Plasma proteins_ Dr.Muralinath_Dr.c. kalyan
 
ANALEPTICS Mrs Namrata Sanjay Mane  Department of Pharmaceutical Chemistry...
ANALEPTICS  Mrs Namrata Sanjay  Mane   Department of Pharmaceutical Chemistry...ANALEPTICS  Mrs Namrata Sanjay  Mane   Department of Pharmaceutical Chemistry...
ANALEPTICS Mrs Namrata Sanjay Mane  Department of Pharmaceutical Chemistry...
 
Virulence Analysis of Citrus canker caused by Xanthomonas axonopodis pv. citr...
Virulence Analysis of Citrus canker caused by Xanthomonas axonopodis pv. citr...Virulence Analysis of Citrus canker caused by Xanthomonas axonopodis pv. citr...
Virulence Analysis of Citrus canker caused by Xanthomonas axonopodis pv. citr...
 
GBSN - Microbiology (Unit 5) Concept of isolation
GBSN - Microbiology (Unit 5) Concept of isolationGBSN - Microbiology (Unit 5) Concept of isolation
GBSN - Microbiology (Unit 5) Concept of isolation
 
dkNET Webinar: The 4DN Data Portal - Data, Resources and Tools to Help Elucid...
dkNET Webinar: The 4DN Data Portal - Data, Resources and Tools to Help Elucid...dkNET Webinar: The 4DN Data Portal - Data, Resources and Tools to Help Elucid...
dkNET Webinar: The 4DN Data Portal - Data, Resources and Tools to Help Elucid...
 
Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...
Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...
Molecular and Cellular Mechanism of Action of Hormones such as Growth Hormone...
 
Fun for mover student's book- English book for teaching.pdf
Fun for mover student's book- English book for teaching.pdfFun for mover student's book- English book for teaching.pdf
Fun for mover student's book- English book for teaching.pdf
 
SaffronCrocusGenomicsThessalonikiOnlineMay2024TalkOnline.pptx
SaffronCrocusGenomicsThessalonikiOnlineMay2024TalkOnline.pptxSaffronCrocusGenomicsThessalonikiOnlineMay2024TalkOnline.pptx
SaffronCrocusGenomicsThessalonikiOnlineMay2024TalkOnline.pptx
 
Alternative method of dissolution in-vitro in-vivo correlation and dissolutio...
Alternative method of dissolution in-vitro in-vivo correlation and dissolutio...Alternative method of dissolution in-vitro in-vivo correlation and dissolutio...
Alternative method of dissolution in-vitro in-vivo correlation and dissolutio...
 
WASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 Rp
WASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 RpWASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 Rp
WASP-69b’s Escaping Envelope Is Confined to a Tail Extending at Least 7 Rp
 
Quantifying Artificial Intelligence and What Comes Next!
Quantifying Artificial Intelligence and What Comes Next!Quantifying Artificial Intelligence and What Comes Next!
Quantifying Artificial Intelligence and What Comes Next!
 
MSCII_ FCT UNIT 5 TOXICOLOGY.pdf
MSCII_              FCT UNIT 5 TOXICOLOGY.pdfMSCII_              FCT UNIT 5 TOXICOLOGY.pdf
MSCII_ FCT UNIT 5 TOXICOLOGY.pdf
 
GBSN - Microbiology (Unit 6) Human and Microbial interaction
GBSN - Microbiology (Unit 6) Human and Microbial interactionGBSN - Microbiology (Unit 6) Human and Microbial interaction
GBSN - Microbiology (Unit 6) Human and Microbial interaction
 
RACEMIzATION AND ISOMERISATION completed.pptx
RACEMIzATION AND ISOMERISATION completed.pptxRACEMIzATION AND ISOMERISATION completed.pptx
RACEMIzATION AND ISOMERISATION completed.pptx
 
GBSN - Biochemistry (Unit 8) Enzymology
GBSN - Biochemistry (Unit 8) EnzymologyGBSN - Biochemistry (Unit 8) Enzymology
GBSN - Biochemistry (Unit 8) Enzymology
 
Introduction and significance of Symbiotic algae
Introduction and significance of  Symbiotic algaeIntroduction and significance of  Symbiotic algae
Introduction and significance of Symbiotic algae
 
Plasmapheresis - Dr. E. Muralinath - Kalyan . C.pptx
Plasmapheresis - Dr. E. Muralinath - Kalyan . C.pptxPlasmapheresis - Dr. E. Muralinath - Kalyan . C.pptx
Plasmapheresis - Dr. E. Muralinath - Kalyan . C.pptx
 
EU START PROJECT. START-Newsletter_Issue_4.pdf
EU START PROJECT. START-Newsletter_Issue_4.pdfEU START PROJECT. START-Newsletter_Issue_4.pdf
EU START PROJECT. START-Newsletter_Issue_4.pdf
 
Manganese‐RichSandstonesasanIndicatorofAncientOxic LakeWaterConditionsinGale...
Manganese‐RichSandstonesasanIndicatorofAncientOxic  LakeWaterConditionsinGale...Manganese‐RichSandstonesasanIndicatorofAncientOxic  LakeWaterConditionsinGale...
Manganese‐RichSandstonesasanIndicatorofAncientOxic LakeWaterConditionsinGale...
 

From Basic Variability Models to OpenCompare.org

  • 1. From  Basic  Variability  Models     to     OpenCompare.org    
  • 2.
  • 3. Architectural/ Component     Models       Dependencies   Files   Web   Configurators   Source   Code   Regulatory   Requirements   Video  Variants   Language   Units   Informal   Product   DescripHons   (e.g.,  product   overviews)   EMF/UML   Models      
  • 4. Or Xor Mandatory Optional not, and, or, implies Variability Models (feature models) Variants of code (e.g., Java or C) Variants of user interfaces Variants of video sequences Variants of models (e.g., UML or SysML) Variants of « things » (3D models) … Mining/Extracting Encoding/Formalizing Synthesising
  • 6. Agenda (the journey) from basic variability models to opencompare.org •  Mining Variability •  From Feature Models to Product Comparison Matrices •  Synthesis of Feature Models •  Synthesis of Attributed Feature Models •  Mining Product Comparison Matrices •  OpenCompare.org
  • 7.
  • 9.
  • 10.
  • 11. 11   «  Extrac+on  and  Evolu+on  of  Architectural  Variability  Models  in  Plugin-­‐based  Systems  »       Mathieu  Acher,  Anthony  Cleve,  Philippe  Collet,  Philippe  Merle,  Laurence  Duchien,  Philippe   Lahire  ECSA/SoSyM’14   FraSCAti SCAParser Java Compiler JDK6 JDT Optional Mandatory Alternative- Group Or-Group Assembly Factory resthttp Binding MMFrascati Component Factory Metamodel MMTuscany constraints rest requires MMFrascati http requires MMTuscany FM1 Variability  Model  
  • 12. 12   «  Feature  Model  Extrac+on  from  Large  Collec+ons  of  Informal  Product  Descrip+ons  »     Jean-­‐Marc  Davril,  Edouard  Delfosse,  Negar  Hariri,  Mathieu  Acher,  Jane  Cleland-­‐Huang,  Patrick   Heymans  (ESEC/FSE’13)  
  • 13. 13   “Reverse  Engineering  Web  Configurators”  Ebrahim  Khalil  Abbasi,  Mathieu  Acher,  Patrick   Heymans,  and  Anthony  Cleve.  In  17th  European  Conference  on  Soware  Maintenance  and   Reengineering  (CSMR'14)  
  • 14. Guillaume  Bécan,  Mathieu  Acher,  Jean-­‐Marc  Jézéquel,  and  Thomas  Menguy.  On  the  Variability  Secrets  of  an   Online  Video  Generator  (2015).  In  VaMoS'15   "sq":  ["dwlcjv",  "1y60t3z",  "1lymk",  "wqzv0y",   "1xxivi2",  "1oxnvtu",  "lolbe9",  "wvo06o",   "1u6y5t2",  "1eqb8bw",  "1j9aij7",  "nr7jom",   "1jmv11y",  "1qgn9dh",  "1bv7rka",  "19ykyyw",   "5znrg7",  "116hv1k"]  
  • 15.
  • 16. Feature  Models     (defacto  standard  for  modeling  variability)   16   Hierarchy:  rooted  tree     Variability:     •  mandatory,     •  op+onal,     •  Groups:  exclusive  or  inclusive  features   •  Cross-­‐tree  constraints   Optional Mandatory Xor-Group Or-Group
  • 17. 17   Hierarchy  +  Variability     =     set  of  valid  configuraHons   {CarEquipment,  Comfort,  DrivingAndSafety,  Healthing,  AirCondi+oning,  FrontFogLights}   configuraHon  =  set  of  features  selected   Optional Mandatory Xor-Group Or-Group
  • 18. 18   Hierarchy  +  Variability     =     set  of  valid  configuraHons   {CarEquipment,  Comfort,  DrivingAndSafety,  Healthing,  AirCondi+oning}   configuraHon  =  set  of  features  selected   Optional Mandatory Xor-Group Or-Group
  • 19. 19   Hierarchy  +  Variability     =     set  of  valid  configuraHons   Optional Mandatory Xor-Group Or-Group {CarEquipment,  Comfort,  DrivingAndSafety,  Healthing,  AirCondi+oning,   Automa+cHeadLights}   configuraHon  =  set  of  features  selected   ü   ü   ü   ü   ü   ü  
  • 20. 20   Hierarchy  +  Variability     =     set  of  valid  configuraHons   Optional Mandatory Xor-Group Or-Group {AirCondi+oning,  FrontFogLights}   {Automa+cHeadLights,  AirCondi+oning,  FrontFogLights}   {Automa+cHeadLights,  FrontFogLights,  AirCondi+oningFrontAndRear}   {AirCondi+oningFrontAndRear}   {AirCondi+oning}   {AirCondi+oningFrontAndRear,  FrontFogLights}   {CarEquipment,  Comfort,   DrivingAndSafety,   Healthing}   X
  • 21. 21   Hierarchy  +  Variability     =     set  of  valid  configuraHons   Optional Mandatory Xor-Group Or-Group {AirCondi+oning,  FrontFogLights}   {Automa+cHeadLights,  AirCondi+oning,  FrontFogLights}   {Automa+cHeadLights,  FrontFogLights,  AirCondi+oningFrontAndRear}   {AirCondi+oningFrontAndRear}   {AirCondi+oning}   {AirCondi+oningFrontAndRear,  FrontFogLights}   {CarEquipment,  Comfort,   DrivingAndSafety,   Healthing}   X
  • 22. 22   Hierarchy  +  Variability     =     set  of  valid  configuraHons   Optional Mandatory Xor-Group Or-Group {AirCondi+oning,  FrontFogLights}   {Automa+cHeadLights,  AirCondi+oning,  FrontFogLights}   {Automa+cHeadLights,  FrontFogLights,  AirCondi+oningFrontAndRear}   {AirCondi+oningFrontAndRear}   {AirCondi+oning}   {AirCondi+oningFrontAndRear,  FrontFogLights}   {CarEquipment,  Comfort,   DrivingAndSafety,   Healthing}   X
  • 23. 23   Hierarchy  +  Variability     =     set  of  valid  configuraHons   Optional Mandatory Xor-Group Or-Group {AirCondi+oning,  FrontFogLights}   {Automa+cHeadLights,  AirCondi+oning,  FrontFogLights}   {Automa+cHeadLights,  FrontFogLights,  AirCondi+oningFrontAndRear}   {AirCondi+oningFrontAndRear}   {AirCondi+oning}   {AirCondi+oningFrontAndRear,  FrontFogLights}   {CarEquipment,  Comfort,   DrivingAndSafety,   Healthing}   X
  • 24. 24   Hierarchy  +  Variability     =     set  of  valid  configuraHons   {CarEquipment,  Comfort,  DrivingAndSafety,  Healthing,  AirCondi+oning}   configuraHon  =  set  of  features  selected   Optional Mandatory Xor-Group Or-Group
  • 25.  (FeAture  Model  scrIpt  Language  for  manIpula+on  and  Automa+c  Reasoning)     imporHng,  exporHng,  composing,  decomposing,  ediHng,  configuring,   reverse  engineering,  compuHng  "diffs",  refactoring,  tesHng,     and  reasoning  about  (mulHple)  variability  models   not, and, or, implies φTVL DIMACS hVp://familiar-­‐project.github.com/   Mathieu  Acher,  Philippe  Collet,  Philippe  Lahire,  Robert  B.  France  «  A  Domain-­‐Specific  Language  for  Large-­‐ Scale  Management  of  Feature  Models  »  Science  of  Computer  Programming  (SCP),  2013  
  • 26. φ (Boolean)     Feature  Models   (Boolean)     Product  Comparison  Matrix   (Boolean)   Formula  
  • 27.
  • 28. Or Xor Mandatory Optional not, and, or, implies Variability Models (feature models) Mining/Extracting Encoding/Formalizing Synthesising
  • 29. φ
  • 30. For  a  given  configuraHon  set,       many  (maximal)  feature  diagrams       with  different  ontological  semanHcs     [She  et  al.  ICSE’11,  Andersen  et  al.  SPLC’12,  Acher  et  al.  VaMoS’13]   30  
  • 31. For  a  given  configuraHon  set,  many  (maximal)  feature  diagrams  with   different  ontological  semanHcs  [She  et  al.  ICSE’11,  Andersen  et  al.  SPLC’12,  Acher  et  al.  VaMoS’13]   31  
  • 32. Importance  of  ontological  semanHcs  (1)   32  
  • 33. Importance  of  ontological  semanHcs  (2)   33  
  • 34. Importance  of  ontological  semanHcs  (3)   34   Communica+on   Comprehension   Forward  engineering  (e.g.,  genera+on)  
  • 35. 35   Two  product  configurators  generated  from  two  FMs  with  the  same  configuraHon  semanHcs     but  different  ontological  semanHcs.   Good  FM   Good  configuraHon  interface   Bad  FM   Bad  configuraHon  interface   Importance  of  ontological  semanHcs  (4)  
  • 36. Most  of  the  exisHng  approaches  neglect  either   configuraHon  or  ontological  semanHcs.   We  want  both!   36   φ  
  • 37. Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)   37  
  • 38. 38   #0  OpHmum  branching  (Tarjan)  weighHng  edges     Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  • 39. 39   #1  Ranking  lists  best  parent  candidates  for  each  feature   Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  • 40. 40   #2  Clusters  ~possible  siblings     Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  • 41. 41   #3  Cliques  ~bi-­‐implicaHons   Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  • 42. 42   #4  small  BIG     Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  • 43. 43   #4  reduced  BIG   incomplete  but  dramaHcally  reduce  the  problem     Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  • 44. Ontological  HeurisHcs   •  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)   44   Milne,  D.N.,  WiVen,  I.H.:  An  open-­‐source  toolkit  for  mining   wikipedia.  ArHf.  Intell.  194,  222{239  (2013)   40  GB!  
  • 46. •  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  46   Support  and  Empirical  Study  (1)   Goal:  evidence  and  empirical  insights  of  what  heurisHcs   are  effecHve  and  what  support    is  needed  in  WebFML  
  • 47. •  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  47   Support  and  Empirical  Study  (2)   Default  heurisHcs/support  has  been  determined  through   an  empirical  study    
  • 48. •  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   48   Support  and  Empirical  Study  (3)   Default  heurisHcs/support  has  been  determined  through   an  empirical  study    
  • 50. 50   Guillaume  Bécan,  Mathieu  Acher,  Benoit  Baudry,  and  Sana  Ben  Nasr.  Breathing  Ontological   Knowledge  Into  Feature  Model  Synthesis:  An  Empirical  Study  (2015).  In  Empirical  Soware   Engineering  (ESE)      WebFML:  Synthesizing  Feature  Models  Everywhere  (SPLC’14)  
  • 51.
  • 52.
  • 53. Guillaume  Bécan,  Razieh  Behja+,  Arnaud  Gotlieb,  and  Mathieu  Acher.  Synthesis  of  Axributed   Feature  Models  From  Product  Descrip+ons  (2015).  In  19th  Interna+onal  Soware  Product  Line   Conference  (SPLC'15)  (research  track,  long  paper)  
  • 54. Guillaume  Bécan,  Razieh  Behja+,  Arnaud  Gotlieb,  and  Mathieu  Acher.  Synthesis  of  Axributed   Feature  Models  From  Product  Descrip+ons  (2015).  In  19th  Interna+onal  Soware  Product  Line   Conference  (SPLC'15)  (research  track,  long  paper)  
  • 55.
  • 56.
  • 57.
  • 58. Jean-­‐Marc  Davril,  Mathieu  Acher,  Guillaume  Bécan,  and  Patrick  Heymans.  Towards  Breaking  The   Curse  of  Dimensionality  in  Reverse  Engineering  Feature  Models  (2015).  In  Configura+on   Workshop   Data  Mining   Fuzzy  Logic   …    
  • 59.
  • 61.
  • 62.
  • 63. Choose  your  BEST  Laptop..   Values   ?   Differences   ?   CommonaliHes   AlternaHves   ? Features     ?  
  • 64. Manual  case-­‐by-­‐case  review  of  each   product  L     Manually  idenHfying   features  
  • 65. MatrixMiner:  A  Red  Pill  to  Architect  Informal  Product   DescripHons  in  the  Matrix  (Ben  Nasr  et  al.,  ESEC/FSE’15  tool)   hVp://matrix-­‐miner.variability.io/  
  • 66. Guillaume  Bécan,  Nicolas  Sannier,  Mathieu  Acher,  Olivier  Barais,  Arnaud  Blouin,  and  Benoit  Baudry.   Automa+ng  the  Formaliza+on  of  Product  Comparison  Matrices  (2014).  In  29th  IEEE/ACM  Interna+onal   Conference  on  Automated  Soware  Engineering  (ASE'14)  
  • 67. Product Comparison Matrix (PCM) •  Initial points: VaMoS’12 (VariCell), ASE’13 (we coined the term), VaMoS’14 (comparators) •  Metamodel for encoding PCMs and developing services (eg editors), cross-validated by users Guillaume Bécan, Nicolas Sannier, Mathieu Acher, Olivier Barais, Arnaud Blouin, and Benoit Baudry. Automating the Formalization of Product Comparison Matrices (2014). In 29th IEEE/ACM International Conference on Automated Software Engineering (ASE'14)
  • 68. Evaluation Automating the Formalization of Product Comparison Matrices - 68 Experimental settings: •  75 Wikipedia pages •  Headers specified manually •  Automated extraction of information PCM PCM model parsing preprocessing extracting information PCM model PCM model PCM metamodel exploiting S E R V I C E S RQ1 RQ2 RQ3
  • 69. Evaluation Automating the Formalization of Product Comparison Matrices - 69 Experimental settings: •  Evaluated by 20 persons (researchers and engineers) •  Online editor
  • 70. Evaluation Automating the Formalization of Product Comparison Matrices - 70 RQ1: How to formalize data contained in PCMs? 95.72% cells are valid or corrected with concepts from the metamodel 4.28% are invalid and the evaluators proposed a new concept •  Dates •  Dimensions and units •  Versions Solution: •  Add corresponding data types to the metamodel •  Create new rules for interpreting cells
  • 71. Evaluation Automating the Formalization of Product Comparison Matrices - 71 RQ2: How to automate the formalization of PCMs? 93,11% of the cells are correctly formalized The rest can be manually formalized with an editor Formalization errors arise from 4 main areas: •  Overlapping concepts (e.g. what does an empty cell mean?) •  Missing concepts (e.g. dates, versions…) •  Missing interpretation rules •  Bad rules
  • 72. Evaluation Automating the Formalization of Product Comparison Matrices - 72 RQ3: What kind of tools and services can be built on top of formalized PCMs? Editing and formalizing PCMs
  • 73. Evaluation Automating the Formalization of Product Comparison Matrices - 73 Providing guidance during edition or refactoring Detect inconsistent cells to provide warnings RQ3: What kind of tools and services can be built on top of formalized PCMs?
  • 74. Evaluation Automating the Formalization of Product Comparison Matrices - 74 Metamodel •  Feature/product oriented •  Clear semantics RQ3: What kind of tools and services can be built on top of formalized PCMs? Comparing products Translate PCMs to variability models
  • 75. Let us do it seriously ;-)
  • 76.
  • 77. OpenCompare.org standard format collaborative edition import/export of numerous formats embeddable editor open source open data innovative services (e.g., for visualizing, configuring, filtering and « playing » with comparisons; ways to share, collaborate, and easily create comparisons) (https://github.com/gbecan/OpenCompare) (opencompare.org/api/get/ID)
  • 78. Current case study: Wikipedia Import Export Edit |- ! {{rh}} | [[KickassTorrents]] | {{yes|None}} | {{no}} | {{yes}} | {{no}}<ref>{{cite web|url=http://kickass.so/ dmca/|title=KAT DMCA|work=kickasstorrents}}</ ref> | {{sort|0000076|76}}<ref>[http://www.alexa.com/ siteinfo/kickass.so KickassTorrents] at Alexa</ ref> |-
  • 79.
  • 81. Key Contributions •  Mining Variability (see ESEC/FSE’13, SPLC’14, SoSyM’14, VaMoS’12/13/14/15) •  From Feature Models to Product Comparison Matrices –  Syntax and semantics •  Synthesis of Feature Models –  Becan et al. (ESE journal, 2015) •  Synthesis of Attributed Feature Models –  Becan et al. (SPLC’15) •  Mining Product Comparison Matrices –  Ben Nasr et al. (ESEC/FSE’15, MatrixMiner) –  Becan et al. (ASE’14) •  OpenCompare.org
  • 82. Future Work •  Synthesis of Feature Models – scalability, expressiveness, readability, usefullness •  Comparison Matrices – Mining everything – Synthesis – Reasoning •  The link between the two •  OpenCompare.org