{"id":"https://openalex.org/W4396214302","doi":"https://doi.org/10.1145/3649815","title":"Finding Cross-Rule Optimization Bugs in Datalog Engines","display_name":"Finding Cross-Rule Optimization Bugs in Datalog Engines","publication_year":2024,"publication_date":"2024-04-29","ids":{"openalex":"https://openalex.org/W4396214302","doi":"https://doi.org/10.1145/3649815"},"language":"en","primary_location":{"id":"doi:10.1145/3649815","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3649815","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"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3649815","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5035871486","display_name":"C. Zhang","orcid":"https://orcid.org/0000-0002-2848-6108"},"institutions":[{"id":"https://openalex.org/I881766915","display_name":"Nanjing University","ror":"https://ror.org/01rxvg760","country_code":"CN","type":"education","lineage":["https://openalex.org/I881766915"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Chi Zhang","raw_affiliation_strings":["Nanjing University, Nanjing, China"],"raw_orcid":"https://orcid.org/0000-0002-2848-6108","affiliations":[{"raw_affiliation_string":"Nanjing University, Nanjing, China","institution_ids":["https://openalex.org/I881766915"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090305216","display_name":"Linzhang Wang","orcid":"https://orcid.org/0000-0003-4794-1652"},"institutions":[{"id":"https://openalex.org/I881766915","display_name":"Nanjing University","ror":"https://ror.org/01rxvg760","country_code":"CN","type":"education","lineage":["https://openalex.org/I881766915"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Linzhang Wang","raw_affiliation_strings":["Nanjing University, Nanjing, China"],"raw_orcid":"https://orcid.org/0000-0003-4794-1652","affiliations":[{"raw_affiliation_string":"Nanjing University, Nanjing, China","institution_ids":["https://openalex.org/I881766915"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5066738024","display_name":"Manuel Rigger","orcid":"https://orcid.org/0000-0001-8303-2099"},"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":"Manuel Rigger","raw_affiliation_strings":["National University of Singapore, Singapore, Singapore"],"raw_orcid":"https://orcid.org/0000-0001-8303-2099","affiliations":[{"raw_affiliation_string":"National University of Singapore, Singapore, Singapore","institution_ids":["https://openalex.org/I165932596"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.8774,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.77057538,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":95},"biblio":{"volume":"8","issue":"OOPSLA1","first_page":"110","last_page":"136"},"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.9991999864578247,"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.9991999864578247,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9983999729156494,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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.9983000159263611,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/datalog","display_name":"Datalog","score":0.9183043241500854},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5985427498817444},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5119937062263489}],"concepts":[{"id":"https://openalex.org/C148230440","wikidata":"https://www.wikidata.org/wiki/Q1172264","display_name":"Datalog","level":2,"score":0.9183043241500854},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5985427498817444},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5119937062263489}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3649815","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3649815","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"}],"best_oa_location":{"id":"doi:10.1145/3649815","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3649815","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":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":56,"referenced_works":["https://openalex.org/W109452506","https://openalex.org/W1480909796","https://openalex.org/W1556422040","https://openalex.org/W1565675663","https://openalex.org/W1600055947","https://openalex.org/W1660714679","https://openalex.org/W1999734621","https://openalex.org/W2017469907","https://openalex.org/W2021651899","https://openalex.org/W2032504915","https://openalex.org/W2034521022","https://openalex.org/W2034766600","https://openalex.org/W2040019628","https://openalex.org/W2073427971","https://openalex.org/W2085609918","https://openalex.org/W2106614716","https://openalex.org/W2139875914","https://openalex.org/W2155882070","https://openalex.org/W2158047578","https://openalex.org/W2158600037","https://openalex.org/W2167685423","https://openalex.org/W2167845698","https://openalex.org/W2171446564","https://openalex.org/W2299299451","https://openalex.org/W2324595780","https://openalex.org/W2417567569","https://openalex.org/W2433992225","https://openalex.org/W2493901872","https://openalex.org/W2502658919","https://openalex.org/W2622559577","https://openalex.org/W2782311202","https://openalex.org/W2805052744","https://openalex.org/W2893435177","https://openalex.org/W2903272482","https://openalex.org/W2912940102","https://openalex.org/W2955447707","https://openalex.org/W2985829845","https://openalex.org/W2999478521","https://openalex.org/W3005142042","https://openalex.org/W3021830120","https://openalex.org/W3042605769","https://openalex.org/W3097728505","https://openalex.org/W3099032206","https://openalex.org/W3106731144","https://openalex.org/W3173232544","https://openalex.org/W3196217620","https://openalex.org/W4236289356","https://openalex.org/W4244210390","https://openalex.org/W4247889999","https://openalex.org/W4249074392","https://openalex.org/W4255993952","https://openalex.org/W4285157437","https://openalex.org/W4296313421","https://openalex.org/W4384154415","https://openalex.org/W6675101405","https://openalex.org/W6911408737"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2748952813","https://openalex.org/W2955734379","https://openalex.org/W2049216635","https://openalex.org/W3121709727","https://openalex.org/W1537382653","https://openalex.org/W2570392075","https://openalex.org/W1556735226","https://openalex.org/W2023906867","https://openalex.org/W2124217695"],"abstract_inverted_index":{"Datalog":[0,10,79,90,166],"is":[1,57,84,226],"a":[2,67,75,100,140,144,156,176,203],"popular":[3],"and":[4,45,66,147,160,172,174,192,266],"widely-used":[5],"declarative":[6],"logic":[7,185],"programming":[8],"language.":[9],"engines":[11],"apply":[12,122],"many":[13,249],"cross-rule":[14,70],"optimizations;":[15],"bugs":[16,199,209],"in":[17,77,278],"them":[18],"can":[19,93,132,196,239],"cause":[20],"incorrect":[21],"results.":[22],"To":[23],"detect":[24,197,218],"such":[25],"optimization":[26],"bugs,":[27,186],"we":[28,92],"propose":[29],"an":[30,63,87],"automated":[31],"testing":[32],"approach":[33,225,238,271],"called":[34],"Incremental":[35],"Rule":[36],"Evaluation":[37],"(IRE),":[38],"which":[39],"synergistically":[40],"tackles":[41],"the":[42,54,60,78,105,123,188,208,257,264,267,270],"test":[43,46,55,115,124,222,231,251],"oracle":[44,56,125],"case":[47,223],"generation":[48,224],"problem.":[49],"The":[50],"core":[51,82],"idea":[52],"behind":[53],"to":[58,103,121,217,244,274],"compare":[59],"results":[61,255],"of":[62,178,207,269],"optimized":[64],"program":[65,68,102],"without":[69],"optimization;":[71],"any":[72],"difference":[73],"indicates":[74],"bug":[76],"engine.":[80],"Our":[81,220],"insight":[83],"that,":[85],"for":[86,126,228,230],"optimized,":[88],"incrementally-generated":[89],"program,":[91],"evaluate":[94],"all":[95,198],"rules":[96],"individually":[97],"by":[98,201,211],"constructing":[99],"reference":[101],"disable":[104],"optimizations":[106],"that":[107,134,263],"are":[108],"performed":[109],"among":[110],"multiple":[111],"rules.":[112],"Incrementally":[113],"generating":[114],"cases":[116,232,252],"not":[117],"only":[118],"allows":[119],"us":[120],"every":[127,135],"new":[128],"rule":[129,138],"generated\u2014we":[130],"also":[131],"ensure":[133],"newly":[136],"added":[137],"generates":[139],"non-empty":[141,254],"result":[142],"with":[143,253],"given":[145],"probability":[146],"eschew":[148],"recomputing":[149],"already-known":[150],"facts.":[151],"We":[152,261],"implemented":[153],"IRE":[154],"as":[155,248,256],"tool":[157],"named":[158],"Deopt,":[159,212],"evaluated":[161],"Deopt":[162,195],"on":[163],"four":[164],"mature":[165],"engines,":[167],"namely":[168],"Souffl\u00e9,":[169],"CozoDB,":[170],"\u03bcZ,":[171],"DDlog,":[173],"discovered":[175],"total":[177],"30":[179],"bugs.":[180,194],"Of":[181],"these,":[182],"13":[183],"were":[184,190],"while":[187],"remaining":[189],"crash":[191],"error":[193],"found":[200],"queryFuzz,":[202],"state-of-the-art":[204],"approach.":[205],"Out":[206],"identified":[210],"queryFuzz":[213],"might":[214],"be":[215],"unable":[216],"5.":[219],"incremental":[221,237],"efficient;":[227],"example,":[229],"containing":[233],"60":[234],"rules,":[235],"our":[236],"produce":[240],"1.17\u00d7":[241],"(for":[242,246],"DDlog)":[243],"31.02\u00d7":[245],"Souffl\u00e9)":[247],"valid":[250],"naive":[258],"random":[259],"method.":[260],"believe":[262],"simplicity":[265],"generality":[268],"will":[272],"lead":[273],"its":[275],"wide":[276],"adoption":[277],"practice.":[279]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1}],"updated_date":"2026-08-18T07:49:30.821534","created_date":"2025-10-10T00:00:00"}
