SlideShare a Scribd company logo
From	
  Basic	
  Variability	
  Models	
  	
  
to	
  	
  
OpenCompare.org	
  
	
  
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
From Basic Variability Models to OpenCompare.org
8	
  
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
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"]	
  
From Basic Variability Models to OpenCompare.org
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	
  
From Basic Variability Models to OpenCompare.org
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)	
  
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
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)	
  
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
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	
  
…	
  
	
  
From Basic Variability Models to OpenCompare.org
Mining/Extracting
Encoding/Formalizing
Synthesising
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
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 ;-)
From Basic Variability Models to OpenCompare.org
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>
|-
From Basic Variability Models to OpenCompare.org
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

PDF
R, Scikit-Learn and Apache Spark ML - What difference does it make?
PPTX
iOS Development using Swift: Enums, ARC, Delegation, Closures, Table View and...
PDF
Comparing Approaches to Implement Feature Model Composition
PDF
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
PDF
An introduction to automated analysis of feature models through propositional...
PDF
Sayyad slides ase13_v4
PDF
Towards a Taxonomy of Context-Aware Software Variabilty Approaches
PDF
Composing your Compositions of Variability Models (Models 2013 presentation)
R, Scikit-Learn and Apache Spark ML - What difference does it make?
iOS Development using Swift: Enums, ARC, Delegation, Closures, Table View and...
Comparing Approaches to Implement Feature Model Composition
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
An introduction to automated analysis of feature models through propositional...
Sayyad slides ase13_v4
Towards a Taxonomy of Context-Aware Software Variabilty Approaches
Composing your Compositions of Variability Models (Models 2013 presentation)

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

PDF
Software variability management - 2019
PDF
On the Value of User Preferences in Search-Based Software Engineering:
PPTX
Implementing Operations to combine Feature Models: The Partial lntersection Case
PDF
Begin at the beginning: Feature selection for Big Data by Amparo Alonso at Bi...
PDF
TEFSE05.ppt
PDF
Mahout Tutorial and Hands-on (version 2015)
PDF
(Structural) Feature Interactions for Variability-Intensive Systems Testing
PDF
Tools and Methods for Continuously Expanding Software Applications
PDF
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
PDF
L5. Data Transformation and Feature Engineering
PPTX
On the Value of User Preferences in Search-Based Software Engineering
PDF
Comparing or Configuring Products: Are We Getting the Right Ones? (VaMoS 2014)
PDF
Synthesis of Attributed Feature Models From Product Descriptions
PDF
Vivarana fyp report
PPT
Mining Features from the Object-Oriented Source Code of a Collection of Softw...
PPT
HYbrid semantic and fuzzy approaches to context-aware PERsonalisation
PDF
Tutorial Mahout - Recommendation
PDF
Models2013 tutorial-smart featuremodeling-final
Software variability management - 2019
On the Value of User Preferences in Search-Based Software Engineering:
Implementing Operations to combine Feature Models: The Partial lntersection Case
Begin at the beginning: Feature selection for Big Data by Amparo Alonso at Bi...
TEFSE05.ppt
Mahout Tutorial and Hands-on (version 2015)
(Structural) Feature Interactions for Variability-Intensive Systems Testing
Tools and Methods for Continuously Expanding Software Applications
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
L5. Data Transformation and Feature Engineering
On the Value of User Preferences in Search-Based Software Engineering
Comparing or Configuring Products: Are We Getting the Right Ones? (VaMoS 2014)
Synthesis of Attributed Feature Models From Product Descriptions
Vivarana fyp report
Mining Features from the Object-Oriented Source Code of a Collection of Softw...
HYbrid semantic and fuzzy approaches to context-aware PERsonalisation
Tutorial Mahout - Recommendation
Models2013 tutorial-smart featuremodeling-final
Ad

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

PDF
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
PDF
Embracing Deep Variability For Reproducibility and Replicability
PDF
Deep Software Variability and Frictionless Reproducibility
PDF
A Demonstration of End-User Code Customization Using Generative AI
PDF
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
PDF
On Programming Variability with Large Language Model-based Assistant
PDF
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
PDF
Tackling Deep Software Variability Together
PDF
On anti-cheating in chess, science, reproducibility, and variability
PDF
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
PDF
Machine Learning and Deep Software Variability
PDF
Mastering Software Variability for Innovation and Science
PDF
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
PDF
Reproducible Science and Deep Software Variability
PDF
Software Variability and Artificial Intelligence
PDF
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
PDF
Assessing Product Line Derivation Operators Applied to Java Source Code: An E...
PDF
Pandoc: a universal document converter
PDF
Metamorphic Domain-Specific Languages
PDF
3D Printing, Customization, and Product Lines
Teaching Reproducibility and Embracing Variability: From Floating-Point Exper...
Embracing Deep Variability For Reproducibility and Replicability
Deep Software Variability and Frictionless Reproducibility
A Demonstration of End-User Code Customization Using Generative AI
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
On Programming Variability with Large Language Model-based Assistant
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Tackling Deep Software Variability Together
On anti-cheating in chess, science, reproducibility, and variability
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Machine Learning and Deep Software Variability
Mastering Software Variability for Innovation and Science
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Reproducible Science and Deep Software Variability
Software Variability and Artificial Intelligence
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
Assessing Product Line Derivation Operators Applied to Java Source Code: An E...
Pandoc: a universal document converter
Metamorphic Domain-Specific Languages
3D Printing, Customization, and Product Lines
Ad

Recently uploaded (20)

PPTX
The KM-GBF monitoring framework – status & key messages.pptx
PPT
protein biochemistry.ppt for university classes
PPTX
Cell Membrane: Structure, Composition & Functions
PDF
Placing the Near-Earth Object Impact Probability in Context
PPTX
Protein & Amino Acid Structures Levels of protein structure (primary, seconda...
PDF
The scientific heritage No 166 (166) (2025)
PDF
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
PDF
AlphaEarth Foundations and the Satellite Embedding dataset
PPTX
Introduction to Fisheries Biotechnology_Lesson 1.pptx
PPTX
microscope-Lecturecjchchchchcuvuvhc.pptx
PDF
ELS_Q1_Module-11_Formation-of-Rock-Layers_v2.pdf
PPTX
ognitive-behavioral therapy, mindfulness-based approaches, coping skills trai...
PPTX
G5Q1W8 PPT SCIENCE.pptx 2025-2026 GRADE 5
PPTX
famous lake in india and its disturibution and importance
PDF
Sciences of Europe No 170 (2025)
PDF
SEHH2274 Organic Chemistry Notes 1 Structure and Bonding.pdf
PPTX
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
PDF
An interstellar mission to test astrophysical black holes
PPTX
2. Earth - The Living Planet Module 2ELS
PDF
Biophysics 2.pdffffffffffffffffffffffffff
The KM-GBF monitoring framework – status & key messages.pptx
protein biochemistry.ppt for university classes
Cell Membrane: Structure, Composition & Functions
Placing the Near-Earth Object Impact Probability in Context
Protein & Amino Acid Structures Levels of protein structure (primary, seconda...
The scientific heritage No 166 (166) (2025)
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
AlphaEarth Foundations and the Satellite Embedding dataset
Introduction to Fisheries Biotechnology_Lesson 1.pptx
microscope-Lecturecjchchchchcuvuvhc.pptx
ELS_Q1_Module-11_Formation-of-Rock-Layers_v2.pdf
ognitive-behavioral therapy, mindfulness-based approaches, coping skills trai...
G5Q1W8 PPT SCIENCE.pptx 2025-2026 GRADE 5
famous lake in india and its disturibution and importance
Sciences of Europe No 170 (2025)
SEHH2274 Organic Chemistry Notes 1 Structure and Bonding.pdf
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
An interstellar mission to test astrophysical black holes
2. Earth - The Living Planet Module 2ELS
Biophysics 2.pdffffffffffffffffffffffffff

From Basic Variability Models to OpenCompare.org

  • 1. From  Basic  Variability  Models     to     OpenCompare.org    
  • 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
  • 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"]  
  • 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  
  • 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)  
  • 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)  
  • 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   …    
  • 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 ;-)
  • 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> |-
  • 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