{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,8]],"date-time":"2026-06-08T23:03:30Z","timestamp":1780959810967,"version":"3.54.1"},"reference-count":43,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2022,3,29]],"date-time":"2022-03-29T00:00:00Z","timestamp":1648512000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2022,3,29]],"date-time":"2022-03-29T00:00:00Z","timestamp":1648512000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"name":"CROSSMINER","award":["False"],"award-info":[{"award-number":["False"]}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Softw Syst Model"],"published-print":{"date-parts":[[2023,2]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Model-driven engineering has been widely applied in software development, aiming to facilitate the coordination among various stakeholders. Such a methodology allows for a more efficient and effective development process. Nevertheless, modeling is a strenuous activity that requires proper knowledge of components, attributes, and logic to reach the level of abstraction required by the application domain. In particular, metamodels play an important role in several paradigms, and specifying wrong entities or attributes in metamodels can negatively impact on the quality of the produced artifacts as well as other elements of the whole process. During the metamodeling phase, modelers can benefit from assistance to avoid mistakes, e.g., getting recommendations like metaclasses and structural features relevant to the metamodel being defined. However, suitable machinery is needed to mine data from repositories of existing modeling artifacts and compute recommendations. In this work, we propose MemoRec, a novel approach that makes use of a collaborative filtering strategy to recommend valuable entities related to the metamodel under construction. Our approach can provide suggestions related to both metaclasses and structured features that should be added in the metamodel under definition. We assess the quality of the work with respect to different metrics, i.e., success rate, precision, and recall. The results demonstrate that MemoRec is capable of suggesting relevant items given a partial metamodel and supporting modelers in their task.<\/jats:p>","DOI":"10.1007\/s10270-022-00994-2","type":"journal-article","created":{"date-parts":[[2022,3,29]],"date-time":"2022-03-29T10:14:57Z","timestamp":1648548897000},"page":"203-223","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":20,"title":["MemoRec: a recommender system for assisting modelers in specifying metamodels"],"prefix":"10.1007","volume":"22","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7909-3902","authenticated-orcid":false,"given":"Juri","family":"Di\u00a0Rocco","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5077-6793","authenticated-orcid":false,"given":"Davide","family":"Di\u00a0Ruscio","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9872-9542","authenticated-orcid":false,"given":"Claudio","family":"Di\u00a0Sipio","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3666-4162","authenticated-orcid":false,"given":"Phuong T.","family":"Nguyen","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5231-3952","authenticated-orcid":false,"given":"Alfonso","family":"Pierantonio","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2022,3,29]]},"reference":[{"key":"994_CR1","unstructured":"Barriga, A., Rutle, A., Heldal, R.: Automatic model repair using reinforcement learning. In: Hebig R., Berger T. (eds.) Proceedings of MODELS 2018 Workshops co-located with ACM\/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS 2018), Copenhagen, Denmark, Volume 2245 of CEUR Workshop Proceedings, pp. 781\u2013786. CEUR-WS.org (2018)"},{"key":"994_CR2","doi-asserted-by":"crossref","unstructured":"Batot, E., Sahraoui, H.: A generic framework for model-set selection for the unification of testing and learning MDE tasks. In: Proceedings of the ACM\/IEEE 19th International Conference on Model Driven Engineering Languages and Systems-MODELS \u201916, Saint-malo, France, pp. 374\u2013384. ACM Press (2016)","DOI":"10.1145\/2976767.2976785"},{"key":"994_CR3","doi-asserted-by":"crossref","unstructured":"Breuker, D.: Towards model-driven engineering for big data analytics: an exploratory analysis of domain-specific languages for machine learning. In: 47th Hawaii International Conference on System Sciences, pp. 758\u2013767 (2014)","DOI":"10.1109\/HICSS.2014.101"},{"key":"994_CR4","doi-asserted-by":"crossref","unstructured":"Chen, A.: Context-aware collaborative filtering system: predicting the user\u2019s preference in the ubiquitous computing environment. In: First International Conference on Location- and Context-Awareness, pp. 244\u2013253. Springer, Berlin (2005)","DOI":"10.1007\/11426646_23"},{"key":"994_CR5","doi-asserted-by":"crossref","unstructured":"Di Rocco, J., Di Ruscio, D., Di Sipio, C., Nguyen, P., Rubei, R.: Topfilter: an approach to recommend relevant github topics. In: Proceedings of the 14th ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), ESEM \u201920, New York, NY, USA. Association for Computing Machinery (2020)","DOI":"10.1145\/3382494.3410690"},{"key":"994_CR6","doi-asserted-by":"crossref","unstructured":"Di Rocco, J., Di Ruscio, D., Di Sipio, C., Nguyen, P., Rubei, R.: Topfilter: an approach to recommend relevant github topics. In: Proceedings of the 14th ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), pp. 1\u201311 (2020)","DOI":"10.1145\/3382494.3410690"},{"issue":"4","key":"994_CR7","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/s10664-021-09963-7","volume":"26","author":"J Di Rocco","year":"2021","unstructured":"Di Rocco, J., Di Ruscio, D., Di Sipio, C., Nguyen, P.T., Rubei, R.: Development of recommendation systems for software engineering: the crossminer experience. Empir. Softw. Eng. 26(4), 1\u201340 (2021)","journal-title":"Empir. Softw. Eng."},{"key":"994_CR8","doi-asserted-by":"crossref","unstructured":"Di Rocco, J., Di Ruscio, D., Iovino, L., Pierantonio, A.: Mining metrics for understanding metamodel characteristics. In: Proceedings of the 6th International Workshop on Modeling in Software Engineering, MiSE 2014, New York, NY, USA, pp. 55\u201360. Association for Computing Machinery (2014)","DOI":"10.1145\/2593770.2593774"},{"key":"994_CR9","doi-asserted-by":"crossref","unstructured":"Di Rocco, J., Di Sipio, C., Di Ruscio, D., Nguyen, P.T.: A GNN-based recommender system to assist the specification of metamodels and models. In: ACM\/IEEE 24nd International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 1\u201311 (2021)","DOI":"10.1109\/MODELS50736.2021.00016"},{"key":"994_CR10","doi-asserted-by":"crossref","unstructured":"Di Sipio, C., Rubei, R., Di Ruscio, D., Nguyen, P.T.: A multinomial na\u00efve Bayesian (mnb) network to automatically recommend topics for github repositories. In: Proceedings of the Evaluation and Assessment in Software Engineering, EASE \u201920, New York, NY, USA, pp. 71\u201380. Association for Computing Machinery (2020)","DOI":"10.1145\/3383219.3383227"},{"key":"994_CR11","doi-asserted-by":"crossref","unstructured":"Dupont, G., Mustafiz, S., Khendek, F., Toeroe, M.: Building Domain-Specific Modelling Environments with Papyrus: An Experience Report, p. 8 (2018)","DOI":"10.1145\/3193954.3193962"},{"issue":"5","key":"994_CR12","doi-asserted-by":"publisher","first-page":"6","DOI":"10.9781\/ijimai.2015.351","volume":"3","author":"V Garc\u00eda-D\u00edaz","year":"2015","unstructured":"Garc\u00eda-D\u00edaz, V., Espada, J.P., Bustelo, B.C.P.G., Lovelle, J.M.C.: Towards a standard-based domain-specific platform to solve machine learning-based problems. IJIMAI 3(5), 6\u201312 (2015)","journal-title":"IJIMAI"},{"key":"994_CR13","unstructured":"Giannotti, F.: Explainable machine learning for trustworthy AI. In: Rocha A.P., Steels L., van den Herik H.J. (eds.) Proceedings of the 13th International Conference on Agents and Artificial Intelligence, ICAART 2021, vol. 1, Online Streaming, p. 11. SCITEPRESS (2021)"},{"key":"994_CR14","unstructured":"GitHub REST API v3. https:\/\/developer.github.com\/v3\/. Last accessed 16 June 2020"},{"key":"994_CR15","doi-asserted-by":"crossref","unstructured":"Goldsby, H.J., Cheng, B.H.: Avida-MDE: a digital evolution approach to generating models of adaptive software behavior. In: Proceedings of the 10th Annual Conference on Genetic and Evolutionary Computation-GECCO \u201908, Atlanta, GA, USA, pp. 1751. ACM Press (2008)","DOI":"10.1145\/1389095.1389434"},{"issue":"8","key":"994_CR16","doi-asserted-by":"publisher","first-page":"1735","DOI":"10.1162\/neco.1997.9.8.1735","volume":"9","author":"S Hochreiter","year":"1997","unstructured":"Hochreiter, S., Schmidhuber, J.: Long short-term memory. Neural Comput. 9(8), 1735\u20131780 (1997)","journal-title":"Neural Comput."},{"key":"994_CR17","unstructured":"Kim, K., Kim, D., Bissyand\u00e9, T.F., Choi, E., Li, L., Klein, J., Traon, Y.L.: Facoy: a code-to-code search engine. In: Proceedings of the 40th International Conference on Software Engineering-ICSE \u201918, Gothenburg, Sweden, pp. 946\u2013957. ACM Press (2018)"},{"key":"994_CR18","unstructured":"Kohavi, R., et al.: A study of cross-validation and bootstrap for accuracy estimation and model selection. In: Ijcai, Montreal, Canada, vol. 14, pp. 1137\u20131145 (1995)"},{"key":"994_CR19","doi-asserted-by":"crossref","unstructured":"Korotaev, A., Lyadova, L.: Method for the development of recommendation systems, customizable to domains, with deep GRU network. In: Proceedings of the 10th International Joint Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management, Seville, Spain, pp. 231\u2013236. SCITEPRESS - Science and Technology Publications (2018)","DOI":"10.5220\/0006933302310236"},{"issue":"2","key":"994_CR20","doi-asserted-by":"publisher","first-page":"300","DOI":"10.1007\/s10618-008-0118-x","volume":"18","author":"E Linstead","year":"2009","unstructured":"Linstead, E., Bajracharya, S., Ngo, T., Rigor, P., Lopes, C., Baldi, P.: Sourcerer: mining and searching internet-scale software repositories. Data Min. Knowl. Discov. 18(2), 300\u2013336 (2009)","journal-title":"Data Min. Knowl. Discov."},{"key":"994_CR21","doi-asserted-by":"crossref","unstructured":"Loepp, B., Herrmanny, K., Ziegler, J.: Blended recommending: integrating interactive information filtering and algorithmic recommender techniques. In: Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems-CHI \u201915, Seoul, Republic of Korea, pp. 975\u2013984. ACM Press (2015)","DOI":"10.1145\/2702123.2702496"},{"key":"994_CR22","doi-asserted-by":"crossref","unstructured":"L\u00f3pez, J.A.H., Cuadrado, J.S.: Mar: a structure-based search engine for models. In: Proceedings of the 23rd ACM\/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS \u201920, New York, NY, USA, pp. 57\u201367. Association for Computing Machinery (2020)","DOI":"10.1145\/3365438.3410947"},{"issue":"4","key":"994_CR23","doi-asserted-by":"publisher","first-page":"1323","DOI":"10.1007\/s10270-013-0392-y","volume":"14","author":"JJ L\u00f3pez-Fern\u00e1ndez","year":"2015","unstructured":"L\u00f3pez-Fern\u00e1ndez, J.J., Cuadrado, J.S., Guerra, E., de Lara, J.: Example-driven meta-model development. Softw. Syst. Model. 14(4), 1323\u20131347 (2015)","journal-title":"Softw. Syst. Model."},{"key":"994_CR24","doi-asserted-by":"publisher","first-page":"71","DOI":"10.1016\/j.scico.2019.05.003","volume":"180","author":"A Mora Segura","year":"2019","unstructured":"Mora Segura, A., de Lara, J.: Extremo an eclipse plugin for modelling and meta-modelling assistance. Sci. Comput. Program. 180, 71\u201380 (2019)","journal-title":"Sci. Comput. Program."},{"key":"994_CR25","doi-asserted-by":"crossref","unstructured":"Mussbacher, G., Combemale, B., Abrah\u00e3o, S., Bencomo, N., Burgue\u00f1o, L., Engels, G., Kienzle, J., K\u00fchn, T., Mosser, S., Sahraoui, H., Weyssow, M.: Towards an assessment grid for intelligent modeling assistance. In: Proceedings of the 23rd ACM\/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, MODELS \u201920, New York, NY, USA. Association for Computing Machinery (2020)","DOI":"10.1145\/3417990.3421396"},{"key":"994_CR26","unstructured":"Babur, \u00d6.: A labeled Ecore metamodel dataset for domain clustering. https:\/\/doi.org\/10.5281\/zenodo.2585456 (2019)"},{"key":"994_CR27","doi-asserted-by":"publisher","first-page":"110460","DOI":"10.1016\/j.jss.2019.110460","volume":"161","author":"PT Nguyen","year":"2019","unstructured":"Nguyen, P.T., Di Rocco, J., Di Ruscio, D., Di Penta, M.: CrossRec: supporting software developers by recommending third-party libraries. J. Syst. Softw. 161, 110460 (2019)","journal-title":"J. Syst. Softw."},{"key":"994_CR28","doi-asserted-by":"crossref","unstructured":"Nguyen, P.T., Di Rocco, J., Di Ruscio, D., Ochoa, L., Degueule, T., Di Penta, M.: FOCUS: a recommender system for mining api function calls and usage patterns. In: Proceedings of the 41st International Conference on Software Engineering, ICSE \u201919, Piscataway, NJ, USA, pp. 1050\u20131060. IEEE Press (2019)","DOI":"10.1109\/ICSE.2019.00109"},{"key":"994_CR29","doi-asserted-by":"crossref","unstructured":"Nguyen, P.T., Di Rocco, J., Di Ruscio, D., Pierantonio, A., Iovino, L.: Automated classification of metamodel repositories: a machine learning approach. In: ACM\/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 272\u2013282 (2019)","DOI":"10.1109\/MODELS.2019.00011"},{"key":"994_CR30","doi-asserted-by":"crossref","unstructured":"Nguyen, P.T., Di Rocco, J., Di Sipio, C., Di Ruscio, D., Di Penta, M.: Recommending api function calls and code snippets to support software development. IEEE Trans. Softw. Eng. 1\u20131 (2021)","DOI":"10.1109\/TSE.2021.3059907"},{"key":"994_CR31","doi-asserted-by":"publisher","first-page":"110860","DOI":"10.1016\/j.jss.2020.110860","volume":"172","author":"PT Nguyen","year":"2020","unstructured":"Nguyen, P.T., Di Ruscio, D., Pierantonio, A., Di Rocco, J., Iovino, L.: Convolutional neural networks for enhanced classification mechanisms of metamodels. J. Syst. Softw. 172, 110860 (2020)","journal-title":"J. Syst. Softw."},{"key":"994_CR32","unstructured":"Rabbi, F., Lamo, Y., Yu, I.C., Kristensen, L.M.: A diagrammatic approach to model completion. In: AMT@MoDELS (2015)"},{"key":"994_CR33","volume-title":"Recommendation Systems in Software Engineering","year":"2014","unstructured":"Robillard, M.P., Maalej, W., Walker, R.J., Zimmermann, T. (eds.): Recommendation Systems in Software Engineering. Springer, Berlin (2014)"},{"key":"994_CR34","doi-asserted-by":"publisher","first-page":"106367","DOI":"10.1016\/j.infsof.2020.106367","volume":"127","author":"R Rubei","year":"2020","unstructured":"Rubei, R., Di Sipio, C., Nguyen, P.T., Di Rocco, J., Di Ruscio, D.: Postfinder: mining stack overflow posts to support software developers. Inf. Softw. Technol. 127, 106367 (2020)","journal-title":"Inf. Softw. Technol."},{"key":"994_CR35","doi-asserted-by":"crossref","unstructured":"Sarwar, B., Karypis, G., Konstan, J., Riedl, J.: Item-based collaborative filtering recommendation algorithms. In: 10th International Conference on World Wide Web, pp. 285\u2013295. ACM, New York (2001)","DOI":"10.1145\/371920.372071"},{"key":"994_CR36","first-page":"291","volume-title":"Collaborative Filtering Recommender Systems","author":"JB Schafer","year":"2007","unstructured":"Schafer, J.B., Frankowski, D., Herlocker, J., Sen, S.: Collaborative Filtering Recommender Systems, pp. 291\u2013324. Springer, Berlin (2007)"},{"issue":"2","key":"994_CR37","doi-asserted-by":"publisher","first-page":"25","DOI":"10.1109\/MC.2006.58","volume":"39","author":"DC Schmidt","year":"2006","unstructured":"Schmidt, D.C.: Guest editor\u2019s introduction: model-driven engineering. Computer 39(2), 25\u201331 (2006)","journal-title":"Computer"},{"issue":"2","key":"994_CR38","doi-asserted-by":"publisher","first-page":"109","DOI":"10.1177\/0037549709340530","volume":"86","author":"S Sen","year":"2010","unstructured":"Sen, S., Baudry, B., Vangheluwe, H.: Towards domain-specific model editors with automatic model completion. Simulation 86(2), 109\u2013126 (2010)","journal-title":"Simulation"},{"key":"994_CR39","doi-asserted-by":"crossref","unstructured":"Solomon, J.: Heterogeneity in customization of recommender systems by users with homogenous preferences. In: Proceedings of the CHI Conference on Human Factors in Computing Systems, San Jose, California, USA, pp. 4166\u20134170. ACM (2016)","DOI":"10.1145\/2858036.2858513"},{"key":"994_CR40","volume-title":"EMF: Eclipse Modeling Framework","author":"D Steinberg","year":"2008","unstructured":"Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education, London (2008)"},{"key":"994_CR41","doi-asserted-by":"crossref","unstructured":"Stephan, M.: Towards a cognizant virtual software modeling assistant using model clones. In: IEEE\/ACM 41st International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER), pp. 21\u201324. IEEE (2019)","DOI":"10.1109\/ICSE-NIER.2019.00014"},{"key":"994_CR42","unstructured":"Sujeeth, A., Lee, H., Brown, K., Rompf, T., Chafi, H., Wu, M., Atreya, A., Odersky, M., Olukotun, K.: OptiML: an implicitly parallel domain-specific language for machine learning. In: Proceedings of the 28th International Conference on Machine Learning (ICML-11), pp. 609\u2013616 (2011)"},{"key":"994_CR43","doi-asserted-by":"crossref","unstructured":"Wang, K., Sullivan, A., Marinov, D., Khurshid, S.: Asketch: a sketching framework for alloy. In: Proceedings of the 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (2018)","DOI":"10.1145\/3236024.3264594"}],"container-title":["Software and Systems Modeling"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-022-00994-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10270-022-00994-2\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-022-00994-2.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,2,22]],"date-time":"2023-02-22T06:39:48Z","timestamp":1677047988000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10270-022-00994-2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,3,29]]},"references-count":43,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2023,2]]}},"alternative-id":["994"],"URL":"https:\/\/doi.org\/10.1007\/s10270-022-00994-2","relation":{},"ISSN":["1619-1366","1619-1374"],"issn-type":[{"value":"1619-1366","type":"print"},{"value":"1619-1374","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,3,29]]},"assertion":[{"value":"5 November 2020","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"2 November 2021","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"10 February 2022","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"29 March 2022","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}