{"id":"https://openalex.org/W4406221809","doi":"https://doi.org/10.1145/3704909","title":"Grove: A Bidirectionally Typed Collaborative Structure Editor Calculus","display_name":"Grove: A Bidirectionally Typed Collaborative Structure Editor Calculus","publication_year":2025,"publication_date":"2025-01-07","ids":{"openalex":"https://openalex.org/W4406221809","doi":"https://doi.org/10.1145/3704909"},"language":"en","primary_location":{"id":"doi:10.1145/3704909","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3704909","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3704909","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5101495354","display_name":"Michael D. Adams","orcid":"https://orcid.org/0000-0003-3160-6972"},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Michael D. Adams","raw_affiliation_strings":["National University of Singapore, Singapore, Singapore"],"raw_orcid":"https://orcid.org/0000-0003-3160-6972","affiliations":[{"raw_affiliation_string":"National University of Singapore, Singapore, Singapore","institution_ids":["https://openalex.org/I165932596"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5012256774","display_name":"Eric Griffis","orcid":"https://orcid.org/0000-0003-1693-6172"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Eric Griffis","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"raw_orcid":"https://orcid.org/0000-0003-1693-6172","affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5072260589","display_name":"Tod S. Porter","orcid":null},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Thomas J. Porter","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"raw_orcid":"https://orcid.org/0009-0000-1809-8382","affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5115826602","display_name":"Sundara Vishnu Satish","orcid":null},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sundara Vishnu Satish","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"raw_orcid":"https://orcid.org/0009-0002-8685-1342","affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5038631529","display_name":"Eric Zhao","orcid":"https://orcid.org/0009-0000-4969-2376"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Eric Zhao","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"raw_orcid":"https://orcid.org/0009-0000-4969-2376","affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5001010367","display_name":"Cyrus Omar","orcid":"https://orcid.org/0000-0003-4502-7971"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Cyrus Omar","raw_affiliation_strings":["University of Michigan, Ann Arbor, USA"],"raw_orcid":"https://orcid.org/0000-0003-4502-7971","affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor, USA","institution_ids":["https://openalex.org/I27837315"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.396,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.81957009,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":"9","issue":"POPL","first_page":"2176","last_page":"2204"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9997000098228455,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9997000098228455,"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"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9976999759674072,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9975000023841858,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/computer-science","display_name":"Computer science","score":0.442805677652359},{"id":"https://openalex.org/keywords/calculus","display_name":"Calculus (dental)","score":0.4148094952106476},{"id":"https://openalex.org/keywords/cognitive-science","display_name":"Cognitive science","score":0.3327818214893341},{"id":"https://openalex.org/keywords/psychology","display_name":"Psychology","score":0.18297606706619263},{"id":"https://openalex.org/keywords/medicine","display_name":"Medicine","score":0.12539511919021606},{"id":"https://openalex.org/keywords/orthodontics","display_name":"Orthodontics","score":0.06524205207824707}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.442805677652359},{"id":"https://openalex.org/C2777686260","wikidata":"https://www.wikidata.org/wiki/Q144037","display_name":"Calculus (dental)","level":2,"score":0.4148094952106476},{"id":"https://openalex.org/C188147891","wikidata":"https://www.wikidata.org/wiki/Q147638","display_name":"Cognitive science","level":1,"score":0.3327818214893341},{"id":"https://openalex.org/C15744967","wikidata":"https://www.wikidata.org/wiki/Q9418","display_name":"Psychology","level":0,"score":0.18297606706619263},{"id":"https://openalex.org/C71924100","wikidata":"https://www.wikidata.org/wiki/Q11190","display_name":"Medicine","level":0,"score":0.12539511919021606},{"id":"https://openalex.org/C29694066","wikidata":"https://www.wikidata.org/wiki/Q118301","display_name":"Orthodontics","level":1,"score":0.06524205207824707}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3704909","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3704909","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:deepblue.lib.umich.edu:2027.42/198715","is_oa":false,"landing_page_url":"https://hdl.handle.net/2027.42/198715","pdf_url":null,"source":{"id":"https://openalex.org/S4306400393","display_name":"Deep Blue (University of Michigan)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I27837315","host_organization_name":"University of Michigan","host_organization_lineage":["https://openalex.org/I27837315"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Article"},{"id":"doi:10.5281/zenodo.13909484","is_oa":true,"landing_page_url":"https://doi.org/10.5281/zenodo.13909484","pdf_url":null,"source":{"id":"https://openalex.org/S4306400562","display_name":"Zenodo (CERN European Organization for Nuclear Research)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"Software"}],"best_oa_location":{"id":"doi:10.1145/3704909","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3704909","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4476064103","display_name":"CAREER: Live and Direct Programming Environments","funder_award_id":"2238744","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":36,"referenced_works":["https://openalex.org/W1518271022","https://openalex.org/W1590649805","https://openalex.org/W1605903931","https://openalex.org/W1854095105","https://openalex.org/W1881465144","https://openalex.org/W1963557108","https://openalex.org/W1976263585","https://openalex.org/W1978478796","https://openalex.org/W1985225835","https://openalex.org/W2013396555","https://openalex.org/W2065489029","https://openalex.org/W2071968957","https://openalex.org/W2116940122","https://openalex.org/W2118242633","https://openalex.org/W2124212956","https://openalex.org/W2124927340","https://openalex.org/W2134308710","https://openalex.org/W2143275903","https://openalex.org/W2151541805","https://openalex.org/W2153150125","https://openalex.org/W2156186462","https://openalex.org/W2170849273","https://openalex.org/W2171643895","https://openalex.org/W2284690928","https://openalex.org/W2489483223","https://openalex.org/W2520449974","https://openalex.org/W2548120315","https://openalex.org/W2597798581","https://openalex.org/W2604229470","https://openalex.org/W2912949875","https://openalex.org/W3015972331","https://openalex.org/W3187876763","https://openalex.org/W3206444683","https://openalex.org/W4236824789","https://openalex.org/W4309617332","https://openalex.org/W4390604815"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W2390279801","https://openalex.org/W4391913857","https://openalex.org/W2358668433","https://openalex.org/W4396701345","https://openalex.org/W2376932109","https://openalex.org/W2001405890","https://openalex.org/W4396696052"],"abstract_inverted_index":{"Version":[0],"control":[1],"systems":[2],"typically":[3],"rely":[4],"on":[5,238],"a":[6,52,88,110,138,147,170,179,212,239,287],"patch":[7,11,23,59],"language":[8],",":[9,16,144,275],"heuristic":[10],"synthesis":[12,60],"algorithms":[13,20,27,64,283],"like":[14],"diff":[15],"and":[17,25,61,79,118,126,156,163,230,249,282],"three-way":[18,62],"merge":[19,26,63],".":[21],"Standard":[22],"languages":[24],"often":[28],"fail":[29,250],"to":[30,39,101,123,200,225,244],"identify":[31],"conflicts":[32,96,231],"correctly":[33],"when":[34,252],"there":[35],"are":[36,68,146,188],"multiple":[37],"edits":[38,81,121],"one":[40],"line":[41,217],"of":[42,74,149,260],"code":[43,45,102],"or":[44],"is":[46,109,209],"relocated.":[47],"This":[48],"paper":[49],"introduces":[50],"Grove,":[51],"collaborative":[53],"structure":[54],"editor":[55,184,196],"calculus":[56],"that":[57,97,177],"eliminates":[58],"entirely.":[65],"Instead,":[66],"patches":[67],"derived":[69],"directly":[70],"from":[71,140],"the":[72,75,84,104,258,263,272,278],"log":[73],"developer\u2019s":[76],"edit":[77],"actions":[78],"all":[80,183],"commute,":[82],"i.e.":[83,182],"repository":[85],"state":[86],"forms":[87],"commutative":[89],"replicated":[90],"data":[91,280],"type":[92,171,233,241,247],"(CmRDT).":[93],"To":[94,132],"handle":[95,226],"can":[98,193],"arise":[99],"due":[100],"relocation,":[103,155],"core":[105],"datatype":[106],"in":[107,186,216,284],"Grove":[108,187,261,273],"labeled":[111],"directed":[112],"multi-graph":[113],"with":[114,128,152,218,221],"uniquely":[115],"identified":[116],"vertices":[117],"edges.":[119],"All":[120],"amount":[122],"edge":[124],"insertion":[125],"deletion,":[127],"deletion":[129],"being":[130],"permanent.":[131],"support":[133],"tree-based":[134],"editing,":[135],"we":[136,168],"define":[137,169],"decomposition":[139],"graphs":[141],"into":[142],"groves":[143,176],"which":[145,276],"set":[148],"syntax":[150,288],"trees":[151],"conflicts\u2013including":[153],"local,":[154],"unicyclic":[157],"relocation":[158],"conflicts\u2013represented":[159],"explicitly":[160,203],"using":[161,262],"holes":[162,248],"references":[164],"between":[165],"trees.":[166],"Finally,":[167],"error":[172],"localization":[173],"system":[174,215,243],"for":[175],"enjoys":[178],"totality":[180],"property,":[181],"states":[185],"statically":[189],"meaningful,":[190],"so":[191],"developers":[192],"use":[194],"standard":[195],"services":[197],"while":[198],"working":[199],"resolve":[201],"these":[202,269],"represented":[204],"conflicts.":[205],"The":[206],"static":[207],"semantics":[208],"defined":[210],"as":[211,271],"bidirectional":[213],"marking":[214],"recent":[219],"work,":[220],"gradual":[222],"typing":[223],"employed":[224],"situations":[227],"where":[228],"errors":[229],"prevent":[232],"determination.":[234],"We":[235,256,267],"then":[236],"layer":[237],"unification-based":[240],"inference":[242],"opportunistically":[245],"fill":[246],"gracefully":[251],"no":[253],"solution":[254],"exists.":[255],"mechanize":[257],"metatheory":[259],"Agda":[264],"theorem":[265],"prover.":[266],"implement":[268],"ideas":[270],"Workbench":[274],"generates":[277],"necessary":[279],"structures":[281],"OCaml":[285],"given":[286],"tree":[289],"specification.":[290]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
