{"id":"https://openalex.org/W3091719299","doi":"https://doi.org/10.1145/3377811.3380324","title":"Co-evolving code with evolving metamodels","display_name":"Co-evolving code with evolving metamodels","publication_year":2020,"publication_date":"2020-06-27","ids":{"openalex":"https://openalex.org/W3091719299","doi":"https://doi.org/10.1145/3377811.3380324","mag":"3091719299"},"language":"en","primary_location":{"id":"doi:10.1145/3377811.3380324","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3377811.3380324","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering","raw_type":"proceedings-article"},"type":"preprint","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103021471","display_name":"Djamel Eddine Khelladi","orcid":"https://orcid.org/0000-0002-2218-650X"},"institutions":[{"id":"https://openalex.org/I56067802","display_name":"Universit\u00e9 de Rennes","ror":"https://ror.org/015m7wh34","country_code":"FR","type":"education","lineage":["https://openalex.org/I56067802"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Djamel Eddine Khelladi","raw_affiliation_strings":["Univ. Rennes, Rennes, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. Rennes, Rennes, France","institution_ids":["https://openalex.org/I56067802"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5079739010","display_name":"Beno\u00eet Combemale","orcid":"https://orcid.org/0000-0002-7104-7848"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Benoit Combemale","raw_affiliation_strings":["Universit\u00e9 Toulouse &amp; Inria Rennes, Rennes, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universit\u00e9 Toulouse &amp; Inria Rennes, Rennes, France","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5003973216","display_name":"Mathieu Acher","orcid":"https://orcid.org/0000-0003-1483-3858"},"institutions":[{"id":"https://openalex.org/I2802519937","display_name":"Institut de Recherche en Informatique et Syst\u00e8mes Al\u00e9atoires","ror":"https://ror.org/00myn0z94","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I1326498283","https://openalex.org/I205703379","https://openalex.org/I2802204017","https://openalex.org/I2802519937","https://openalex.org/I28221208","https://openalex.org/I4210127572","https://openalex.org/I4210159245","https://openalex.org/I56067802"]},{"id":"https://openalex.org/I56067802","display_name":"Universit\u00e9 de Rennes","ror":"https://ror.org/015m7wh34","country_code":"FR","type":"education","lineage":["https://openalex.org/I56067802"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Mathieu Acher","raw_affiliation_strings":["Univ. Rennes, Inria, IRISA, Rennes, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. Rennes, Inria, IRISA, Rennes, France","institution_ids":["https://openalex.org/I2802519937","https://openalex.org/I56067802"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002785466","display_name":"Olivier Barais","orcid":"https://orcid.org/0000-0002-4551-8562"},"institutions":[{"id":"https://openalex.org/I2802519937","display_name":"Institut de Recherche en Informatique et Syst\u00e8mes Al\u00e9atoires","ror":"https://ror.org/00myn0z94","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I1326498283","https://openalex.org/I205703379","https://openalex.org/I2802204017","https://openalex.org/I2802519937","https://openalex.org/I28221208","https://openalex.org/I4210127572","https://openalex.org/I4210159245","https://openalex.org/I56067802"]},{"id":"https://openalex.org/I56067802","display_name":"Universit\u00e9 de Rennes","ror":"https://ror.org/015m7wh34","country_code":"FR","type":"education","lineage":["https://openalex.org/I56067802"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Olivier Barais","raw_affiliation_strings":["Univ. Rennes, Inria, IRISA, Rennes, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. Rennes, Inria, IRISA, Rennes, France","institution_ids":["https://openalex.org/I2802519937","https://openalex.org/I56067802"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5069324527","display_name":"Jean\u2010Marc Jez\u00e9qu\u00e9l","orcid":"https://orcid.org/0000-0002-0582-9745"},"institutions":[{"id":"https://openalex.org/I2802519937","display_name":"Institut de Recherche en Informatique et Syst\u00e8mes Al\u00e9atoires","ror":"https://ror.org/00myn0z94","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I1326498283","https://openalex.org/I205703379","https://openalex.org/I2802204017","https://openalex.org/I2802519937","https://openalex.org/I28221208","https://openalex.org/I4210127572","https://openalex.org/I4210159245","https://openalex.org/I56067802"]},{"id":"https://openalex.org/I56067802","display_name":"Universit\u00e9 de Rennes","ror":"https://ror.org/015m7wh34","country_code":"FR","type":"education","lineage":["https://openalex.org/I56067802"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Jean-Marc J\u00e9z\u00e9quel","raw_affiliation_strings":["Univ. Rennes, Inria, IRISA, Rennes, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univ. Rennes, Inria, IRISA, Rennes, France","institution_ids":["https://openalex.org/I2802519937","https://openalex.org/I56067802"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.6032,"has_fulltext":false,"cited_by_count":11,"citation_normalized_percentile":{"value":0.83845438,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"1496","last_page":"1508"},"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.9995999932289124,"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.9995999932289124,"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/T10260","display_name":"Software Engineering Research","score":0.9991000294685364,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9987999796867371,"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/metamodeling","display_name":"Metamodeling","score":0.8217244148254395},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7692129611968994},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5881861448287964},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5759120583534241},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5518791675567627},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5393357872962952},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.526564359664917},{"id":"https://openalex.org/keywords/software-evolution","display_name":"Software evolution","score":0.5213536024093628},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.4931489825248718},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.4655486047267914},{"id":"https://openalex.org/keywords/software-mining","display_name":"Software mining","score":0.44740912318229675},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.3307217061519623},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3122420310974121},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.17907795310020447},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.15215718746185303},{"id":"https://openalex.org/keywords/software-construction","display_name":"Software construction","score":0.13881981372833252}],"concepts":[{"id":"https://openalex.org/C86610423","wikidata":"https://www.wikidata.org/wiki/Q1925081","display_name":"Metamodeling","level":2,"score":0.8217244148254395},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7692129611968994},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5881861448287964},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5759120583534241},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5518791675567627},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5393357872962952},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.526564359664917},{"id":"https://openalex.org/C202105479","wikidata":"https://www.wikidata.org/wiki/Q265013","display_name":"Software evolution","level":5,"score":0.5213536024093628},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.4931489825248718},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.4655486047267914},{"id":"https://openalex.org/C103520596","wikidata":"https://www.wikidata.org/wiki/Q7554328","display_name":"Software mining","level":5,"score":0.44740912318229675},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.3307217061519623},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3122420310974121},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.17907795310020447},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.15215718746185303},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.13881981372833252},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3377811.3380324","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3377811.3380324","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":54,"referenced_works":["https://openalex.org/W25364003","https://openalex.org/W74639613","https://openalex.org/W146458024","https://openalex.org/W1521163465","https://openalex.org/W1542225267","https://openalex.org/W1589399509","https://openalex.org/W1592640009","https://openalex.org/W1598165075","https://openalex.org/W1842503650","https://openalex.org/W1931440072","https://openalex.org/W1988281920","https://openalex.org/W2006775600","https://openalex.org/W2016915664","https://openalex.org/W2020914058","https://openalex.org/W2067245789","https://openalex.org/W2095628807","https://openalex.org/W2095741627","https://openalex.org/W2107344568","https://openalex.org/W2112847033","https://openalex.org/W2133363731","https://openalex.org/W2146486372","https://openalex.org/W2150789072","https://openalex.org/W2153323751","https://openalex.org/W2155028447","https://openalex.org/W2157748689","https://openalex.org/W2158389966","https://openalex.org/W2167736435","https://openalex.org/W2169123208","https://openalex.org/W2171733741","https://openalex.org/W2181002748","https://openalex.org/W2181698801","https://openalex.org/W2203711655","https://openalex.org/W2289531811","https://openalex.org/W2401819632","https://openalex.org/W2417062495","https://openalex.org/W2460236985","https://openalex.org/W2495503559","https://openalex.org/W2518794401","https://openalex.org/W2752923063","https://openalex.org/W2767368277","https://openalex.org/W2888138590","https://openalex.org/W2890508658","https://openalex.org/W2895270741","https://openalex.org/W2895777645","https://openalex.org/W3091156432","https://openalex.org/W3122945969","https://openalex.org/W3146412812","https://openalex.org/W3175747291","https://openalex.org/W4229772528","https://openalex.org/W4231010819","https://openalex.org/W4243227753","https://openalex.org/W4243740681","https://openalex.org/W4253228043","https://openalex.org/W4288614128"],"related_works":["https://openalex.org/W2605547445","https://openalex.org/W2104040631","https://openalex.org/W2033682843","https://openalex.org/W2054618371","https://openalex.org/W4398785906","https://openalex.org/W9259886","https://openalex.org/W2063955337","https://openalex.org/W127160419","https://openalex.org/W2068666551","https://openalex.org/W1695855420"],"abstract_inverted_index":{"Metamodels":[0],"play":[1],"a":[2,20,25,38,59,81,131,171,248],"significant":[3],"role":[4],"to":[5,18,63,74,103,156,186,215,246],"describe":[6],"and":[7,27,92,99,203,211,253,258],"analyze":[8],"the":[9,64,67,76,83,89,93,110,120,145,158,165,180,233,237],"relations":[10],"between":[11],"domain":[12,26],"concepts.":[13],"They":[14],"are":[15,69],"also":[16],"cornerstone":[17],"build":[19],"software":[21],"language":[22],"(SL)":[23],"for":[24],"its":[28],"associated":[29],"tooling.":[30],"Metamodel":[31],"definition":[32],"generally":[33],"drives":[34],"code":[35,50,86,159,231],"generation":[36],"of":[37,112,122,144,154,168,209,228,239,251,256],"core":[39,77,90],"API.":[40],"The":[41,139],"latter":[42],"is":[43,61,141,193],"further":[44],"enriched":[45],"by":[46,152],"developers":[47,84,189,266],"with":[48,232],"additional":[49],"implementing":[51],"advanced":[52],"functionalities,":[53],"e.g.,":[54],"checkers,":[55],"recommenders,":[56],"etc.":[57],"When":[58],"SL":[60,94,198],"evolved":[62,70,207,218],"next":[65],"version,":[66],"metamodels":[68,116,169,210],"as":[71],"well":[72],"before":[73],"re-generate":[75],"API":[78,91],"code.":[79,123,181,212],"As":[80],"result,":[82],"added":[85],"both":[87],"in":[88,179],"toolings":[95],"may":[96,101],"be":[97,104,150],"impacted":[98],"thus":[100],"need":[102],"co-evolved":[105,221,230],"accordingly.":[106],"Many":[107],"approaches":[108],"support":[109],"co-evolution":[111,121,133,264],"various":[113],"artifacts":[114],"when":[115],"evolve.":[117],"However,":[118],"not":[119],"This":[124],"paper":[125],"fills":[126],"this":[127],"gap.":[128],"We":[129],"propose":[130],"semi-automatic":[132],"approach":[134,162,243],"based":[135],"on":[136,164,195],"change":[137],"propagation.":[138],"premise":[140],"that":[142,265],"knowledge":[143],"metamodel":[146,173],"evolution":[147],"changes":[148],"can":[149],"propagated":[151],"means":[153],"resolutions":[155],"drive":[157],"co-evolution.":[160],"Our":[161,191,242],"leverages":[163],"abstraction":[166],"level":[167],"where":[170],"given":[172],"element":[174],"has":[175],"often":[176],"different":[177,188,217],"usages":[178],"It":[182],"supports":[183],"alternative":[184,263],"co-evaluations":[185],"meet":[187],"needs.":[190],"work":[192],"evaluated":[194],"three":[196],"Eclipse":[197],"implementations,":[199],"namely":[200],"OCL,":[201],"Modisco,":[202],"Papyrus":[204],"over":[205,224],"several":[206],"versions":[208],"In":[213],"response":[214],"five":[216],"metamodels,":[219],"we":[220],"976":[222],"impacts":[223],"18":[225],"projects.A":[226],"comparison":[227],"our":[229,240],"versioned":[234],"ones":[235],"shows":[236],"usefulness":[238],"approach.":[241],"was":[244],"able":[245],"reach":[247],"weighted":[249],"average":[250],"87.4%":[252],"88.9%":[254],"respectively":[255],"precision":[257],"recall":[259],"while":[260],"supporting":[261],"useful":[262],"have":[267],"manually":[268],"performed.":[269]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
