ABSTRACT
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.
- {n. d.}. EMF Compare. https://www.eclipse.org/emf/compare/.Google Scholar
- {n. d.}. EMF Diff/Merge. https://www.eclipse.org/diffmerge/.Google Scholar
- {n. d.}. igraph - The network analysis package. http://igraph.org/.Google Scholar
- Charu C. Aggarwal and Haixun Wang. 2010. A Survey of Clustering Algorithms for Graph Data. Springer, Boston, MA, 275–301. 978-1-4419-6045-0{_}9Google Scholar
- Wesley K. G. Assunção, Silvia R. Vergilio, and Roberto E. Lopez-Herrejon. 2017. Discovering Software Architectures with Search-Based Merge of UML Model Variants. In ICSR 2017: Mastering Scale and Complexity in Software Reuse. Springer, Cham, 95–111.Google Scholar
- Onder Babur and Loek Cleophas. 2017. Using n-grams for the Automated Clustering of Structural Models. In SOFSEM 2017: Theory and Practice of Computer Science. Springer, 510–524.Google ScholarCross Ref
- Francesco Basciani, Juri Di Rocco, Davide Di Ruscio, Ludovico Iovino, and Alfonso Pierantonio. 2016. Automated Clustering of Metamodel Repositories. In CAiSE 2016: Advanced Information Systems Engineering. Springer, Cham, 342–358.Google Scholar
- Marco Brambilla, Jordi Cabot, and Manuel Wimmer. 2012. Model-Driven Software Engineering in Practice. Vol. 1. Morgan & Claypool Publishers. 1–182 pages. Google ScholarDigital Library
- J. Cabot, R. Clarisó, and D. Riera. 2014. On the verification of UML/OCL class diagrams using constraint programming. Journal of Systems and Software 93 (7 2014), 1–23. http://www.sciencedirect.com/science/article/pii/S0164121214000739Google Scholar
- Karim O. Elish and Mahmoud O. Elish. 2008. Predicting defect-prone software modules using support vector machines. Journal of Systems and Software 81, 5 (5 2008), 649–660. Google ScholarDigital Library
- Adel Ferdjoukh, Florian Galinier, Eric Bourreau, Annie Chateau, and ClÃľmentine Nebut. 2017. Measuring Differences to Compare sets of Models and Improve Diversity in MDE. In ICSEA, International Conference on Software Engineering Advances. http://adel-ferdjoukh.ovh/wp-content/uploads/pdf/icsea17-distances-v9.pdfGoogle Scholar
- Swarnendu Ghosh, Nibaran Das, Teresa Gonçalves, Paulo Quaresma, and Mahantapas Kundu. 2018. The journey of graph kernels through two decades. Computer Science Review 27 (2 2018), 88–111. Applying Graph Kernels to Model-Driven Engineering Problems MASES ’18, September 3, 2018, Montpellier, FranceGoogle Scholar
- Carlos A. González and Jordi Cabot. 2014. Formal verification of static software models in MDE: A systematic review. Information and Software Technology 56, 8 (8 2014), 821–838. http://www.sciencedirect.com/science/article/pii/ S0950584914000627Google Scholar
- Aditya Grover and Jure Leskovec. 2016. node2vec: Scalable Feature Learning for Networks. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. http://arxiv.org/abs/1607.00653 Google ScholarDigital Library
- Timo Kehrer, Udo Kelter, and Gabriele Taentzer. 2013. Consistency-preserving edit scripts in model versioning. In 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 191–201. 1109/ASE.2013.6693079 Google ScholarDigital Library
- Dimitrios S. Kolovos, Davide Di Ruscio, Alfonso Pierantonio, and Richard F. Paige. 2009. Different models for model matching: An analysis of approaches to support model differencing. In 2009 ICSE Workshop on Comparison and Versioning of Software Models. IEEE, 1–6. Google ScholarDigital Library
- Yuehua Lin, Jing Zhang, and Jeff Gray. 2005. A Testing Framework for Model Transformations. In Model-Driven Software Development. Springer-Verlag, Berlin/Heidelberg, 219–236.Google Scholar
- Meiyappan Nagappan, Thomas Zimmermann, and Christian Bird. 2013. Diversity in software engineering research. In Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. ACM Press, New York, New York, USA, 466. Google ScholarDigital Library
- Tim Nelson, Salman Saghafi, Daniel J. Dougherty, Kathi Fisler, and Shriram Krishnamurthi. 2013. Aluminum: Principled scenario exploration through minimality. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 232–241. Google ScholarDigital Library
- David Notkin, Betty H.C. Cheng, Klaus Pohl, MichaÅĆ IEEE Computer Society., Institute of Electrical, Zinovy Electronics Engineers., Andrzej Wa¸sowski, and Derek Rayside. 2013. Example-driven modeling: model = abstractions + examples. In Proceedings of the 2013 International Conference on Software Engineering. IEEE Press, 1273–1276. Google ScholarDigital Library
- https://dl.acm.org/citation.cfm?id=2486982Google Scholar
- Kaspar Riesen and Horst Bunke. 2009. Graph classification based on vector space embedding. International Journal of Pattern Recognition and Artificial Intelligence 23, 06 (9 2009), 1053–1081.Google ScholarCross Ref
- Satu Elisa Schaeffer. 2007. Graph clustering. Computer Science Review 1, 1 (8 2007), 27–64.Google ScholarDigital Library
- OszkÃąr Semeráth and DÃąniel Varró. 2018. Iterative Generation of Diverse Models for Testing Specifications of DSL Tools. In FASE 2018: Fundamental Approaches to Software Engineering. Springer, Cham, 227–245. 1007/978-3-319-89363-1{_}13Google Scholar
- Nino Shervashidze, Pascal Schweitzer, Erik Jan van Leeuwen, Kurt Mehlhorn, and Karsten M. Borgwardt. 2001. Weisfeiler-Lehman Graph Kernels. The Journal of Machine Learning Research 12 (2001), 2539–2561. Google ScholarDigital Library
- https://dl.acm.org/citation. cfm?id=2078187Google Scholar
- August Shi, Alex Gyori, Milos Gligoric, Andrey Zaytsev, and Darko Marinov. 2014. Balancing trade-offs in test-suite reduction. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering - FSE 2014. ACM Press, New York, New York, USA, 246–256. 2635868.2635921 Google ScholarDigital Library
- Matthew Stepahn and James R. Cordy. 2013. A Survey of Model Comparison Approaches and Applications. In Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development. SciTePress - Science and and Technology Publications, 265–277.Google Scholar
- Mahito Sugiyama, M Elisabetta Ghisu, Felipe Llinares-López, and Karsten Borgwardt. 2018. graphkernels: R and Python packages for graph comparison. Bioinformatics 34, 3 (2 2018), 530–532.Google Scholar
- S.V.N. Vishwanathan, Nicol N. Schraudolph, Risi Kondor, and Karsten M. Borgwardt. 2010. Graph Kernels. Journal of Machine Learning Research 11, Apr (2010), 1201–1242. http://www.jmlr.org/papers/v11/vishwanathan10a.html Google ScholarDigital Library
Index Terms
- Applying graph kernels to model-driven engineering problems
Recommendations
Model-driven engineering
During the last decade a new trend of approaches has emerged, which considers models not just documentation artefacts, but also central artefacts in the software engineering field, allowing the creation or automatic execution of software systems ...
Model-driven engineering with domain-specific meta-modelling languages
Domain-specific modelling languages are normally defined through general-purpose meta-modelling languages like the MOF. While this is satisfactory for many model-driven engineering (MDE) projects, several researchers have identified the need for domain-...
Hadamard Code Graph Kernels for Classifying Graphs
ICPRAM 2016: Proceedings of the 5th International Conference on Pattern Recognition Applications and MethodsKernel methods such as Support Vector Machines (SVMs) are becoming increasingly popular because of their high performance on graph classification problems. In this paper, we propose two novel graph kernels called the Hadamard Code Kernel (HCK) and the ...
Comments