{"id":"https://openalex.org/W4387674126","doi":"https://doi.org/10.1145/3622840","title":"Bring Your Own Data Structures to Datalog","display_name":"Bring Your Own Data Structures to Datalog","publication_year":2023,"publication_date":"2023-10-16","ids":{"openalex":"https://openalex.org/W4387674126","doi":"https://doi.org/10.1145/3622840"},"language":"en","primary_location":{"id":"doi:10.1145/3622840","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622840","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622840","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"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3622840","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5045795712","display_name":"Arash Sahebolamri","orcid":"https://orcid.org/0000-0003-3657-093X"},"institutions":[{"id":"https://openalex.org/I70983195","display_name":"Syracuse University","ror":"https://ror.org/025r5qe02","country_code":"US","type":"education","lineage":["https://openalex.org/I70983195"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Arash Sahebolamri","raw_affiliation_strings":["Syracuse University, Syracuse, USA"],"raw_orcid":"https://orcid.org/0000-0003-3657-093X","affiliations":[{"raw_affiliation_string":"Syracuse University, Syracuse, USA","institution_ids":["https://openalex.org/I70983195"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023681431","display_name":"L. L. Barrett","orcid":null},"institutions":[{"id":"https://openalex.org/I4210140281","display_name":"Galois (United States)","ror":"https://ror.org/03g8y8161","country_code":"US","type":"company","lineage":["https://openalex.org/I4210140281"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Langston Barrett","raw_affiliation_strings":["Galois, Portland, USA"],"raw_orcid":"https://orcid.org/0009-0005-0190-8912","affiliations":[{"raw_affiliation_string":"Galois, Portland, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5031793485","display_name":"Scott A. Moore","orcid":"https://orcid.org/0009-0009-0719-1130"},"institutions":[{"id":"https://openalex.org/I4210140281","display_name":"Galois (United States)","ror":"https://ror.org/03g8y8161","country_code":"US","type":"company","lineage":["https://openalex.org/I4210140281"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Scott Moore","raw_affiliation_strings":["Galois, Portland, USA"],"raw_orcid":"https://orcid.org/0009-0009-0719-1130","affiliations":[{"raw_affiliation_string":"Galois, Portland, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5066289382","display_name":"Kristopher Micinski","orcid":"https://orcid.org/0000-0002-8650-0991"},"institutions":[{"id":"https://openalex.org/I70983195","display_name":"Syracuse University","ror":"https://ror.org/025r5qe02","country_code":"US","type":"education","lineage":["https://openalex.org/I70983195"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kristopher Micinski","raw_affiliation_strings":["Syracuse University, Syracuse, USA"],"raw_orcid":"https://orcid.org/0000-0002-8650-0991","affiliations":[{"raw_affiliation_string":"Syracuse University, Syracuse, USA","institution_ids":["https://openalex.org/I70983195"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.7948,"has_fulltext":true,"cited_by_count":11,"citation_normalized_percentile":{"value":0.88165062,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":95,"max":98},"biblio":{"volume":"7","issue":"OOPSLA2","first_page":"1198","last_page":"1223"},"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.9993000030517578,"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.9993000030517578,"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/T10142","display_name":"Formal Methods in Verification","score":0.9980999827384949,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9958999752998352,"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/datalog","display_name":"Datalog","score":0.9527201652526855},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8757733106613159},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6656096577644348},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.5746099352836609},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.5592145919799805},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5201021432876587},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4989020824432373},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.2832207679748535}],"concepts":[{"id":"https://openalex.org/C148230440","wikidata":"https://www.wikidata.org/wiki/Q1172264","display_name":"Datalog","level":2,"score":0.9527201652526855},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8757733106613159},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6656096577644348},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.5746099352836609},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.5592145919799805},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5201021432876587},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4989020824432373},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.2832207679748535}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3622840","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622840","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622840","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"}],"best_oa_location":{"id":"doi:10.1145/3622840","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622840","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622840","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/G7542878562","display_name":null,"funder_award_id":"N66001-21-C-402","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G8043176998","display_name":null,"funder_award_id":"N66001-21-C-4023","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G8184132290","display_name":"Collaborative Research: PPoSS: A Full-stack Approach to Declarative Analytics at Scale","funder_award_id":"2217037","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"},{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"},{"id":"https://openalex.org/F4320332815","display_name":"Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4387674126.pdf","grobid_xml":"https://content.openalex.org/works/W4387674126.grobid-xml"},"referenced_works_count":40,"referenced_works":["https://openalex.org/W1671718115","https://openalex.org/W2008865455","https://openalex.org/W2016531106","https://openalex.org/W2022132320","https://openalex.org/W2046213250","https://openalex.org/W2073074467","https://openalex.org/W2090168101","https://openalex.org/W2096650850","https://openalex.org/W2101344335","https://openalex.org/W2118668463","https://openalex.org/W2131135493","https://openalex.org/W2152397470","https://openalex.org/W2163521620","https://openalex.org/W2167685423","https://openalex.org/W2417567569","https://openalex.org/W2433992225","https://openalex.org/W2493901872","https://openalex.org/W2517279098","https://openalex.org/W2729642007","https://openalex.org/W2903272482","https://openalex.org/W2916507006","https://openalex.org/W2964250337","https://openalex.org/W2985829845","https://openalex.org/W2996212942","https://openalex.org/W2999478521","https://openalex.org/W3031488652","https://openalex.org/W3098470576","https://openalex.org/W3099525000","https://openalex.org/W3109650547","https://openalex.org/W3117137355","https://openalex.org/W3174779340","https://openalex.org/W4220851630","https://openalex.org/W4239352695","https://openalex.org/W4241006348","https://openalex.org/W4246166885","https://openalex.org/W4247889999","https://openalex.org/W4255993952","https://openalex.org/W4285451014","https://openalex.org/W4302028463","https://openalex.org/W4379536906"],"related_works":["https://openalex.org/W2570392075","https://openalex.org/W1556735226","https://openalex.org/W2023906867","https://openalex.org/W2171648479","https://openalex.org/W2768256330","https://openalex.org/W2132806979","https://openalex.org/W1713081424","https://openalex.org/W1523769955","https://openalex.org/W2245390655","https://openalex.org/W188282463"],"abstract_inverted_index":{"The":[0],"restricted":[1],"logic":[2],"programming":[3],"language":[4],"Datalog":[5,22,25,239],"has":[6],"become":[7],"a":[8,52,89,209],"popular":[9],"implementation":[10,112],"target":[11],"for":[12,167,185],"deductive-analytic":[13],"workloads":[14],"including":[15,164,192],"social-media":[16],"analytics":[17],"and":[18,187,208,233],"program":[19],"analysis.":[20],"Modern":[21],"engines":[23,41],"compile":[24],"rules":[26,100],"to":[27,64,116,123,190,216],"joins":[28],"over":[29],"explicit":[30],"representations":[31],"of":[32,67,88,144,149,158,175,196,212],"relations\u2014often":[33],"B-trees":[34],"or":[35],"hash":[36],"maps.":[37],"While":[38],"these":[39],"modern":[40],"have":[42,51],"enabled":[43],"high":[44],"scalability":[45,227],"in":[46,85,92],"many":[47,173],"application":[48],"domains,":[49],"they":[50],"crucial":[53],"weakness:":[54],"achieving":[55],"the":[56,68,77,86,106,142,154,176,197],"desired":[57],"algorithmic":[58,226],"complexity":[59],"may":[60],"be":[61],"impossible":[62],"due":[63],"representation-imposed":[65],"overhead":[66],"engine\u2019s":[69],"data":[70,108,121,159,183],"structures.":[71],"In":[72],"this":[73],"paper,":[74],"we":[75],"present":[76],"\"Bring":[78],"Your":[79],"Own":[80],"Data":[81],"Structures\"":[82],"(Byods)":[83],"approach,":[84,178],"form":[87],"DSL":[90],"embedded":[91],"Rust.":[93],"Using":[94],"Byods,":[95,163],"an":[96,114,147,193],"engineer":[97],"writes":[98],"logical":[99],"which":[101,126],"are":[102],"implicitly":[103],"parametric":[104],"on":[105],"concrete":[107],"structure":[109],"representation;":[110],"our":[111,133,151],"provides":[113],"interface":[115],"enable":[117],"\"bringing":[118],"their":[119],"own\"":[120],"structures":[122,160,184],"represent":[124],"relations,":[125],"harmoniously":[127],"interact":[128],"with":[129,162,236],"code":[130],"generated":[131],"by":[132,206],"compiler":[134],"(implemented":[135],"as":[136,146],"Rust":[137,198],"procedural":[138],"macros).":[139],"We":[140,171],"formalize":[141],"semantics":[143],"Byods":[145,177,222],"extension":[148],"Datalog\u2019s;":[150],"formalization":[152],"captures":[153],"key":[155],"properties":[156,165],"demanded":[157],"compatible":[161],"required":[166],"incrementalized":[168],"(semi-na\u00efve)":[169],"evaluation.":[170],"detail":[172],"applications":[174],"implementing":[179],"analyses":[180],"requiring":[181],"specialized":[182],"transitive":[186],"equivalence":[188],"relations":[189],"scale,":[191],"optimized":[194],"version":[195],"borrow":[199],"checker":[200],"Polonius;":[201],"highly-parallel":[202],"PageRank":[203],"made":[204],"possible":[205],"lattices;":[207],"large-scale":[210],"analysis":[211],"LLVM":[213],"utilizing":[214],"index-sharing":[215],"scale.":[217],"Our":[218],"results":[219],"show":[220],"that":[221],"offers":[223],"both":[224],"improved":[225],"(reduced":[228],"time":[229],"and/or":[230],"space":[231],"complexity)":[232],"runtimes":[234],"competitive":[235],"state-of-the-art":[237],"parallelizing":[238],"solvers.":[240]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":6}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
