Automating the formalization of product comparison matrices

Product Comparison Matrices (PCMs) form a rich source of data for comparing a set of related and competing products over numerous features. Despite their apparent simplicity, PCMs contain heterogeneous, ambiguous, uncontrolled and partial information that hinders their efficient exploitations. In this paper, we formalize PCMs through model-based automated techniques and develop additional tooling to support the edition and re-engineering of PCMs. 20 participants used our editor to evaluate the PCM metamodel and automated transformations. The results over 75 PCMs from Wikipedia show that (1) a significant proportion of the formalization of PCMs can be automated -- 93.11% of the 30061 cells are correctly formalized; (2) the rest of the formalization can be realized by using the editor and mapping cells to existing concepts of the metamodel. The automated approach opens avenues for engaging a community in the mining, re-engineering, edition, and exploitation of PCMs that now abound on the Internet.

[1]  Gregor Engels,et al.  ClassSheets: automatic generation of spreadsheet applications from object-oriented specifications , 2005, ASE '05.

[2]  Hugo Ribeiro,et al.  Towards a Catalog of Spreadsheet Smells , 2012, ICCSA.

[3]  Martin Erwig,et al.  Type inference for spreadsheets , 2006, PPDP '06.

[4]  Richard F. Paige,et al.  Adding Spreadsheets to the MDE Toolkit , 2013, MoDELS.

[5]  Michal Antkiewicz,et al.  Effects of using examples on structural model comprehension: a controlled experiment , 2014, ICSE.

[6]  Aurora Vizcaíno,et al.  Collaboration Tools for Global Software Engineering , 2010, IEEE Software.

[7]  Juan de Lara,et al.  Bottom-up meta-modelling: an interactive approach , 2012, MODELS'12.

[8]  David G. Hendry,et al.  Creating, comprehending and explaining spreadsheets: a cognitive interpretation of what discretionary users think of the spreadsheet model , 1994, Int. J. Hum. Comput. Stud..

[9]  Benoît Combemale,et al.  Automatically Searching for Metamodel Well-Formedness Rules in Examples and Counter-Examples , 2013, MoDELS.

[10]  Eelco Visser,et al.  DSL Engineering - Designing, Implementing and Using Domain-Specific Languages , 2013 .

[11]  Steven Kelly,et al.  Worst Practices for Domain-Specific Modeling , 2009, IEEE Software.

[12]  Nikita Joshi,et al.  The Art of Choosing , 2016 .

[13]  Mathieu Acher,et al.  Breathing Ontological Knowledge Into Feature Model Management , 2013 .

[14]  Arie van Deursen,et al.  Supporting professional spreadsheet users by generating leveled dataflow diagrams , 2010, 2011 33rd International Conference on Software Engineering (ICSE).

[15]  Jordi Cabot,et al.  Discovering Implicit Schemas in JSON Data , 2013, ICWE.

[16]  Krzysztof Czarnecki,et al.  Efficient synthesis of feature models , 2012, SPLC '12.

[17]  Faizan Javed,et al.  MARS: A metamodel recovery system using grammar inference , 2008, Inf. Softw. Technol..

[18]  Arie van Deursen,et al.  Detecting and visualizing inter-worksheet smells in spreadsheets , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[19]  EbertChristof,et al.  Collaboration Tools for Global Software Engineering , 2010 .

[20]  Michal Antkiewicz,et al.  Example-Driven Modeling: Model = Abstractions + Examples , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[21]  Arie van Deursen,et al.  Detecting code smells in spreadsheet formulas , 2011, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[22]  Jácome Cunha,et al.  Type-Safe Evolution of Spreadsheets , 2011, FASE.

[23]  Raymond R. Panko,et al.  Thinking is Bad: Implications of Human Error Research for Spreadsheet Research and Practice , 2008, ArXiv.

[24]  Serge Abiteboul,et al.  Inferring structure in semistructured data , 1997, SGMD.

[25]  Martin Erwig,et al.  UCheck: A spreadsheet type checker for end users , 2007, J. Vis. Lang. Comput..

[26]  Martin Erwig,et al.  Automatic detection of dimension errors in spreadsheets , 2009, J. Vis. Lang. Comput..

[27]  Jácome Cunha,et al.  Automatically Inferring ClassSheet Models from Spreadsheets , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[28]  Krzysztof Czarnecki,et al.  A survey of variability modeling in industrial practice , 2013, VaMoS.

[29]  Mathieu Acher,et al.  From comparison matrix to Variability Model: The Wikipedia case study , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[30]  Hideki Tai,et al.  Controlled modeling environment using flexibly-formatted spreadsheets , 2014, ICSE.

[31]  Jane Cleland-Huang,et al.  Supporting Domain Analysis through Mining and Recommending Features from Online Product Listings , 2013, IEEE Transactions on Software Engineering.

[32]  Jácome Cunha,et al.  MDSheet: A framework for model-driven spreadsheet engineering , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[33]  Jordi Cabot,et al.  Enabling the Collaborative Definition of DSMLs , 2013, CAiSE.

[34]  Mathieu Acher,et al.  Feature model extraction from large collections of informal product descriptions , 2013, ESEC/FSE 2013.

[35]  Arie van Deursen,et al.  Automatically Extracting Class Diagrams from Spreadsheets , 2010, ECOOP.

[36]  Gabor Karsai,et al.  Design Guidelines for Domain Specific Languages , 2014, ArXiv.

[37]  Juan de Lara,et al.  Example-driven meta-model development , 2015, Software & Systems Modeling.

[38]  Mathieu Acher,et al.  Comparing or configuring products: are we getting the right ones? , 2014, VaMoS.

[39]  Jun Wei,et al.  Is spreadsheet ambiguity harmful? detecting and repairing spreadsheet smells due to ambiguous computation , 2014, ICSE.