From	
  Basic	
  Variability	
  Models	
  	
  
to	
  	
  
OpenCompare.org	
  
	
  
Architectural/
Component	
  	
  
Models	
  
	
  
	
  
Dependencies	
  
Files	
  
Web	
  
Configurators	
  
Source	
  
Code	...
Or
Xor
Mandatory
Optional
not, and, or, implies
Variability Models (feature models)
Variants of code (e.g., Java or C)
Var...
Mining/Extracting
Encoding/Formalizing
Synthesising
Agenda (the journey)
from basic variability models to opencompare.org
•  Mining Variability
•  From Feature Models to Prod...
8	
  
11	
  
«	
  Extrac+on	
  and	
  Evolu+on	
  of	
  Architectural	
  Variability	
  Models	
  in	
  Plugin-­‐based	
  System...
12	
  
«	
  Feature	
  Model	
  Extrac+on	
  from	
  Large	
  Collec+ons	
  of	
  Informal	
  Product	
  Descrip+ons	
  »	...
13	
  
“Reverse	
  Engineering	
  Web	
  Configurators”	
  Ebrahim	
  Khalil	
  Abbasi,	
  Mathieu	
  Acher,	
  Patrick	
  ...
Guillaume	
  Bécan,	
  Mathieu	
  Acher,	
  Jean-­‐Marc	
  Jézéquel,	
  and	
  Thomas	
  Menguy.	
  On	
  the	
  Variabili...
Feature	
  Models	
  	
  
(defacto	
  standard	
  for	
  modeling	
  variability)	
  
16	
  
Hierarchy:	
  rooted	
  tree	...
17	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
{CarEquipment,	
  Comfort,	
...
18	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
{CarEquipment,	
  Comfort,	
...
19	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
Optional
Mandatory
Xor-Group...
20	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
Optional
Mandatory
Xor-Group...
21	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
Optional
Mandatory
Xor-Group...
22	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
Optional
Mandatory
Xor-Group...
23	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
Optional
Mandatory
Xor-Group...
24	
  
Hierarchy	
  +	
  Variability	
  	
  
=	
  	
  
set	
  of	
  valid	
  configuraHons	
  
{CarEquipment,	
  Comfort,	
...
 (FeAture	
  Model	
  scrIpt	
  Language	
  for	
  manIpula+on	
  and	
  Automa+c	
  Reasoning)	
  	
  
imporHng,	
  expor...
φ
(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...
φ
For	
  a	
  given	
  configuraHon	
  set,	
  	
  
	
  
many	
  (maximal)	
  feature	
  diagrams	
  	
  
	
  
with	
  differe...
For	
  a	
  given	
  configuraHon	
  set,	
  many	
  (maximal)	
  feature	
  diagrams	
  with	
  
different	
  ontological	
...
Importance	
  of	
  ontological	
  semanHcs	
  (1)	
  
32	
  
Importance	
  of	
  ontological	
  semanHcs	
  (2)	
  
33	
  
Importance	
  of	
  ontological	
  semanHcs	
  (3)	
  
34	
  
Communica+on	
  
Comprehension	
  
Forward	
  engineering	
 ...
35	
  
Two	
  product	
  configurators	
  generated	
  from	
  two	
  FMs	
  with	
  the	
  same	
  configuraHon	
  semanHcs...
Most	
  of	
  the	
  exisHng	
  approaches	
  neglect	
  either	
  
configuraHon	
  or	
  ontological	
  semanHcs.	
  
We	
...
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  Spanning	
  Tree	
  of	
  the	
  Binary	
  ImplicaHon	
  Graph	
  (BIG)	
 ...
38	
  
#0	
  OpHmum	
  branching	
  (Tarjan)	
  weighHng	
  edges	
  	
  
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  ...
39	
  
#1	
  Ranking	
  lists	
  best	
  parent	
  candidates	
  for	
  each	
  feature	
  
Fundamental	
  Problem	
  	
  ...
40	
  
#2	
  Clusters	
  ~possible	
  siblings	
  	
  
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  Spanning	
  Tree	
 ...
41	
  
#3	
  Cliques	
  ~bi-­‐implicaHons	
  
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  Spanning	
  Tree	
  of	
  th...
42	
  
#4	
  small	
  BIG	
  
	
  
Fundamental	
  Problem	
  	
  
SelecHng	
  a	
  Spanning	
  Tree	
  of	
  the	
  Binary...
43	
  
#4	
  reduced	
  BIG	
  
incomplete	
  but	
  dramaHcally	
  reduce	
  the	
  problem	
  
	
  
Fundamental	
  Probl...
Ontological	
  HeurisHcs	
  
•  For	
  op+mum	
  branching,	
  compu+ng	
  ranking	
  lists	
  and	
  
clusters	
  
–  ~	
...
WebFML	
  
45	
  
•  Dataset	
  
–  120+	
  feature	
  models	
  of	
  SPLOT	
  
–  30+	
  product	
  comparison	
  matrices	
  from	
  Wiki...
•  Dataset	
  
–  120+	
  feature	
  models	
  of	
  SPLOT	
  
–  30+	
  product	
  comparison	
  matrices	
  from	
  Wiki...
•  One-­‐step	
  synthesis	
  is	
  far	
  from	
  the	
  ground	
  truth	
  
–  despite	
  state-­‐of-­‐the-­‐art	
  tech...
hVp://Hnyurl.com/
OntoFMExperiments	
  
49	
  
hVps://hal.inria.fr/hal-­‐01096969	
  
Support	
  and	
  Empirical	
  Study...
50	
  
Guillaume	
  Bécan,	
  Mathieu	
  Acher,	
  Benoit	
  Baudry,	
  and	
  Sana	
  Ben	
  Nasr.	
  Breathing	
  Ontolo...
Guillaume	
  Bécan,	
  Razieh	
  Behja+,	
  Arnaud	
  Gotlieb,	
  and	
  Mathieu	
  Acher.	
  Synthesis	
  of	
  Axributed...
Guillaume	
  Bécan,	
  Razieh	
  Behja+,	
  Arnaud	
  Gotlieb,	
  and	
  Mathieu	
  Acher.	
  Synthesis	
  of	
  Axributed...
Jean-­‐Marc	
  Davril,	
  Mathieu	
  Acher,	
  Guillaume	
  Bécan,	
  and	
  Patrick	
  Heymans.	
  Towards	
  Breaking	
 ...
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	...
Guillaume	
  Bécan,	
  Nicolas	
  Sannier,	
  Mathieu	
  Acher,	
  Olivier	
  Barais,	
  Arnaud	
  Blouin,	
  and	
  Benoi...
Product Comparison Matrix (PCM)
•  Initial points: VaMoS’12 (VariCell), ASE’13 (we coined
the term), VaMoS’14 (comparators...
Evaluation
Automating the Formalization of Product Comparison Matrices - 68
Experimental settings:
•  75 Wikipedia pages
•...
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 69
Experimental settings:
•  Evaluated by 20 pers...
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 70
RQ1: How to formalize data contained in PCMs?
...
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 71
RQ2: How to automate the formalization of PCMs...
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 72
RQ3: What kind of tools and services can be bu...
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 73
Providing guidance during edition or refactori...
Evaluation
Automating the Formalization of
Product Comparison Matrices
- 74
Metamodel
•  Feature/product oriented
•  Clear...
Let us do it seriously ;-)
OpenCompare.org
standard format
collaborative edition
import/export of numerous formats
embeddable editor
open source
open...
Current case study: Wikipedia
Import
Export
Edit
|-
! {{rh}} | [[KickassTorrents]]
| {{yes|None}}
| {{no}}
| {{yes}}
| {{n...
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 ...
Future Work
•  Synthesis of Feature Models
– scalability, expressiveness, readability,
usefullness
•  Comparison Matrices
...
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
Prochain SlideShare
Chargement dans…5
×

From Basic Variability Models to OpenCompare.org

764 vues

Publié le

Variability is omnipresent in numerous kinds of artefacts (e.g., source code, product matrices) and in different shapes (e.g., conditional compilation, differences among product descriptions). For understanding, reasoning about, maintaining or evolving variability, practitioners usually need an explicit encoding of variability (ie a variability model). As a result, numerous techniques have been developed to reverse engineer variability (e.g., through the mining of features and constraints from source code) or for migrating a set of products as a variability system. In this talk we will first present tool-supported techniques for synthesizing variability models from constraints or product descriptions.
Practitioners can build Boolean feature models with an interactive environment for selecting a meaningful and sound hierarchy.
Attributes can also be synthesized for encoding numerical values and constraints among them.
We will present key results we obtain through experiments with the SPLOT repository and product comparison matrices coming from Wikipedia and BestBuy.
Finally we will introduce OpenCompare.org a recent initiative for editing, reasoning, and mining product comparison matrices.

This talk has been done at REVE'15 workshop co-located with SPLC'15 (software product line conference): http://www.isse.jku.at/reve2015/program.html

Publié dans : Sciences
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
764
Sur SlideShare
0
Issues des intégrations
0
Intégrations
45
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

From Basic Variability Models to OpenCompare.org

  1. 1. From  Basic  Variability  Models     to     OpenCompare.org    
  2. 2. 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      
  3. 3. 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
  4. 4. Mining/Extracting Encoding/Formalizing Synthesising
  5. 5. 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
  6. 6. 8  
  7. 7. 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  
  8. 8. 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)  
  9. 9. 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)  
  10. 10. 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"]  
  11. 11. 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
  12. 12. 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
  13. 13. 18   Hierarchy  +  Variability     =     set  of  valid  configuraHons   {CarEquipment,  Comfort,  DrivingAndSafety,  Healthing,  AirCondi+oning}   configuraHon  =  set  of  features  selected   Optional Mandatory Xor-Group Or-Group
  14. 14. 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   ü   ü   ü   ü   ü   ü  
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. 24   Hierarchy  +  Variability     =     set  of  valid  configuraHons   {CarEquipment,  Comfort,  DrivingAndSafety,  Healthing,  AirCondi+oning}   configuraHon  =  set  of  features  selected   Optional Mandatory Xor-Group Or-Group
  20. 20.  (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  
  21. 21. φ (Boolean)     Feature  Models   (Boolean)     Product  Comparison  Matrix   (Boolean)   Formula  
  22. 22. Or Xor Mandatory Optional not, and, or, implies Variability Models (feature models) Mining/Extracting Encoding/Formalizing Synthesising
  23. 23. φ
  24. 24. 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  
  25. 25. 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  
  26. 26. Importance  of  ontological  semanHcs  (1)   32  
  27. 27. Importance  of  ontological  semanHcs  (2)   33  
  28. 28. Importance  of  ontological  semanHcs  (3)   34   Communica+on   Comprehension   Forward  engineering  (e.g.,  genera+on)  
  29. 29. 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)  
  30. 30. Most  of  the  exisHng  approaches  neglect  either   configuraHon  or  ontological  semanHcs.   We  want  both!   36   φ  
  31. 31. Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)   37  
  32. 32. 38   #0  OpHmum  branching  (Tarjan)  weighHng  edges     Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  33. 33. 39   #1  Ranking  lists  best  parent  candidates  for  each  feature   Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  34. 34. 40   #2  Clusters  ~possible  siblings     Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  35. 35. 41   #3  Cliques  ~bi-­‐implicaHons   Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  36. 36. 42   #4  small  BIG     Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  37. 37. 43   #4  reduced  BIG   incomplete  but  dramaHcally  reduce  the  problem     Fundamental  Problem     SelecHng  a  Spanning  Tree  of  the  Binary  ImplicaHon  Graph  (BIG)  
  38. 38. 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!  
  39. 39. WebFML   45  
  40. 40. •  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  
  41. 41. •  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    
  42. 42. •  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    
  43. 43. hVp://Hnyurl.com/ OntoFMExperiments   49   hVps://hal.inria.fr/hal-­‐01096969   Support  and  Empirical  Study  (3)  
  44. 44. 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)  
  45. 45. 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)  
  46. 46. 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)  
  47. 47. 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   …    
  48. 48. Mining/Extracting Encoding/Formalizing Synthesising
  49. 49. Choose  your  BEST  Laptop..   Values   ?   Differences   ?   CommonaliHes   AlternaHves   ? Features     ?  
  50. 50. Manual  case-­‐by-­‐case  review  of  each   product  L     Manually  idenHfying   features  
  51. 51. 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/  
  52. 52. 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)  
  53. 53. 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)
  54. 54. 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
  55. 55. Evaluation Automating the Formalization of Product Comparison Matrices - 69 Experimental settings: •  Evaluated by 20 persons (researchers and engineers) •  Online editor
  56. 56. 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
  57. 57. 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
  58. 58. 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
  59. 59. 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?
  60. 60. 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
  61. 61. Let us do it seriously ;-)
  62. 62. 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)
  63. 63. 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> |-
  64. 64. Mining/Extracting Encoding/Formalizing Synthesising
  65. 65. 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
  66. 66. Future Work •  Synthesis of Feature Models – scalability, expressiveness, readability, usefullness •  Comparison Matrices – Mining everything – Synthesis – Reasoning •  The link between the two •  OpenCompare.org

×