{"id":"https://openalex.org/W7138043677","doi":"https://doi.org/10.1007/s10515-026-00613-0","title":"Developing, testing, building and maintaining an Eclipse project based on EMF and Xtext","display_name":"Developing, testing, building and maintaining an Eclipse project based on EMF and Xtext","publication_year":2026,"publication_date":"2026-03-17","ids":{"openalex":"https://openalex.org/W7138043677","doi":"https://doi.org/10.1007/s10515-026-00613-0"},"language":"en","primary_location":{"id":"doi:10.1007/s10515-026-00613-0","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10515-026-00613-0","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10515-026-00613-0.pdf","source":{"id":"https://openalex.org/S4210177399","display_name":"Automated Software Engineering","issn_l":"0928-8910","issn":["0928-8910","1573-7535"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Automated Software Engineering","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://link.springer.com/content/pdf/10.1007/s10515-026-00613-0.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5083629281","display_name":"Lorenzo Bettini","orcid":"https://orcid.org/0000-0002-4481-8096"},"institutions":[{"id":"https://openalex.org/I45084792","display_name":"University of Florence","ror":"https://ror.org/04jr1s763","country_code":"IT","type":"education","lineage":["https://openalex.org/I45084792"]}],"countries":["IT"],"is_corresponding":true,"raw_author_name":"Lorenzo Bettini","raw_affiliation_strings":["Dipartimento di Statistica, Informatica, Applicazioni, Universit\u00e0 degli Studi di Firenze, Firenze, Italy"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Dipartimento di Statistica, Informatica, Applicazioni, Universit\u00e0 degli Studi di Firenze, Firenze, Italy","institution_ids":["https://openalex.org/I45084792"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5083629281"],"corresponding_institution_ids":["https://openalex.org/I45084792"],"apc_list":{"value":2890,"currency":"USD","value_usd":2890},"apc_paid":{"value":2890,"currency":"USD","value_usd":2890},"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.2780441,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"33","issue":"2","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.28999999165534973,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.28999999165534973,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11986","display_name":"Scientific Computing and Data Management","score":0.22429999709129333,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.19020000100135803,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.9007999897003174},{"id":"https://openalex.org/keywords/eclipse","display_name":"Eclipse","score":0.8407999873161316},{"id":"https://openalex.org/keywords/digital-subscriber-line","display_name":"Digital subscriber line","score":0.7630000114440918},{"id":"https://openalex.org/keywords/unit-testing","display_name":"Unit testing","score":0.6352999806404114},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.5942000150680542},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4586000144481659},{"id":"https://openalex.org/keywords/metamodeling","display_name":"Metamodeling","score":0.430400013923645},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.3517000079154968},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.34769999980926514}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.9007999897003174},{"id":"https://openalex.org/C2778505590","wikidata":"https://www.wikidata.org/wiki/Q141022","display_name":"Eclipse","level":2,"score":0.8407999873161316},{"id":"https://openalex.org/C201374245","wikidata":"https://www.wikidata.org/wiki/Q104534","display_name":"Digital subscriber line","level":2,"score":0.7630000114440918},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7430999875068665},{"id":"https://openalex.org/C148027188","wikidata":"https://www.wikidata.org/wiki/Q907375","display_name":"Unit testing","level":3,"score":0.6352999806404114},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.5942000150680542},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5663999915122986},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5353999733924866},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4586000144481659},{"id":"https://openalex.org/C86610423","wikidata":"https://www.wikidata.org/wiki/Q1925081","display_name":"Metamodeling","level":2,"score":0.430400013923645},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.3517000079154968},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.34769999980926514},{"id":"https://openalex.org/C509989072","wikidata":"https://www.wikidata.org/wiki/Q15188241","display_name":"Model-driven architecture","level":4,"score":0.34599998593330383},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.3440999984741211},{"id":"https://openalex.org/C170130773","wikidata":"https://www.wikidata.org/wiki/Q216378","display_name":"Usability","level":2,"score":0.3327000141143799},{"id":"https://openalex.org/C176553487","wikidata":"https://www.wikidata.org/wiki/Q7855819","display_name":"Turnaround time","level":2,"score":0.3285999894142151},{"id":"https://openalex.org/C107683887","wikidata":"https://www.wikidata.org/wiki/Q782466","display_name":"Integration testing","level":3,"score":0.3246999979019165},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.29120001196861267},{"id":"https://openalex.org/C105446022","wikidata":"https://www.wikidata.org/wiki/Q445962","display_name":"Legacy system","level":3,"score":0.2879999876022339},{"id":"https://openalex.org/C101317890","wikidata":"https://www.wikidata.org/wiki/Q940053","display_name":"Software maintenance","level":4,"score":0.2870999872684479},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.2863999903202057},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.28369998931884766},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.2705000042915344},{"id":"https://openalex.org/C56666940","wikidata":"https://www.wikidata.org/wiki/Q788790","display_name":"Documentation","level":2,"score":0.26930001378059387},{"id":"https://openalex.org/C93518851","wikidata":"https://www.wikidata.org/wiki/Q180160","display_name":"Metadata","level":2,"score":0.25839999318122864},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.2581999897956848},{"id":"https://openalex.org/C201995342","wikidata":"https://www.wikidata.org/wiki/Q682496","display_name":"Systems engineering","level":1,"score":0.257099986076355},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.2554999887943268},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.2549999952316284},{"id":"https://openalex.org/C200601418","wikidata":"https://www.wikidata.org/wiki/Q2193887","display_name":"Reliability engineering","level":1,"score":0.25189998745918274},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.25119999051094055}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1007/s10515-026-00613-0","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10515-026-00613-0","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10515-026-00613-0.pdf","source":{"id":"https://openalex.org/S4210177399","display_name":"Automated Software Engineering","issn_l":"0928-8910","issn":["0928-8910","1573-7535"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Automated Software Engineering","raw_type":"journal-article"},{"id":"pmh:oai:flore.unifi.it:2158/1472295","is_oa":true,"landing_page_url":"https://hdl.handle.net/2158/1472295","pdf_url":null,"source":{"id":"https://openalex.org/S4306402033","display_name":"Florence Research (University of Florence)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I45084792","host_organization_name":"University of Florence","host_organization_lineage":["https://openalex.org/I45084792"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1007/s10515-026-00613-0","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10515-026-00613-0","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10515-026-00613-0.pdf","source":{"id":"https://openalex.org/S4210177399","display_name":"Automated Software Engineering","issn_l":"0928-8910","issn":["0928-8910","1573-7535"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Automated Software Engineering","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320322648","display_name":"Universit\u00e0 degli Studi di Firenze","ror":"https://ror.org/04jr1s763"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W7138043677.pdf","grobid_xml":"https://content.openalex.org/works/W7138043677.grobid-xml"},"referenced_works_count":72,"referenced_works":["https://openalex.org/W113976528","https://openalex.org/W121159850","https://openalex.org/W168725978","https://openalex.org/W1589399509","https://openalex.org/W1592640009","https://openalex.org/W1598165075","https://openalex.org/W1609394770","https://openalex.org/W1963707521","https://openalex.org/W1965658570","https://openalex.org/W1971755550","https://openalex.org/W2008831000","https://openalex.org/W2014596857","https://openalex.org/W2022744394","https://openalex.org/W2022833100","https://openalex.org/W2023724973","https://openalex.org/W2027320771","https://openalex.org/W2028836139","https://openalex.org/W2041713059","https://openalex.org/W2053221394","https://openalex.org/W2055806388","https://openalex.org/W2075592454","https://openalex.org/W2077208035","https://openalex.org/W2082751146","https://openalex.org/W2086681061","https://openalex.org/W2104789737","https://openalex.org/W2108025693","https://openalex.org/W2110441383","https://openalex.org/W2112045815","https://openalex.org/W2125876733","https://openalex.org/W2133073371","https://openalex.org/W2139872812","https://openalex.org/W2148815373","https://openalex.org/W2163730551","https://openalex.org/W2166247150","https://openalex.org/W2202015452","https://openalex.org/W2229705435","https://openalex.org/W2289531811","https://openalex.org/W2461780915","https://openalex.org/W2491494969","https://openalex.org/W2509259771","https://openalex.org/W2518794401","https://openalex.org/W2537743619","https://openalex.org/W2570541263","https://openalex.org/W2725449579","https://openalex.org/W2750009193","https://openalex.org/W2760890779","https://openalex.org/W2773970744","https://openalex.org/W2786944871","https://openalex.org/W2787976344","https://openalex.org/W2895425194","https://openalex.org/W2914367372","https://openalex.org/W2954082294","https://openalex.org/W2966980041","https://openalex.org/W2970944398","https://openalex.org/W3007855180","https://openalex.org/W3019083875","https://openalex.org/W3025636677","https://openalex.org/W3082371875","https://openalex.org/W3092867575","https://openalex.org/W3097600727","https://openalex.org/W3121596715","https://openalex.org/W3217422118","https://openalex.org/W4210301221","https://openalex.org/W4220838981","https://openalex.org/W4231010819","https://openalex.org/W4238083723","https://openalex.org/W4247117937","https://openalex.org/W4285097421","https://openalex.org/W4290975385","https://openalex.org/W4392247174","https://openalex.org/W4402147800","https://openalex.org/W4403935774"],"related_works":[],"abstract_inverted_index":{"Abstract":[0],"The":[1],"study":[2],"addresses":[3],"a":[4,39,72,124,154,163,168],"recurring":[5],"practical":[6],"problem:":[7],"how":[8],"to":[9,201],"obtain":[10],"high":[11,189],"confidence":[12,190],"in":[13,52,123,191],"the":[14,61,85,107,177,181],"correctness":[15],"of":[16,65,162],"an":[17,54],"Eclipse/Xtext-based":[18],"DSL":[19,59,91],"toolchain\u2014spanning":[20],"language":[21],"services,":[22],"IDE":[23,103],"integration,":[24],"and":[25,30,33,43,49,57,63,68,87,100,110,128,140,148,153,199,206,215],"UI":[26],"workflows\u2014while":[27],"keeping":[28,180],"builds":[29,147],"releases":[31],"reproducible":[32],"CI-friendly":[34],"across":[35,134],"platforms.":[36],"We":[37,70,193],"present":[38],"general,":[40],"practice-oriented":[41],"testing":[42,74],"CI":[44,144,165,183],"framework":[45,56],"for":[46,60,84,93,106],"such":[47],"toolchains":[48],"instantiate":[50],"it":[51],"Edelta,":[53],"open-source":[55],"Xtext-based":[58,207],"evolution":[62],"refactoring":[64,88],"EMF":[66],"metamodels":[67],"models.":[69],"describe":[71],"comprehensive":[73],"strategy,":[75],"based":[76],"on":[77,131],"test-driven":[78],"development,":[79],"spanning":[80],"fast":[81],"unit":[82],"tests":[83,92,105,113,120],"runtime":[86],"libraries,":[89],"headless":[90],"parsing,":[94],"scoping,":[95],"validation,":[96],"type":[97],"checking,":[98],"interpretation,":[99],"code":[101],"generation,":[102],"integration":[104],"Eclipse":[108,151],"editor,":[109],"end-to-end":[111],"SWTBot":[112],"that":[114,210],"exercise":[115],"complete":[116],"user":[117],"workflows.":[118],"These":[119],"are":[121],"orchestrated":[122],"single":[125],"Maven/Tycho":[126],"build":[127],"continuously":[129,216],"executed":[130],"GitHub":[132],"Actions":[133],"platforms,":[135],"with":[136,172],"SonarCloud":[137],"providing":[138,188],"code-quality":[139],"coverage":[141],"feedback.":[142],"Our":[143],"setup":[145],"also":[146],"verifies":[149],"distributable":[150],"products":[152],"self-contained":[155],"p2":[156],"update":[157],"site.":[158],"An":[159],"empirical":[160],"analysis":[161],"representative":[164],"run":[166],"shows":[167],"clear":[169],"testing-pyramid":[170],"distribution,":[171],"most":[173],"checks":[174],"implemented":[175],"at":[176],"fastest":[178],"layers,":[179],"overall":[182],"turnaround":[184],"time":[185],"low":[186],"while":[187],"correctness.":[192],"summarize":[194],"lessons":[195],"learned,":[196],"actionable":[197],"guidelines,":[198],"pitfalls":[200],"avoid":[202],"when":[203],"engineering":[204],"Eclipse-":[205],"research":[208],"software":[209],"must":[211],"be":[212],"both":[213],"feature-rich":[214],"releasable.":[217]},"counts_by_year":[],"updated_date":"2026-07-29T09:40:50.615796","created_date":"2026-03-18T00:00:00"}
