Applying graph kernels to model-driven engineering problems

Machine Learning (ML) can be used to analyze and classify large collections of graph-based information, e.g. images, location information, the structure of molecules and proteins, ... Graph kernels is one of the ML techniques typically used for such tasks. In a software engineering context, models of a system such as structural or architectural diagrams can be viewed as labeled graphs. Thus, in this paper we propose to employ graph kernels for clustering software modeling artifacts. Among other benefits, this would improve the efficiency and usability of a variety of software modeling activities, e.g., design space exploration, testing or verification and validation.

[1]  Richard F. Paige,et al.  Different models for model matching: An analysis of approaches to support model differencing , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[2]  S. V. N. Vishwanathan,et al.  Graph kernels , 2007 .

[3]  Kaspar Riesen,et al.  Graph Classification Based on Vector Space Embedding , 2009, Int. J. Pattern Recognit. Artif. Intell..

[4]  Udo Kelter,et al.  Consistency-preserving edit scripts in model versioning , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[5]  Karim O. Elish,et al.  Predicting defect-prone software modules using support vector machines , 2008, J. Syst. Softw..

[6]  Önder Babur,et al.  Using n-grams for the Automated Clustering of Structural Models , 2017, SOFSEM.

[7]  Kurt Mehlhorn,et al.  Weisfeiler-Lehman Graph Kernels , 2011, J. Mach. Learn. Res..

[8]  Jordi Cabot,et al.  On the verification of UML/OCL class diagrams using constraint programming , 2014, J. Syst. Softw..

[9]  Jeffrey G. Gray,et al.  A Testing Framework for Model Transformations , 2005, Model-Driven Software Development.

[10]  Roberto Erick Lopez-Herrejon,et al.  Discovering Software Architectures with Search-Based Merge of UML Model Variants , 2017, ICSR.

[11]  Jordi Cabot,et al.  Verification of UML/OCL Class Diagrams using Constraint Programming , 1899, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

[12]  Darko Marinov,et al.  Balancing trade-offs in test-suite reduction , 2014, SIGSOFT FSE.

[13]  Mahantapas Kundu,et al.  The journey of graph kernels through two decades , 2018, Comput. Sci. Rev..

[14]  Jure Leskovec,et al.  node2vec: Scalable Feature Learning for Networks , 2016, KDD.

[15]  Kathi Fisler,et al.  Aluminum: Principled scenario exploration through minimality , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[16]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[17]  S. M. García,et al.  2014: , 2020, A Party for Lazarus.

[18]  Christian Bird,et al.  Diversity in software engineering research , 2013, ESEC/FSE 2013.

[19]  Jordi Cabot,et al.  Formal verification of static software models in MDE: A systematic review , 2014, Inf. Softw. Technol..

[20]  Karsten M. Borgwardt,et al.  graphkernels: R and Python packages for graph comparison , 2017, Bioinform..

[21]  Charu C. Aggarwal,et al.  A Survey of Clustering Algorithms for Graph Data , 2010, Managing and Mining Graph Data.

[22]  Oszkár Semeráth,et al.  Iterative Generation of Diverse Models for Testing Specifications of DSL Tools , 2018, FASE.

[23]  Hong Cheng,et al.  Graph Clustering Based on Structural/Attribute Similarities , 2009, Proc. VLDB Endow..

[24]  Juri Di Rocco,et al.  Automated Clustering of Metamodel Repositories , 2016, CAiSE.

[25]  Charu C. Aggarwal,et al.  Graph Clustering , 2010, Encyclopedia of Machine Learning and Data Mining.

[26]  James R. Cordy,et al.  A Survey of Model Comparison Approaches and Applications , 2013, MODELSWARD.