{"id":"https://openalex.org/W4403295750","doi":"https://doi.org/10.1109/tse.2024.3477723","title":"Consistent Local-First Software: Enforcing Safety and Invariants for Local-First Applications","display_name":"Consistent Local-First Software: Enforcing Safety and Invariants for Local-First Applications","publication_year":2024,"publication_date":"2024-10-10","ids":{"openalex":"https://openalex.org/W4403295750","doi":"https://doi.org/10.1109/tse.2024.3477723"},"language":"en","primary_location":{"id":"doi:10.1109/tse.2024.3477723","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tse.2024.3477723","pdf_url":null,"source":{"id":"https://openalex.org/S8351582","display_name":"IEEE Transactions on Software Engineering","issn_l":"0098-5589","issn":["0098-5589","1939-3520","2326-3881"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Software Engineering","raw_type":"journal-article"},"type":"article","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/A5003478969","display_name":"Mirko K\u00f6hler","orcid":"https://orcid.org/0000-0001-5497-9785"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technische Universit\u00e4t Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Mirko K\u00f6hler","raw_affiliation_strings":["Technische Universit&#x00E4;t Darmstadt, Darmstadt, Germany","Technische Universit\u00e4t Darmstadt, Germany"],"affiliations":[{"raw_affiliation_string":"Technische Universit&#x00E4;t Darmstadt, Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]},{"raw_affiliation_string":"Technische Universit\u00e4t Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5092101568","display_name":"George Zakhour","orcid":"https://orcid.org/0009-0000-5042-1207"},"institutions":[{"id":"https://openalex.org/I202963720","display_name":"University of St.Gallen","ror":"https://ror.org/0561a3s31","country_code":"CH","type":"education","lineage":["https://openalex.org/I202963720"]},{"id":"https://openalex.org/I4210145378","display_name":"University of Applied Sciences St. Gallen","ror":"https://ror.org/049bwzr51","country_code":"CH","type":"education","lineage":["https://openalex.org/I4210129390","https://openalex.org/I4210145378"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"George Zakhour","raw_affiliation_strings":["Universit&#x00E4;t St. Gallen, St. Gallen, Switzerland","Universit\u00e4t St. Gallen, Switzerland"],"affiliations":[{"raw_affiliation_string":"Universit&#x00E4;t St. Gallen, St. Gallen, Switzerland","institution_ids":["https://openalex.org/I202963720","https://openalex.org/I4210145378"]},{"raw_affiliation_string":"Universit\u00e4t St. Gallen, Switzerland","institution_ids":["https://openalex.org/I202963720"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5008442460","display_name":"Pascal Weisenburger","orcid":"https://orcid.org/0000-0003-1288-1485"},"institutions":[{"id":"https://openalex.org/I202963720","display_name":"University of St.Gallen","ror":"https://ror.org/0561a3s31","country_code":"CH","type":"education","lineage":["https://openalex.org/I202963720"]},{"id":"https://openalex.org/I4210145378","display_name":"University of Applied Sciences St. Gallen","ror":"https://ror.org/049bwzr51","country_code":"CH","type":"education","lineage":["https://openalex.org/I4210129390","https://openalex.org/I4210145378"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Pascal Weisenburger","raw_affiliation_strings":["Universit&#x00E4;t St. Gallen, St. Gallen, Switzerland","Universit\u00e4t St. Gallen, Switzerland"],"affiliations":[{"raw_affiliation_string":"Universit&#x00E4;t St. Gallen, St. Gallen, Switzerland","institution_ids":["https://openalex.org/I202963720","https://openalex.org/I4210145378"]},{"raw_affiliation_string":"Universit\u00e4t St. Gallen, Switzerland","institution_ids":["https://openalex.org/I202963720"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5090555377","display_name":"Guido Salvaneschi","orcid":"https://orcid.org/0000-0002-9324-8894"},"institutions":[{"id":"https://openalex.org/I202963720","display_name":"University of St.Gallen","ror":"https://ror.org/0561a3s31","country_code":"CH","type":"education","lineage":["https://openalex.org/I202963720"]},{"id":"https://openalex.org/I4210145378","display_name":"University of Applied Sciences St. Gallen","ror":"https://ror.org/049bwzr51","country_code":"CH","type":"education","lineage":["https://openalex.org/I4210129390","https://openalex.org/I4210145378"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Guido Salvaneschi","raw_affiliation_strings":["Universit&#x00E4;t St. Gallen, St. Gallen, Switzerland","Universit\u00e4t St. Gallen, Switzerland"],"affiliations":[{"raw_affiliation_string":"Universit&#x00E4;t St. Gallen, St. Gallen, Switzerland","institution_ids":["https://openalex.org/I202963720","https://openalex.org/I4210145378"]},{"raw_affiliation_string":"Universit\u00e4t St. Gallen, Switzerland","institution_ids":["https://openalex.org/I202963720"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5003478969"],"corresponding_institution_ids":["https://openalex.org/I31512782"],"apc_list":null,"apc_paid":null,"fwci":0.4776,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.69299337,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":"51","issue":"1","first_page":"53","last_page":"65"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9973000288009644,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9973000288009644,"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/T10142","display_name":"Formal Methods in Verification","score":0.9933000206947327,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T12423","display_name":"Software Reliability and Analysis Research","score":0.9904999732971191,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.838036060333252},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5572519898414612},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.49598726630210876},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4788896441459656},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.3371981978416443},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3337146043777466}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.838036060333252},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5572519898414612},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.49598726630210876},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4788896441459656},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3371981978416443},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3337146043777466}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/tse.2024.3477723","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tse.2024.3477723","pdf_url":null,"source":{"id":"https://openalex.org/S8351582","display_name":"IEEE Transactions on Software Engineering","issn_l":"0098-5589","issn":["0098-5589","1939-3520","2326-3881"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Software Engineering","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G5968817611","display_name":null,"funder_award_id":"200429","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"}],"funders":[{"id":"https://openalex.org/F4320320924","display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","ror":"https://ror.org/00yjd3n13"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":47,"referenced_works":["https://openalex.org/W1038420441","https://openalex.org/W1516319412","https://openalex.org/W1601925768","https://openalex.org/W1994350081","https://openalex.org/W2066210260","https://openalex.org/W2085335712","https://openalex.org/W2105986479","https://openalex.org/W2109213558","https://openalex.org/W2209943643","https://openalex.org/W2274598213","https://openalex.org/W2295616151","https://openalex.org/W2341655714","https://openalex.org/W2521191038","https://openalex.org/W2898350964","https://openalex.org/W2898359825","https://openalex.org/W2900394527","https://openalex.org/W2953478355","https://openalex.org/W2962804085","https://openalex.org/W2962931968","https://openalex.org/W2962936862","https://openalex.org/W2963097596","https://openalex.org/W2964963187","https://openalex.org/W2979846168","https://openalex.org/W2979942491","https://openalex.org/W2997905744","https://openalex.org/W3015745645","https://openalex.org/W3016035540","https://openalex.org/W3023105206","https://openalex.org/W3029286915","https://openalex.org/W3046946143","https://openalex.org/W3094813857","https://openalex.org/W3108570993","https://openalex.org/W3206444683","https://openalex.org/W4233804448","https://openalex.org/W4242516926","https://openalex.org/W4284887785","https://openalex.org/W4307886470","https://openalex.org/W4379534068","https://openalex.org/W4389245905","https://openalex.org/W4394946075","https://openalex.org/W4399851414","https://openalex.org/W6623035813","https://openalex.org/W6637396797","https://openalex.org/W6640035703","https://openalex.org/W6686169942","https://openalex.org/W6732276450","https://openalex.org/W6748801417"],"related_works":["https://openalex.org/W4231937131","https://openalex.org/W323219885","https://openalex.org/W2063928587","https://openalex.org/W1487966966","https://openalex.org/W1589342014","https://openalex.org/W1480341462","https://openalex.org/W598950423","https://openalex.org/W4256673449","https://openalex.org/W4292559016","https://openalex.org/W2143331802"],"abstract_inverted_index":{"Local-first":[0],"software":[1,19],"embraces":[2],"data":[3,22,27,39,133],"replication":[4],"as":[5,71],"a":[6,69,102],"means":[7],"to":[8,37,57,59,82,89,106,141,182],"achieve":[9],"scalability":[10],"and":[11,41,80,110,152,177],"offline":[12],"availability.":[13],"A":[14],"crucial":[15],"ingredient":[16],"of":[17,85,123,129,145,190],"local-first":[18,114],"are":[20,169],"mergeable":[21],"types,":[23,134],"like":[24],"conflict-free":[25],"replicated":[26,77,132],"types":[28],"(CRDTs),":[29],"which":[30],"feature":[31],"eventual":[32],"consistency":[33],"by":[34],"enabling":[35],"processes":[36],"access":[38],"locally":[40],"later":[42],"merge":[43],"it":[44],"with":[45,131],"other":[46],"replicas":[47],"in":[48,113,126,149,153,159,174],"an":[49],"asynchronous":[50],"manner.":[51],"Notably,":[52],"the":[53,76,91,121,127,143,150,156,160,187],"merging":[54],"process":[55],"needs":[56],"adhere":[58],"application":[60,87],"constraints":[61],"for":[62],"correctness.":[63],"Ensuring":[64],"such":[65,155],"application-level":[66],"invariants":[67,112,125],"poses":[68],"challenge,":[70],"developers":[72],"must":[73],"reason":[74],"about":[75],"program":[78],"state":[79],"resort":[81],"manual":[83],"synchronization":[84],"specific":[86],"components":[88],"enforce":[90,108],"invariant.":[92],"This":[93],"paper":[94],"introduces":[95],"<sc":[96,116,163],"xmlns:mml=\"http://www.w3.org/1998/Math/MathML\"":[97,117,164],"xmlns:xlink=\"http://www.w3.org/1999/xlink\">ConLoc</small>":[98,118,165],"(Consistent":[99],"Local-First":[100],"Software),":[101],"novel":[103],"system":[104],"designed":[105],"automatically":[107,170],"safety":[109],"maintain":[111],"applications.":[115],"effectively":[119],"addresses":[120],"issue":[122],"preserving":[124],"execution":[128],"programs":[130],"including":[135],"CRDTs.":[136],"Our":[137],"approach":[138],"is":[139],"able":[140],"verify":[142],"correctness":[144],"many":[146],"CRDTs":[147],"examined":[148],"literature":[151],"implementations,":[154],"ones":[157],"used":[158],"Riak":[161],"database.":[162],"ensures":[166],"that":[167],"applications":[168],"synchronized":[171],"correctly,":[172],"resulting":[173],"substantial":[175],"latency":[176],"throughput":[178],"improvements":[179],"when":[180],"compared":[181],"sequential":[183],"execution,":[184],"while":[185],"upholding":[186],"same":[188],"set":[189],"invariants.":[191]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-04-09T08:11:56.329763","created_date":"2025-10-10T00:00:00"}
