{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,16]],"date-time":"2026-06-16T20:55:28Z","timestamp":1781643328210,"version":"3.54.5"},"reference-count":99,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2026,3,17]],"date-time":"2026-03-17T00:00:00Z","timestamp":1773705600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2026,3,17]],"date-time":"2026-03-17T00:00:00Z","timestamp":1773705600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100004434","name":"Universit\u00e0 degli Studi di Firenze","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100004434","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Autom Softw Eng"],"published-print":{"date-parts":[[2026,9]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>The study addresses a recurring practical problem: how to obtain high confidence in the correctness of an Eclipse\/Xtext-based DSL toolchain\u2014spanning language services, IDE integration, and UI workflows\u2014while keeping builds and releases reproducible and CI-friendly across platforms. We present a general, practice-oriented testing and CI framework for such toolchains and instantiate it in Edelta, an open-source framework and Xtext-based DSL for the evolution and refactoring of EMF metamodels and models. We describe a comprehensive testing strategy, based on test-driven development, spanning fast unit tests for the runtime and refactoring libraries, headless DSL tests for parsing, scoping, validation, type checking, interpretation, and code generation, IDE integration tests for the Eclipse editor, and end-to-end SWTBot tests that exercise complete user workflows. These tests are orchestrated in a single Maven\/Tycho build and continuously executed on GitHub Actions across platforms, with SonarCloud providing code-quality and coverage feedback. Our CI setup also builds and verifies distributable Eclipse products and a self-contained p2 update site. An empirical analysis of a representative CI run shows a clear testing-pyramid distribution, with most checks implemented at the fastest layers, keeping the overall CI turnaround time low while providing high confidence in correctness. We summarize lessons learned, actionable guidelines, and pitfalls to avoid when engineering Eclipse- and Xtext-based research software that must be both feature-rich and continuously releasable.<\/jats:p>","DOI":"10.1007\/s10515-026-00613-0","type":"journal-article","created":{"date-parts":[[2026,3,17]],"date-time":"2026-03-17T05:53:34Z","timestamp":1773726814000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Developing, testing, building and maintaining an Eclipse project based on EMF and Xtext"],"prefix":"10.1007","volume":"33","author":[{"given":"Lorenzo","family":"Bettini","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2026,3,17]]},"reference":[{"key":"613_CR1","volume-title":"Compilers: Principles, Techniques, and Tools","author":"AV Aho","year":"2006","unstructured":"Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison-Wesley, Boston, MA, USA (2006)","edition":"2"},{"issue":"5","key":"613_CR2","doi-asserted-by":"publisher","first-page":"507","DOI":"10.1109\/TSE.2014.2372785","volume":"41","author":"ET Barr","year":"2015","unstructured":"Barr, E.T., Harman, M., McMinn, P., Shahbaz, M., Yoo, S.: The oracle problem in software testing: A survey. IEEE Trans. Software Eng. 41(5), 507\u2013525 (2015)","journal-title":"IEEE Trans. Software Eng."},{"issue":"3","key":"613_CR3","first-page":"1","volume":"20","author":"A Barriga","year":"2021","unstructured":"Barriga, A., Bettini, L., Iovino, L., Rutle, A., Heldal, R.: Addressing the trade off between smells and quality when refactoring class diagrams. J. Obj. Technol. 20(3), 1\u2013115 (2021)","journal-title":"J. Obj. Technol."},{"key":"613_CR4","doi-asserted-by":"publisher","first-page":"102841","DOI":"10.1016\/j.scico.2022.102841","volume":"221","author":"D Basile","year":"2022","unstructured":"Basile, D., ter Beek, M.H.: Contract automata library. Sci. Comput. Program. 221, 102841 (2022)","journal-title":"Sci. Comput. Program."},{"key":"613_CR5","doi-asserted-by":"publisher","first-page":"7","DOI":"10.1016\/j.scico.2015.11.003","volume":"114","author":"B Basten","year":"2015","unstructured":"Basten, B., Bos, J., Hills, M., Klint, P., Lankamp, A., Lisser, B., Ploeg, A., Storm, T., Vinju, J.: Modular language implementation in rascal-experience report. Sci. Comput. Program. 114, 7\u201319 (2015)","journal-title":"Sci. Comput. Program."},{"key":"613_CR6","volume-title":"Test Driven Development: By Example","author":"K Beck","year":"2003","unstructured":"Beck, K.: Test Driven Development: By Example. Addison-Wesley, USA (2003)"},{"key":"613_CR7","doi-asserted-by":"crossref","unstructured":"Bertolino, A., Gao, J., Marchetti, E., Polini, A.: Automatic test data generation for XML schema-based partition testing. In: Second International Workshop on Automation of Software Test, pp. 4\u20134 (2007). IEEE","DOI":"10.1109\/AST.2007.6"},{"key":"613_CR8","doi-asserted-by":"crossref","unstructured":"Bettini, L., Merelli, E., Tiezzi, F.: X-Klaim is back. In: Models, Languages, and Tools for Concurrent and Distributed Programming: Essays Dedicated to Rocco De Nicola on the Occasion of His 65th Birthday. LNCS, vol. 11665, pp. 115\u2013135. Springer, Cham (2019)","DOI":"10.1007\/978-3-030-21485-2_8"},{"key":"613_CR9","volume-title":"Implementing Domain-Specific Languages with Xtext and Xtend","author":"L Bettini","year":"2016","unstructured":"Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend, 2nd edn. Packt Publishing, Birmingham, UK (2016)","edition":"2"},{"issue":"5, Part 1","key":"613_CR10","doi-asserted-by":"publisher","first-page":"655","DOI":"10.1016\/j.jlamp.2015.11.005","volume":"85","author":"L Bettini","year":"2016","unstructured":"Bettini, L.: Implementing Type Systems for the IDE with Xsemantics. J. Log. Algebr. Methods Program. 85(5, Part 1), 655\u2013680 (2016)","journal-title":"J. Log. Algebr. Methods Program."},{"key":"613_CR11","doi-asserted-by":"crossref","unstructured":"Bettini, L.: Jbase: Embedding java expressions in Xtext DSLs. In: Proceedings of the International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools. PPPJ, pp. 16\u20131166. ACM, New York, NY, USA (2016)","DOI":"10.1145\/2972206.2972217"},{"key":"613_CR12","doi-asserted-by":"crossref","unstructured":"Bettini, L., Crescenzi, P.: An eclipse IDE for teaching java\u2013. In: Software Technologies, pp. 63\u201378. Springer, Cham (2016)","DOI":"10.1007\/978-3-319-30142-6_4"},{"key":"613_CR13","doi-asserted-by":"publisher","first-page":"419","DOI":"10.1016\/j.jss.2016.07.035","volume":"131","author":"L Bettini","year":"2017","unstructured":"Bettini, L., Damiani, F.: Xtraitj: Traits for the Java platform. J. Syst. Softw. 131, 419\u2013441 (2017)","journal-title":"J. Syst. Softw."},{"key":"613_CR14","unstructured":"Bettini, L., Di Ruscio, D., Iovino, L., Pierantonio, A.: Edelta: An approach for defining and applying reusable metamodel refactorings. In: Procs of MODELS 2017 Satellite Event, pp. 71\u201380 (2017)"},{"key":"613_CR15","doi-asserted-by":"publisher","first-page":"16364","DOI":"10.1109\/ACCESS.2019.2891357","volume":"7","author":"L Bettini","year":"2019","unstructured":"Bettini, L., Di Ruscio, D., Iovino, L., Pierantonio, A.: Quality-Driven detection and resolution of metamodel smells. IEEE Access 7, 16364\u201316376 (2019)","journal-title":"IEEE Access"},{"key":"613_CR16","doi-asserted-by":"crossref","unstructured":"Bettini, L., Di Ruscio, D., Iovino, L., Pierantonio, A.: Edelta 2.0: supporting live metamodel evolutions. In: MODELS, pp. 1\u201310. ACM\/IEEE, New York, NY, USA (2020)","DOI":"10.1145\/3417990.3419501"},{"key":"613_CR17","doi-asserted-by":"publisher","first-page":"247","DOI":"10.1007\/s10009-022-00646-2","volume":"24","author":"L Bettini","year":"2022","unstructured":"Bettini, L., Di Ruscio, D., Iovino, L., Pierantonio, A.: Supporting safe metamodel evolution with Edelta. Int. J. Softw. Tools Technol. Transfer 24, 247\u2013260 (2022)","journal-title":"Int. J. Softw. Tools Technol. Transfer"},{"key":"613_CR18","doi-asserted-by":"publisher","first-page":"1689","DOI":"10.1007\/s10270-022-01034-9","volume":"21","author":"L Bettini","year":"2022","unstructured":"Bettini, L., Di Ruscio, D., Iovino, L., Pierantonio, A.: An executable metamodel refactoring catalog. Softw. Syst. Model. 21, 1689\u20131709 (2022)","journal-title":"Softw. Syst. Model."},{"key":"613_CR19","doi-asserted-by":"publisher","first-page":"112012","DOI":"10.1016\/j.jss.2024.112012","volume":"212","author":"L Bettini","year":"2024","unstructured":"Bettini, L., Di Salle, A., Iovino, L., Pierantonio, A.: Supporting reusable model migration with Edelta. J. Syst. Softw. 212, 112012 (2024a)","journal-title":"J. Syst. Softw."},{"key":"613_CR20","doi-asserted-by":"crossref","unstructured":"Bettini, L., Di Ruscio, D., Di Salle, A., Iovino, L., Pierantonio, A.: Keeping clients\u2019 models up-to-date with Edelta. In: Proc. of MODELS, pp. 46\u201350. ACM, New York, NY, USA (2024)","DOI":"10.1145\/3652620.3687789"},{"key":"613_CR21","volume-title":"Eclipse Plug-in Development: Beginner\u2019s Guide","author":"A Blewitt","year":"2016","unstructured":"Blewitt, A.: Eclipse Plug-in Development: Beginner\u2019s Guide, 2nd edn. Packt Publishing, Birmingham, UK (2016)","edition":"2"},{"key":"613_CR22","doi-asserted-by":"crossref","unstructured":"Brousse, N.: The issue of monorepo and polyrepo in large enterprises. In: Companion Proceedings of the International Conference on the Art, Science, and Engineering of Programming. ACM, New York, NY, USA (2019)","DOI":"10.1145\/3328433.3328435"},{"key":"613_CR23","doi-asserted-by":"crossref","unstructured":"Ca\u00f1izares, P.C., G\u00f3mez-Abajo, P., N\u00fa\u00f1ez, A., Guerra, E., Lara, J.: New ideas: automated engineering of metamorphic testing environments for domain-specific languages. In: Proceedings of the 14th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2021), pp. 49\u201354. ACM, New York, NY, USA (2021)","DOI":"10.1145\/3486608.3486904"},{"key":"613_CR24","doi-asserted-by":"crossref","unstructured":"Cauevic, A., Punnekkat, S., Sundmark, D.: Quality of testing in test driven development. In: Proc. Conference on the Quality of Information and Communications Technology, pp. 266\u2013271. IEEE, Lisbon, Portugal (2012)","DOI":"10.1109\/QUATIC.2012.49"},{"issue":"2","key":"613_CR25","doi-asserted-by":"publisher","first-page":"50","DOI":"10.1109\/MS.2015.27","volume":"32","author":"L Chen","year":"2015","unstructured":"Chen, L.: Continuous delivery: Huge benefits, but challenges too. IEEE Softw. 32(2), 50\u201354 (2015)","journal-title":"IEEE Softw."},{"issue":"2","key":"613_CR26","doi-asserted-by":"publisher","first-page":"165","DOI":"10.1109\/24.963124","volume":"50","author":"M-H Chen","year":"2002","unstructured":"Chen, M.-H., Lyu, M.R., Wong, W.E.: Effect of code coverage on software reliability measurement. IEEE Trans. Reliab. 50(2), 165\u2013170 (2002)","journal-title":"IEEE Trans. Reliab."},{"issue":"1","key":"613_CR27","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3363562","volume":"53","author":"J Chen","year":"2020","unstructured":"Chen, J., Patra, J., Pradel, M., Xiong, Y., Zhang, H., Hao, D., Zhang, L.: A survey of compiler testing. ACM Comput. Surv. 53(1), 1\u201336 (2020)","journal-title":"ACM Comput. Surv."},{"key":"613_CR28","doi-asserted-by":"crossref","unstructured":"Cicchetti, A., Ruscio, D., Pierantonio, A.: Managing dependent changes in coupled evolution. In: ICMT. LNCS, vol. 5563, pp. 35\u201351. Springer, Berlin, Heidelberg (2009)","DOI":"10.1007\/978-3-642-02408-5_4"},{"key":"613_CR29","volume-title":"Succeeding with Agile: Software Development Using Scrum","author":"M Cohn","year":"2009","unstructured":"Cohn, M.: Succeeding with Agile: Software Development Using Scrum. Addison-Wesley Professional, Boston, MA, USA (2009)"},{"issue":"2","key":"613_CR30","doi-asserted-by":"publisher","first-page":"97","DOI":"10.1145\/1383602.1383644","volume":"40","author":"C Desai","year":"2008","unstructured":"Desai, C., Janzen, D., Savage, K.: A survey of evidence for test-driven development in academia. ACM SIGCSE Bulletin 40(2), 97\u2013101 (2008)","journal-title":"ACM SIGCSE Bulletin"},{"key":"613_CR31","doi-asserted-by":"crossref","unstructured":"Di Ruscio, D., Iovino, L., Pierantonio, A.: Evolutionary togetherness: How to manage coupled evolution in metamodeling ecosystems. In: Graph Transformations. LNCS, vol. 7562, pp. 20\u201337. Springer, Berlin, Heidelberg (2012)","DOI":"10.1007\/978-3-642-33654-6_2"},{"key":"613_CR32","doi-asserted-by":"crossref","unstructured":"Efftinge, S., Eysholdt, M., K\u00f6hnlein, J., Zarnekow, S., Hasselbring, W., Massow, R.: Xbase: Implementing Domain-Specific Languages for Java. In: GPCE, pp. 112\u2013121. ACM, New York, NY, USA (2012)","DOI":"10.1145\/2371401.2371419"},{"issue":"4","key":"613_CR33","doi-asserted-by":"publisher","first-page":"479","DOI":"10.1007\/s10270-008-0095-y","volume":"8","author":"K Ehrig","year":"2009","unstructured":"Ehrig, K., K\u00fcster, J.M., Taentzer, G.: Generating instance models from meta models. Softw. Syst. Model. 8(4), 479\u2013500 (2009)","journal-title":"Softw. Syst. Model."},{"key":"613_CR34","doi-asserted-by":"crossref","unstructured":"Erdweg, S., Storm, T., V\u00f6lter, M., Boersma, M., Bosman, R., Cook, W.R., Gerritsen, A., Hulshout, A., Kelly, S., Loh, A., Konat, G.D.P., Molina, P.J., Palatnik, M., Pohjonen, R., Schindler, E., Schindler, K., Solmi, R., Vergu, V.A., Visser, E., Vlist, K., Wachsmuth, G.H., Woning, J.: The state of the art in language workbenches. In: Software Language Engineering (SLE 2013). LNCS, vol. 8225, pp. 197\u2013217. Springer, Cham (2013)","DOI":"10.1007\/978-3-319-02654-1_11"},{"issue":"3","key":"613_CR35","doi-asserted-by":"publisher","first-page":"62","DOI":"10.1145\/3127323","volume":"61","author":"M Felleisen","year":"2018","unstructured":"Felleisen, M., Findler, R.B., Flatt, M., Krishnamurthi, S., Barzilay, E., McCarthy, J., Tobin-Hochstadt, S.: A programmable programming language. Commun. ACM 61(3), 62\u201371 (2018)","journal-title":"Commun. ACM"},{"key":"613_CR36","doi-asserted-by":"crossref","unstructured":"Flatt, M.: Composable and compilable macros: You want it when? In: Proceedings of the 7th ACM SIGPLAN International Conference on Functional Programming (ICFP 2002), pp. 72\u201383. ACM, New York, NY, USA (2002)","DOI":"10.1145\/581478.581486"},{"key":"613_CR37","volume-title":"Domain-Specific Languages","author":"M Fowler","year":"2010","unstructured":"Fowler, M.: Domain-Specific Languages. Addison-Wesley Professional, Boston, MA, USA (2010)"},{"key":"613_CR38","unstructured":"Fowler, M.: Test Pyramid (2013). https:\/\/martinfowler.com\/bliki\/TestPyramid.html. Accessed: 21 Oct 2025"},{"key":"613_CR39","volume-title":"A Retargetable C Compiler: Design and Implementation","author":"CW Fraser","year":"1995","unstructured":"Fraser, C.W., Hanson, D.R.: A Retargetable C Compiler: Design and Implementation. Benjamin\/Cummings, Redwood City, CA, USA (1995)"},{"issue":"3","key":"613_CR40","doi-asserted-by":"publisher","first-page":"767","DOI":"10.1007\/s10270-020-00827-0","volume":"20","author":"P G\u00f3mez-Abajo","year":"2021","unstructured":"G\u00f3mez-Abajo, P., Guerra, E., Lara, J., Merayo, M.G.: Wodel-test: a model-based framework for language-independent mutation testing. Softw. Syst. Model. 20(3), 767\u2013793 (2021)","journal-title":"Softw. Syst. Model."},{"key":"613_CR41","unstructured":"Grebien, T.: Managing academic eclipse-based projects. Diploma thesis, Christian-Albrechts-Universit\u00e4t zu Kiel (2012)"},{"issue":"5","key":"613_CR42","doi-asserted-by":"publisher","first-page":"396","DOI":"10.1109\/TSE.2016.2610424","volume":"43","author":"R Hebig","year":"2017","unstructured":"Hebig, R., Khelladi, D.E., Bendraou, R.: Approaches to co-evolution of metamodels and models: A survey. Trans. on Soft. Eng. 43(5), 396\u2013414 (2017)","journal-title":"Trans. on Soft. Eng."},{"key":"613_CR43","doi-asserted-by":"crossref","unstructured":"Hemmati, H.: How effective are code coverage criteria? In: International Conference on Software Quality. Reliability and Security, pp. 151\u2013156. IEEE, USA (2015)","DOI":"10.1109\/QRS.2015.30"},{"key":"613_CR44","doi-asserted-by":"crossref","unstructured":"Herrmannsdoerfer, M., Benz, S., J\u00fcrgens, E.: COPE - automating coupled evolution of metamodels and models. In: ECOOP. LNCS, vol. 5653, pp. 52\u201376. Springer, Berlin, Heidelberg (2009)","DOI":"10.1007\/978-3-642-03013-0_4"},{"key":"613_CR45","doi-asserted-by":"crossref","unstructured":"Herrmannsdoerfer, M., Vermolen, S., Wachsmuth, G.: An extensive catalog of operators for the coupled evolution of metamodels and models. In: SLE. LNCS, vol. 6563, pp. 163\u2013182. Springer, Berlin, Heidelberg (2010)","DOI":"10.1007\/978-3-642-19440-5_10"},{"key":"613_CR46","unstructured":"Hudak, P.: Domain-specific languages. In: Salus, P.H. (ed.) Handbook of Programming Languages, Volume III: Little Languages and Tools, pp. 39\u201360. Macmillan Technical Publishing, Indianapolis, IN (1998). Chap. 3"},{"key":"613_CR47","volume-title":"Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation","author":"J Humble","year":"2010","unstructured":"Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation. Pearson Education, Boston, MA, USA (2010)"},{"issue":"6","key":"613_CR48","doi-asserted-by":"publisher","first-page":"4205","DOI":"10.1007\/s10664-020-09872-1","volume":"25","author":"A Iung","year":"2020","unstructured":"Iung, A., Carbonell, J., Marchezan, L., Rodrigues, E., Bernardino, M., Basso, F.P., Medeiros, B.: Systematic mapping study on domain-specific language development tools. Empir. Softw. Eng. 25(6), 4205\u20134249 (2020)","journal-title":"Empir. Softw. Eng."},{"key":"613_CR49","doi-asserted-by":"crossref","unstructured":"Ivankovi\u0107, M., Petrovi\u0107, G., Just, R., Fraser, G.: Code coverage at Google. In: Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 955\u2013963. ACM, USA (2019)","DOI":"10.1145\/3338906.3340459"},{"key":"613_CR50","doi-asserted-by":"crossref","unstructured":"Jaime, D., Poizat, P., El Haddad, J., Degueule, T.: Balancing the quality and cost of updating dependencies. In: Proc. Conference on Automated Software Engineering. ASE, pp. 1834\u20131845. ACM, New York, NY, USA (2024)","DOI":"10.1145\/3691620.3695595"},{"key":"613_CR51","doi-asserted-by":"crossref","unstructured":"Kats, L.C.L., Visser, E.: The Spoofax Language workbench: Rules for declarative specification of languages and IDEs. In: Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2010), pp. 444\u2013463. ACM, New York, NY, USA (2010)","DOI":"10.1145\/1869459.1869497"},{"key":"613_CR52","doi-asserted-by":"crossref","unstructured":"Kats, L.C.L., Vermaas, R., Visser, E.: Integrated language definition testing: Enabling test-driven language development. In: Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2011), pp. 139\u2013154. ACM, New York, NY, USA (2011)","DOI":"10.1145\/2048066.2048080"},{"issue":"3","key":"613_CR53","first-page":"6","volume":"20","author":"F Khorram","year":"2021","unstructured":"Khorram, F., Bousse, E., Mottu, J.-M., Suny\u00e9, G.: Adapting TDL to provide testing support for executable DSLs. J. Obj. Technol. 20(3), 6\u20131615 (2021)","journal-title":"J. Obj. Technol."},{"key":"613_CR54","doi-asserted-by":"crossref","unstructured":"Klint, P., Storm, T., Vinju, J.J.: RASCAL: A domain specific language for source code analysis and manipulation. In: Proceedings of the 9th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2009), pp. 168\u2013177. IEEE, USA (2009)","DOI":"10.1109\/SCAM.2009.28"},{"key":"613_CR55","doi-asserted-by":"publisher","first-page":"77","DOI":"10.1016\/j.infsof.2015.11.001","volume":"71","author":"T Kosar","year":"2016","unstructured":"Kosar, T., Bohra, S., Mernik, M.: Domain-specific languages: A systematic mapping study. Inf. Softw. Technol. 71, 77\u201391 (2016)","journal-title":"Inf. Softw. Technol."},{"issue":"6","key":"613_CR56","doi-asserted-by":"publisher","first-page":"18","DOI":"10.1109\/MS.2012.167","volume":"29","author":"P Kruchten","year":"2012","unstructured":"Kruchten, P., Nord, R.L., Ozkaya, I.: Technical debt: From metaphor to theory and practice. IEEE Softw. 29(6), 18\u201321 (2012)","journal-title":"IEEE Softw."},{"issue":"1","key":"613_CR57","doi-asserted-by":"publisher","first-page":"384","DOI":"10.1007\/s10664-017-9521-5","volume":"23","author":"RG Kula","year":"2018","unstructured":"Kula, R.G., German, D.M., Ouni, A., Ishio, T., Inoue, K.: Do developers update their library dependencies? An empirical study on the impact of security advisories on library migration. Empir. Softw. Eng. 23(1), 384\u2013417 (2018)","journal-title":"Empir. Softw. Eng."},{"key":"613_CR58","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1016\/j.infsof.2016.10.001","volume":"82","author":"E Laukkanen","year":"2017","unstructured":"Laukkanen, E., Itkonen, J., Lassenius, C.: Problems, causes and solutions when adopting continuous delivery - A systematic literature review. Inf. Softw. Technol. 82, 55\u201379 (2017)","journal-title":"Inf. Softw. Technol."},{"key":"613_CR59","doi-asserted-by":"publisher","first-page":"193","DOI":"10.1016\/j.jss.2014.12.027","volume":"101","author":"Z Li","year":"2015","unstructured":"Li, Z., Avgeriou, P., Liang, P.: A systematic mapping study on technical debt and its management. J. Syst. Softw. 101, 193\u2013220 (2015)","journal-title":"J. Syst. Softw."},{"key":"613_CR60","unstructured":"Marick, B., Smith, J., Jones, M.: How to misuse code coverage. In: Interational Conference on Testing Computer Software, pp. 16\u201318 (1999)"},{"key":"613_CR61","doi-asserted-by":"crossref","unstructured":"Maximilien, E.M., Williams, L.: Assessing test-driven development at IBM. In: Proc. Conference on Software Engineering, pp. 564\u2013569. IEEE, Portland, Oregon, USA (2003)","DOI":"10.1109\/ICSE.2003.1201238"},{"key":"613_CR62","unstructured":"Mazurkiewicz, M.: GUI test automation with SWTBot. Master\u2019s thesis, VAMK University of Applied Sciences (2010)"},{"issue":"1","key":"613_CR63","first-page":"100","volume":"10","author":"WM McKeeman","year":"1998","unstructured":"McKeeman, W.M.: Differential testing for software. Digit. Tech. J. 10(1), 100\u2013107 (1998)","journal-title":"Digit. Tech. J."},{"key":"613_CR64","unstructured":"Medeiros, S.Q., Lefeuvre, R., Combemale, B., Perez, Q.: Evaluating the energy profile of tasks managed by build automation tools in continuous integration workflows: The case of apache maven and gradle. In: ICT4S, pp. 1\u201311. IEEE, Dublin, Ireland (2025)"},{"issue":"4","key":"613_CR65","doi-asserted-by":"publisher","first-page":"316","DOI":"10.1145\/1118890.1118892","volume":"37","author":"M Mernik","year":"2005","unstructured":"Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316\u2013344 (2005)","journal-title":"ACM Comput. Surv."},{"key":"613_CR66","unstructured":"M\u00fcller, S., Fischer, P.M., Schlauch, T.: About tycho, maven, p2 and target-platforms: From pain to best practice. EclipseCon (2017)"},{"issue":"4","key":"613_CR67","doi-asserted-by":"publisher","first-page":"375","DOI":"10.1016\/j.infsof.2014.01.002","volume":"56","author":"H Munir","year":"2014","unstructured":"Munir, H., Moayyed, M., Petersen, K.: Considering rigor and relevance when evaluating test driven development: A systematic review. Inf. Softw. Technol. 56(4), 375\u2013394 (2014)","journal-title":"Inf. Softw. Technol."},{"key":"613_CR68","doi-asserted-by":"crossref","unstructured":"Nassar, N., Kosiol, J., Kehrer, T., Taentzer, G.: Generating large EMF models efficiently: A rule-based, configurable approach. In: Fundamental Approaches to Software Engineering, pp. 224\u2013244 (2020). Springer","DOI":"10.1007\/978-3-030-45234-6_11"},{"key":"613_CR69","doi-asserted-by":"publisher","first-page":"272","DOI":"10.1016\/j.jss.2015.08.047","volume":"111","author":"RF Paige","year":"2016","unstructured":"Paige, R.F., Matragkas, N., Rose, L.M.: Evolving models in model-driven engineering: State-of-the-art and future challenges. J. Syst. Softw. 111, 272\u2013280 (2016)","journal-title":"J. Syst. Softw."},{"key":"613_CR70","doi-asserted-by":"crossref","unstructured":"Papadakis, M., Kintis, M., Zhang, J., Jia, Y., Le Traon, Y., Harman, M.: Mutation testing advances: an analysis and survey. In: Advances in Computers, vol. 112, pp. 275\u2013378. Elsevier, USA (2019)","DOI":"10.1016\/bs.adcom.2018.03.015"},{"key":"613_CR71","doi-asserted-by":"publisher","first-page":"365","DOI":"10.1007\/s10009-020-00567-y","volume":"22","author":"A Parsai","year":"2020","unstructured":"Parsai, A., Demeyer, S.: Comparing mutation coverage against branch coverage in an industrial setting. Int. J. Softw. Tools Technol. Transfer 22, 365\u2013388 (2020)","journal-title":"Int. J. Softw. Tools Technol. Transfer"},{"key":"613_CR72","doi-asserted-by":"crossref","unstructured":"Pech, V., Shatalin, A., Voelter, M.: JetBrains MPS as a tool for extending Java. In: Proceedings of the 11th International Conference on the Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools (PPPJ \u201913), pp. 165\u2013168. ACM, New York, NY, USA (2013)","DOI":"10.1145\/2500828.2500846"},{"key":"613_CR73","doi-asserted-by":"crossref","unstructured":"Petrovi\u0107, G., Ivankovi\u0107, M.: State of mutation testing at Google. In: Proceedings of Software Engineering in Practice. ICSE-SEIP, pp. 163\u2013171. ACM, USA (2018)","DOI":"10.1145\/3183519.3183521"},{"key":"613_CR74","first-page":"1","volume":"13","author":"M Prakash","year":"2022","unstructured":"Prakash, M.: Software build automation tools a comparative study between Maven, Gradle, Bazel and Ant. Int J Softw Eng Appl 13, 1\u201320 (2022)","journal-title":"Int J Softw Eng Appl"},{"key":"613_CR75","volume-title":"Dependency Injection: Design Patterns Using Spring and Guice","author":"DR Prasanna","year":"2009","unstructured":"Prasanna, D.R.: Dependency Injection: Design Patterns Using Spring and Guice, 1st edn. Manning, USA (2009)","edition":"1"},{"issue":"4","key":"613_CR76","doi-asserted-by":"publisher","first-page":"1483","DOI":"10.1007\/s11219-017-9390-6","volume":"26","author":"D Ratiu","year":"2018","unstructured":"Ratiu, D., Voelter, M., Pavletic, D.: Automated testing of DSL implementations\u2013experiences from building mbeddr. Softw. Qual. J. 26(4), 1483\u20131518 (2018)","journal-title":"Softw. Qual. J."},{"issue":"2","key":"613_CR77","doi-asserted-by":"publisher","first-page":"735","DOI":"10.1007\/s10270-012-0296-2","volume":"13","author":"LM Rose","year":"2012","unstructured":"Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.C., Poulding, S.: Epsilon flock: a model migration language. Softw. Syst. Model. 13(2), 735\u2013755 (2012)","journal-title":"Softw. Syst. Model."},{"issue":"2","key":"613_CR78","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":"3","key":"613_CR79","first-page":"52","volume":"40","author":"S Seifermann","year":"2020","unstructured":"Seifermann, S., Krach, S.: Catching up with state of the art continuous integration pipelines in palladio-an experience report. Softwaretechnik-Trends 40(3), 52\u201354 (2020)","journal-title":"Softwaretechnik-Trends"},{"key":"613_CR80","doi-asserted-by":"crossref","unstructured":"Shahin, M., Babar, M.A., Zahedi, M., Zhu, L.: Beyond continuous delivery: an empirical investigation of continuous deployment challenges. In: ESEM, pp. 111\u2013120 (2017). IEEE","DOI":"10.1109\/ESEM.2017.18"},{"issue":"14","key":"613_CR81","doi-asserted-by":"publisher","first-page":"1475","DOI":"10.1002\/spe.812","volume":"37","author":"F Sheridan","year":"2007","unstructured":"Sheridan, F.: Practical testing of a C99 compiler using output comparison. Softw. Pract. Exper. 37(14), 1475\u20131488 (2007)","journal-title":"Softw. Pract. Exper."},{"key":"613_CR82","volume-title":"EMF: Eclipse Modeling Framework","author":"D Steinberg","year":"2008","unstructured":"Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston, MA, USA (2008)","edition":"2"},{"key":"613_CR83","doi-asserted-by":"crossref","unstructured":"Taentzer, G., Mantz, F., Arendt, T., Lamo, Y.: Customizable model migration schemes for meta-model evolutions with multiplicity changes. In: MODELS. LNCS, vol. 8107, pp. 254\u2013270. Springer, Berlin, Heidelberg (2013)","DOI":"10.1007\/978-3-642-41533-3_16"},{"issue":"1","key":"613_CR84","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/s11704-019-8231-0","volume":"14","author":"Y Tang","year":"2020","unstructured":"Tang, Y., Ren, Z., Kong, W., Jiang, H.: Compiler testing: A systematic literature analysis. Front. Comp. Sci. 14(1), 1\u201320 (2020)","journal-title":"Front. Comp. Sci."},{"issue":"6","key":"613_CR85","doi-asserted-by":"publisher","first-page":"1498","DOI":"10.1016\/j.jss.2012.12.052","volume":"86","author":"E Tom","year":"2013","unstructured":"Tom, E., Aurum, A., Vidgen, R.: An exploration of technical debt. J. Syst. Softw. 86(6), 1498\u20131516 (2013)","journal-title":"J. Syst. Softw."},{"key":"613_CR86","unstructured":"Voelter, M., Benz, S., Dietrich, C., Engelmann, B., Helander, M., Kats, L.C.L., Visser, E., Wachsmuth, G.: DSL engineering: Designing, implementing and using domain-specific languages, (2013). Available online at dslbook.org"},{"key":"613_CR87","doi-asserted-by":"publisher","first-page":"339","DOI":"10.1007\/s10515-013-0120-4","volume":"20","author":"M Voelter","year":"2013","unstructured":"Voelter, M., Ratiu, D., Kolb, B., Sch\u00e4tz, B., et al.: mbeddr: instantiating a language workbench in the embedded software domain. Autom. Softw. Eng. 20, 339\u2013390 (2013)","journal-title":"Autom. Softw. Eng."},{"key":"613_CR88","doi-asserted-by":"publisher","first-page":"585","DOI":"10.1007\/s10270-016-0575-4","volume":"18","author":"M Voelter","year":"2019","unstructured":"Voelter, M., Kolb, B., Szab\u00f3, T., Ratiu, D., Deursen, A.: Lessons learned from developing mbeddr: a case study in language engineering with MPS. Softw. Syst. Model. 18, 585\u2013630 (2019)","journal-title":"Softw. Syst. Model."},{"key":"613_CR89","doi-asserted-by":"crossref","unstructured":"Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: ECOOP. LNCS, vol. 4609, pp. 600\u2013624. Springer, Berlin, Heidelberg (2007)","DOI":"10.1007\/978-3-540-73589-2_28"},{"key":"613_CR90","volume-title":"The Object Constraint Language: Getting Your Models Ready for MDA","author":"JB Warmer","year":"2003","unstructured":"Warmer, J.B., Kleppe, A.G.: The Object Constraint Language: Getting Your Models Ready for MDA, 2nd edn. Addison-Wesley Professional, Boston, MA, USA (2003)","edition":"2"},{"issue":"4","key":"613_CR91","doi-asserted-by":"publisher","first-page":"465","DOI":"10.1093\/comjnl\/25.4.465","volume":"25","author":"EJ Weyuker","year":"1982","unstructured":"Weyuker, E.J.: On testing non-testable programs. Comput. J. 25(4), 465\u2013470 (1982)","journal-title":"Comput. J."},{"key":"613_CR92","doi-asserted-by":"crossref","unstructured":"Williams, L., Maximilien, E.M., Vouk, M.: Test-driven development as a defect-reduction practice. In: Proc. International Symposium on Software Reliability Engineering, pp. 34\u201345. IEEE, Denver, Colorado, USA (2003)","DOI":"10.1109\/ISSRE.2003.1251029"},{"issue":"3","key":"613_CR93","doi-asserted-by":"publisher","first-page":"185","DOI":"10.1016\/0164-1212(94)00098-0","volume":"31","author":"WE Wong","year":"1995","unstructured":"Wong, W.E., Mathur, A.P.: Reducing the cost of mutation testing: An empirical study. J. Syst. Softw. 31(3), 185\u2013196 (1995)","journal-title":"J. Syst. Softw."},{"issue":"3","key":"613_CR94","doi-asserted-by":"publisher","first-page":"163","DOI":"10.1016\/0950-5849(93)90053-6","volume":"35","author":"MR Woodward","year":"1993","unstructured":"Woodward, M.R.: Mutation testing\u2013its origin and evolution. Inf. Softw. Technol. 35(3), 163\u2013169 (1993)","journal-title":"Inf. Softw. Technol."},{"key":"613_CR95","doi-asserted-by":"crossref","unstructured":"Wu, H., Gray, J.: Automated generation of testing tools for domain-specific languages. In: Proc. ASE, pp. 436\u2013439. ACM, New York, NY, USA (2005)","DOI":"10.1145\/1101908.1101993"},{"key":"613_CR96","unstructured":"Wu, H., Monahan, R., Power, J.F.: Metamodel instance generation: A systematic literature review. arXiv preprint arXiv:1211.6322 (2012)"},{"key":"613_CR97","doi-asserted-by":"crossref","unstructured":"Yang, X., Chen, Y., Eide, E., Regehr, J.: Finding and understanding bugs in C compilers. In: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2011), pp. 283\u2013294. ACM, San Jose, CA, USA (2011)","DOI":"10.1145\/1993498.1993532"},{"key":"613_CR98","unstructured":"Zarnekow, S.: Xtext corner #8 - libraries are key (2012). https:\/\/zarnekow.blogspot.com\/2012\/11\/xtext-corner-8-libraries-are-key.html. Accessed: 15 Jan 2026"},{"key":"613_CR99","doi-asserted-by":"publisher","first-page":"187","DOI":"10.1016\/j.jss.2017.08.031","volume":"136","author":"ZQ Zhou","year":"2018","unstructured":"Zhou, Z.Q., Towey, D., Poon, P.-L., Tse, T.H.: Introduction to the special issue on test oracles. J. Syst. Softw. 136, 187 (2018)","journal-title":"J. Syst. Softw."}],"container-title":["Automated Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-026-00613-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10515-026-00613-0","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10515-026-00613-0.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,6,16]],"date-time":"2026-06-16T20:16:30Z","timestamp":1781640990000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10515-026-00613-0"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,3,17]]},"references-count":99,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2026,9]]}},"alternative-id":["613"],"URL":"https:\/\/doi.org\/10.1007\/s10515-026-00613-0","relation":{},"ISSN":["0928-8910","1573-7535"],"issn-type":[{"value":"0928-8910","type":"print"},{"value":"1573-7535","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,3,17]]},"assertion":[{"value":"28 October 2025","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"28 February 2026","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"17 March 2026","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare no competing interests.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Competing Interests"}}],"article-number":"64"}}