{"id":"https://openalex.org/W4399872376","doi":"https://doi.org/10.1145/3656410","title":"Daedalus: Safer Document Parsing","display_name":"Daedalus: Safer Document Parsing","publication_year":2024,"publication_date":"2024-06-20","ids":{"openalex":"https://openalex.org/W4399872376","doi":"https://doi.org/10.1145/3656410"},"language":"en","primary_location":{"id":"doi:10.1145/3656410","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656410","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3656410","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/3656410","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5078168035","display_name":"Iavor S. Diatchki","orcid":"https://orcid.org/0009-0000-7795-4708"},"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":"Iavor S. Diatchki","raw_affiliation_strings":["Galois, Portland, USA"],"raw_orcid":"https://orcid.org/0009-0000-7795-4708","affiliations":[{"raw_affiliation_string":"Galois, Portland, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5085860278","display_name":"Mike Dodds","orcid":"https://orcid.org/0000-0002-4439-0130"},"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":"Mike Dodds","raw_affiliation_strings":["Galois, Portland, USA"],"raw_orcid":"https://orcid.org/0000-0002-4439-0130","affiliations":[{"raw_affiliation_string":"Galois, Portland, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5079995663","display_name":"Harrison Goldstein","orcid":"https://orcid.org/0000-0001-9631-1169"},"institutions":[{"id":"https://openalex.org/I71578702","display_name":"University of Portland","ror":"https://ror.org/01q6pmm96","country_code":"US","type":"education","lineage":["https://openalex.org/I71578702"]},{"id":"https://openalex.org/I79576946","display_name":"University of Pennsylvania","ror":"https://ror.org/00b30xv10","country_code":"US","type":"education","lineage":["https://openalex.org/I79576946"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Harrison Goldstein","raw_affiliation_strings":["University of Pennsylvania, Portland, USA"],"raw_orcid":"https://orcid.org/0000-0001-9631-1169","affiliations":[{"raw_affiliation_string":"University of Pennsylvania, Portland, USA","institution_ids":["https://openalex.org/I71578702","https://openalex.org/I79576946"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002228297","display_name":"Bill Harris","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":"Bill Harris","raw_affiliation_strings":["Galois, Portland, USA"],"raw_orcid":"https://orcid.org/0000-0002-1762-2039","affiliations":[{"raw_affiliation_string":"Galois, Portland, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5055046230","display_name":"David A. Holland","orcid":"https://orcid.org/0000-0002-8701-0345"},"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":"David A. Holland","raw_affiliation_strings":["Galois, Portland, USA"],"raw_orcid":"https://orcid.org/0000-0002-9328-1686","affiliations":[{"raw_affiliation_string":"Galois, Portland, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5076377864","display_name":"Beno\u00eet Razet","orcid":"https://orcid.org/0009-0006-5698-9841"},"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":"Benoit Razet","raw_affiliation_strings":["Galois, Portland, USA"],"raw_orcid":"https://orcid.org/0009-0006-5698-9841","affiliations":[{"raw_affiliation_string":"Galois, Portland, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5012489417","display_name":"Cole Schlesinger","orcid":"https://orcid.org/0009-0004-9350-3041"},"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":"Cole Schlesinger","raw_affiliation_strings":["Galois, Portland, USA"],"raw_orcid":"https://orcid.org/0009-0004-9350-3041","affiliations":[{"raw_affiliation_string":"Galois, Portland, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5012139430","display_name":"Simon Winwood","orcid":"https://orcid.org/0009-0005-6133-0147"},"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":"Simon Winwood","raw_affiliation_strings":["Galois, Portland, USA"],"raw_orcid":"https://orcid.org/0009-0005-6133-0147","affiliations":[{"raw_affiliation_string":"Galois, Portland, USA","institution_ids":["https://openalex.org/I4210140281"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":8,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.2935,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.81476122,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":95,"max":98},"biblio":{"volume":"8","issue":"PLDI","first_page":"816","last_page":"840"},"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.9990000128746033,"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.9990000128746033,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9987000226974487,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9986000061035156,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/safer","display_name":"SAFER","score":0.9230819940567017},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.6920104026794434},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5541764497756958},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.3780165910720825},{"id":"https://openalex.org/keywords/information-retrieval","display_name":"Information retrieval","score":0.3642626404762268},{"id":"https://openalex.org/keywords/computer-security","display_name":"Computer security","score":0.22979623079299927}],"concepts":[{"id":"https://openalex.org/C2776654903","wikidata":"https://www.wikidata.org/wiki/Q2601463","display_name":"SAFER","level":2,"score":0.9230819940567017},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.6920104026794434},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5541764497756958},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.3780165910720825},{"id":"https://openalex.org/C23123220","wikidata":"https://www.wikidata.org/wiki/Q816826","display_name":"Information retrieval","level":1,"score":0.3642626404762268},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.22979623079299927}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3656410","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656410","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3656410","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/3656410","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656410","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3656410","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":[{"id":"https://metadata.un.org/sdg/4","score":0.6200000047683716,"display_name":"Quality Education"}],"awards":[{"id":"https://openalex.org/G2540798477","display_name":null,"funder_award_id":"HR001119C0076","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"}],"funders":[{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"grobid_xml":false,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4399872376.pdf"},"referenced_works_count":29,"referenced_works":["https://openalex.org/W777621473","https://openalex.org/W832222565","https://openalex.org/W1490215723","https://openalex.org/W1982202832","https://openalex.org/W1985848114","https://openalex.org/W2018045485","https://openalex.org/W2116813111","https://openalex.org/W2121895216","https://openalex.org/W2124479173","https://openalex.org/W2156429182","https://openalex.org/W2161780258","https://openalex.org/W2166822586","https://openalex.org/W2237372923","https://openalex.org/W2293624369","https://openalex.org/W2966873892","https://openalex.org/W2998768639","https://openalex.org/W3004896733","https://openalex.org/W3034054982","https://openalex.org/W3105233674","https://openalex.org/W3114967414","https://openalex.org/W4229964639","https://openalex.org/W4244488020","https://openalex.org/W4248513939","https://openalex.org/W4249680514","https://openalex.org/W4256238177","https://openalex.org/W4281683690","https://openalex.org/W4287884578","https://openalex.org/W4289038676","https://openalex.org/W6892571868"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2748952813","https://openalex.org/W2953205341","https://openalex.org/W235065745","https://openalex.org/W2029935773","https://openalex.org/W2787754950","https://openalex.org/W6643695","https://openalex.org/W4381248170","https://openalex.org/W3189621521","https://openalex.org/W2173794830"],"abstract_inverted_index":{"Despite":[0],"decades":[1],"of":[2,8,47,51,117,211,224],"contributions":[3],"to":[4,15,58,70,135,144,195,203,220],"the":[5,11,24,96,114,192,217],"theoretical":[6],"foundations":[7],"parsing":[9,118],"and":[10,49,60,81,124,131,153,168,178,215],"many":[12,20],"tools":[13],"available":[14],"aid":[16],"in":[17,23,33,36,42,102,148],"parser":[18,92,219],"development,":[19],"security":[21],"attacks":[22],"wild":[25],"still":[26],"exploit":[27],"parsers.":[28,86],"The":[29],"issues":[30],"are":[31,176],"myriad\u2014flaws":[32],"memory":[34,39],"management":[35],"contexts":[37],"lacking":[38],"safety,":[40],"flaws":[41],"syntactic":[43],"or":[44],"semantic":[45],"validation":[46],"input,":[48],"misinterpretation":[50],"hundred-page-plus":[52],"standards":[53],"documents.":[54],"It":[55,106],"remains":[56],"challenging":[57],"build":[59,196],"maintain":[61],"parsers":[62,147,175,214],"for":[63,83,110],"common,":[64],"mature":[65],"data":[66,98,104,159],"formats.":[67,105,120],"In":[68],"response":[69],"these":[71],"challenges,":[72],"we":[73],"present":[74],"Daedalus,":[75,162],"a":[76,138,197,204,209],"new":[77],"domain-specific":[78,108,125],"language":[79],"(DSL)":[80],"toolchain":[82],"writing":[84],"safe":[85,146],"Daedalus":[87,128,141,174],"is":[88,142],"built":[89],"around":[90],"functional-style":[91],"combinators,":[93],"which":[94,200],"suit":[95],"rich":[97],"dependencies":[99],"often":[100],"found":[101,222],"complex":[103,166],"adds":[107],"constructs":[109,126],"stream":[111],"manipulation,":[112],"allowing":[113],"natural":[115],"expression":[116],"noncontiguous":[119],"Balancing":[121],"between":[122],"expressivity":[123],"lends":[127],"specifications":[129],"simplicity":[130],"leaves":[132],"them":[133],"amenable":[134],"analysis.":[136],"As":[137],"stand-alone":[139],"DSL,":[140],"able":[143],"generate":[145],"multiple":[149],"languages,":[150],"currently":[151],"C++":[152],"Haskell.":[154],"We":[155,189],"have":[156],"implemented":[157],"20":[158],"formats":[160],"with":[161,182,191,208],"including":[163],"two":[164],"large,":[165],"formats\u2014PDF":[167],"NITF\u2013and":[169],"our":[170,185],"evaluation":[171],"shows":[172],"that":[173],"concise":[177],"performant.":[179],"Our":[180],"experience":[181],"PDF":[183,193,213],"forms":[184],"largest":[186],"case":[187],"study.":[188],"worked":[190],"Association":[194],"reference":[198],"implementation,":[199],"was":[201,216],"subject":[202],"red-teaming":[205],"exercise":[206],"along":[207],"number":[210],"other":[212],"only":[218],"be":[221],"free":[223],"defects.":[225]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
