{"id":"https://openalex.org/W3133563054","doi":"https://doi.org/10.1145/3453483.3454028","title":"Repairing serializability bugs in distributed database programs via automated schema refactoring","display_name":"Repairing serializability bugs in distributed database programs via automated schema refactoring","publication_year":2021,"publication_date":"2021-06-18","ids":{"openalex":"https://openalex.org/W3133563054","doi":"https://doi.org/10.1145/3453483.3454028","mag":"3133563054"},"language":"en","primary_location":{"id":"doi:10.1145/3453483.3454028","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3453483.3454028","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3453483.3454028","source":null,"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 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3453483.3454028","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Kia Rahmani","orcid":null},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Kia Rahmani","raw_affiliation_strings":["Purdue University, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Kartik Nagar","orcid":null},"institutions":[{"id":"https://openalex.org/I24676775","display_name":"Indian Institute of Technology Madras","ror":"https://ror.org/03v0r5n49","country_code":"IN","type":"facility","lineage":["https://openalex.org/I24676775"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"Kartik Nagar","raw_affiliation_strings":["IIT Madras, India"],"affiliations":[{"raw_affiliation_string":"IIT Madras, India","institution_ids":["https://openalex.org/I24676775"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Benjamin Delaware","orcid":null},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Benjamin Delaware","raw_affiliation_strings":["Purdue University, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"last","author":{"id":null,"display_name":"Suresh Jagannathan","orcid":null},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Suresh Jagannathan","raw_affiliation_strings":["Purdue University, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I219193219"],"apc_list":null,"apc_paid":null,"fwci":0.4801,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.65042714,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"32","last_page":"47"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998999834060669,"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"}},{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.9987999796867371,"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"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9961000084877014,"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/serializability","display_name":"Serializability","score":0.9176999926567078},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.7422999739646912},{"id":"https://openalex.org/keywords/concurrency-control","display_name":"Concurrency control","score":0.6880999803543091},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.6873999834060669},{"id":"https://openalex.org/keywords/multiversion-concurrency-control","display_name":"Multiversion concurrency control","score":0.6588000059127808},{"id":"https://openalex.org/keywords/non-lock-concurrency-control","display_name":"Non-lock concurrency control","score":0.5659000277519226},{"id":"https://openalex.org/keywords/distributed-concurrency-control","display_name":"Distributed concurrency control","score":0.5530999898910522},{"id":"https://openalex.org/keywords/optimistic-concurrency-control","display_name":"Optimistic concurrency control","score":0.5020999908447266}],"concepts":[{"id":"https://openalex.org/C191558696","wikidata":"https://www.wikidata.org/wiki/Q137712","display_name":"Serializability","level":5,"score":0.9176999926567078},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8756999969482422},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.7422999739646912},{"id":"https://openalex.org/C84511453","wikidata":"https://www.wikidata.org/wiki/Q2914952","display_name":"Concurrency control","level":3,"score":0.6880999803543091},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.6873999834060669},{"id":"https://openalex.org/C108744092","wikidata":"https://www.wikidata.org/wiki/Q93695","display_name":"Multiversion concurrency control","level":5,"score":0.6588000059127808},{"id":"https://openalex.org/C61912525","wikidata":"https://www.wikidata.org/wiki/Q7048952","display_name":"Non-lock concurrency control","level":5,"score":0.5659000277519226},{"id":"https://openalex.org/C208087996","wikidata":"https://www.wikidata.org/wiki/Q5283142","display_name":"Distributed concurrency control","level":4,"score":0.5530999898910522},{"id":"https://openalex.org/C79240183","wikidata":"https://www.wikidata.org/wiki/Q1779327","display_name":"Optimistic concurrency control","level":5,"score":0.5020999908447266},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.48910000920295715},{"id":"https://openalex.org/C25185021","wikidata":"https://www.wikidata.org/wiki/Q4053284","display_name":"Distributed transaction","level":4,"score":0.4465999901294708},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.44359999895095825},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.4408999979496002},{"id":"https://openalex.org/C2775941552","wikidata":"https://www.wikidata.org/wiki/Q25212305","display_name":"Isolation (microbiology)","level":2,"score":0.40529999136924744},{"id":"https://openalex.org/C70061542","wikidata":"https://www.wikidata.org/wiki/Q989016","display_name":"Distributed database","level":2,"score":0.4041000008583069},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.38280001282691956},{"id":"https://openalex.org/C35819235","wikidata":"https://www.wikidata.org/wiki/Q186868","display_name":"Timestamp-based concurrency control","level":5,"score":0.37130001187324524},{"id":"https://openalex.org/C52146309","wikidata":"https://www.wikidata.org/wiki/Q7431116","display_name":"Schema (genetic algorithms)","level":2,"score":0.3707999885082245},{"id":"https://openalex.org/C72108876","wikidata":"https://www.wikidata.org/wiki/Q844565","display_name":"Transaction processing","level":3,"score":0.3188000023365021},{"id":"https://openalex.org/C191087605","wikidata":"https://www.wikidata.org/wiki/Q1501395","display_name":"Online transaction processing","level":4,"score":0.30399999022483826},{"id":"https://openalex.org/C131346163","wikidata":"https://www.wikidata.org/wiki/Q2290484","display_name":"Two-phase locking","level":5,"score":0.25949999690055847}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3453483.3454028","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3453483.3454028","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3453483.3454028","source":null,"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 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:2103.05573","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2103.05573","pdf_url":"https://arxiv.org/pdf/2103.05573","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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":"text"}],"best_oa_location":{"id":"doi:10.1145/3453483.3454028","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3453483.3454028","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3453483.3454028","source":null,"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 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4367367344","display_name":null,"funder_award_id":"1717741","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":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3133563054.pdf","grobid_xml":"https://content.openalex.org/works/W3133563054.grobid-xml"},"referenced_works_count":39,"referenced_works":["https://openalex.org/W1516319412","https://openalex.org/W1601925768","https://openalex.org/W1916848204","https://openalex.org/W1969925795","https://openalex.org/W1970748906","https://openalex.org/W1991199257","https://openalex.org/W1995339490","https://openalex.org/W1998688529","https://openalex.org/W2023304911","https://openalex.org/W2046474027","https://openalex.org/W2046654145","https://openalex.org/W2054584570","https://openalex.org/W2060234806","https://openalex.org/W2060818668","https://openalex.org/W2087946700","https://openalex.org/W2103087173","https://openalex.org/W2117917070","https://openalex.org/W2127428602","https://openalex.org/W2130617154","https://openalex.org/W2143725230","https://openalex.org/W2150630976","https://openalex.org/W2209943643","https://openalex.org/W2240667924","https://openalex.org/W2282477915","https://openalex.org/W2435606122","https://openalex.org/W2605875268","https://openalex.org/W2612488340","https://openalex.org/W2613747361","https://openalex.org/W2765382207","https://openalex.org/W2797563685","https://openalex.org/W2798647014","https://openalex.org/W2885875591","https://openalex.org/W2898350964","https://openalex.org/W2963046270","https://openalex.org/W2963426888","https://openalex.org/W2964240296","https://openalex.org/W2970657450","https://openalex.org/W2979656637","https://openalex.org/W2979942491"],"related_works":[],"abstract_inverted_index":{"Serializability":[0],"is":[1,62,170],"a":[2,18,36,63,117,125,160,194],"well-understood":[3],"concurrency":[4,58,133,141,175],"control":[5,134],"mechanism":[6],"that":[7,46,123,167],"eases":[8],"reasoning":[9],"about":[10,75],"highly-concurrent":[11],"database":[12,26,155,164],"programs.":[13],"Unfortunately,":[14],"enforcing":[15],"serializability":[16],"has":[17],"high":[19],"performance":[20],"cost,":[21],"especially":[22],"on":[23,68],"geographically":[24],"distributed":[25],"clusters.":[27],"Consequently,":[28],"many":[29],"databases":[30],"allow":[31],"programmers":[32],"to":[33,55,66,72,106,137,146,193],"choose":[34],"when":[35,53,85],"transaction":[37],"must":[38],"be":[39,50,104,147],"executed":[40,149],"under":[41,150],"serializability,":[42],"with":[43,177],"the":[44,96],"expectation":[45],"transactions":[47,100,145],"would":[48,88],"only":[49],"so":[51],"marked":[52],"necessary":[54],"avoid":[56],"serious":[57],"bugs.":[59],"However,":[60],"this":[61,112,114],"significant":[64],"burden":[65],"impose":[67],"developers,":[69],"requiring":[70],"them":[71],"(a)":[73],"reason":[74],"subtle":[76],"concurrent":[77],"interactions":[78,87],"among":[79],"potentially":[80],"interfering":[81],"transactions,":[82],"(b)":[83],"determine":[84],"such":[86],"violate":[89],"desired":[90],"invariants,":[91],"and":[92,152,188],"(c)":[93],"then":[94],"identify":[95],"minimum":[97],"number":[98],"of":[99,162,184],"whose":[101],"executions":[102],"should":[103],"serialized":[105,195],"prevent":[107],"these":[108],"violations.":[109],"To":[110],"mitigate":[111],"burden,":[113],"paper":[115],"presents":[116],"sound":[118],"fully-automated":[119],"schema":[120],"refactoring":[121],"procedure":[122],"refactors":[124],"program\u2019s":[126],"data":[127],"layout":[128],"\u2013":[129,136],"rather":[130],"than":[131],"its":[132],"logic":[135],"eliminate":[138],"statically":[139],"identified":[140],"bugs,":[142,176],"allowing":[143],"more":[144,153],"safely":[148],"weaker":[151],"performant":[154],"guarantees.":[156],"Experimental":[157],"results":[158],"over":[159],"range":[161],"realistic":[163],"benchmarks":[165],"indicate":[166],"our":[168],"approach":[169],"highly":[171],"effective":[172],"in":[173],"eliminating":[174],"safe":[178],"refactored":[179],"programs":[180],"showing":[181],"an":[182],"average":[183],"120%":[185],"higher":[186],"throughput":[187],"45%":[189],"lower":[190],"latency":[191],"compared":[192],"baseline.":[196]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2021-03-15T00:00:00"}
