{"id":"https://openalex.org/W2753617992","doi":"https://doi.org/10.1145/3110259","title":"Effect-driven QuickChecking of compilers","display_name":"Effect-driven QuickChecking of compilers","publication_year":2017,"publication_date":"2017-08-29","ids":{"openalex":"https://openalex.org/W2753617992","doi":"https://doi.org/10.1145/3110259","mag":"2753617992"},"language":"en","primary_location":{"id":"doi:10.1145/3110259","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110259","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110259&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"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":null,"license_id":null,"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":"bronze","oa_url":"http://dl.acm.org/ft_gateway.cfm?id=3110259&type=pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5065278196","display_name":"Jan Midtgaard","orcid":"https://orcid.org/0000-0002-6506-5468"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Jan Midtgaard","raw_affiliation_strings":["DTU, Denmark"],"affiliations":[{"raw_affiliation_string":"DTU, Denmark","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5043758959","display_name":"Mathias Nygaard Justesen","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Mathias Nygaard Justesen","raw_affiliation_strings":["DTU, Denmark"],"affiliations":[{"raw_affiliation_string":"DTU, Denmark","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5048292418","display_name":"Patrick Kasting","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Patrick Kasting","raw_affiliation_strings":["DTU, Denmark"],"affiliations":[{"raw_affiliation_string":"DTU, Denmark","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5089639449","display_name":"Flemming Nielson","orcid":"https://orcid.org/0000-0001-7362-6176"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Flemming Nielson","raw_affiliation_strings":["DTU, Denmark"],"affiliations":[{"raw_affiliation_string":"DTU, Denmark","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5012948241","display_name":"Hanne Riis Nielson","orcid":"https://orcid.org/0000-0002-2484-5580"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Hanne Riis Nielson","raw_affiliation_strings":["DTU, Denmark"],"affiliations":[{"raw_affiliation_string":"DTU, Denmark","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5065278196"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":5.6381,"has_fulltext":true,"cited_by_count":29,"citation_normalized_percentile":{"value":0.96318408,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":"1","issue":"ICFP","first_page":"1","last_page":"23"},"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.9998000264167786,"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.9998000264167786,"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.9988999962806702,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9986000061035156,"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/computer-science","display_name":"Computer science","score":0.8659273982048035},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8320156335830688},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7870350480079651},{"id":"https://openalex.org/keywords/generator","display_name":"Generator (circuit theory)","score":0.6060777902603149}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8659273982048035},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8320156335830688},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7870350480079651},{"id":"https://openalex.org/C2780992000","wikidata":"https://www.wikidata.org/wiki/Q17016113","display_name":"Generator (circuit theory)","level":3,"score":0.6060777902603149},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3110259","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110259","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110259&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:pure.atira.dk:publications/55c0eaad-c9c3-40cc-95af-f3ec2f0777c6","is_oa":true,"landing_page_url":"https://orbit.dtu.dk/en/publications/55c0eaad-c9c3-40cc-95af-f3ec2f0777c6","pdf_url":null,"source":{"id":"https://openalex.org/S4306400705","display_name":"Technical University of Denmark, DTU Orbit (Technical University of Denmark, DTU)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I96673099","host_organization_name":"Technical University of Denmark","host_organization_lineage":["https://openalex.org/I96673099"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Midtgaard , J , Justesen , M N , Kasting , P F S , Nielson , F &amp; Nielson , H R 2017 , Effect-driven QuickChecking of compilers . in Proceedings of the Acm on Programming Languages . vol. 1 , Association for Computing Machinery , Proceedings of the ACM on Programming Languages , pp. 1-23 . https://doi.org/10.1145/3110259","raw_type":"contributionToPeriodical"}],"best_oa_location":{"id":"doi:10.1145/3110259","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110259","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110259&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"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":null,"license_id":null,"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":[{"display_name":"Quality Education","score":0.8500000238418579,"id":"https://metadata.un.org/sdg/4"}],"awards":[{"id":"https://openalex.org/G2079292181","display_name":null,"funder_award_id":"DNRF8","funder_id":"https://openalex.org/F4320320943","funder_display_name":"Danmarks Grundforskningsfond"},{"id":"https://openalex.org/G3034753964","display_name":null,"funder_award_id":"grant","funder_id":"https://openalex.org/F4320320671","funder_display_name":"National Research Foundation"},{"id":"https://openalex.org/G786052818","display_name":null,"funder_award_id":"DNRF86-10","funder_id":"https://openalex.org/F4320320943","funder_display_name":"Danmarks Grundforskningsfond"}],"funders":[{"id":"https://openalex.org/F4320320671","display_name":"National Research Foundation","ror":"https://ror.org/05s0g1g46"},{"id":"https://openalex.org/F4320320943","display_name":"Danmarks Grundforskningsfond","ror":"https://ror.org/00znyv691"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2753617992.pdf","grobid_xml":"https://content.openalex.org/works/W2753617992.grobid-xml"},"referenced_works_count":29,"referenced_works":["https://openalex.org/W67134903","https://openalex.org/W168248273","https://openalex.org/W329789253","https://openalex.org/W1551392158","https://openalex.org/W1553894716","https://openalex.org/W1557561422","https://openalex.org/W1799755352","https://openalex.org/W1829303854","https://openalex.org/W1966449927","https://openalex.org/W1980939032","https://openalex.org/W2017114730","https://openalex.org/W2043100293","https://openalex.org/W2046137117","https://openalex.org/W2048921878","https://openalex.org/W2072162091","https://openalex.org/W2076015358","https://openalex.org/W2098456636","https://openalex.org/W2119717320","https://openalex.org/W2125126351","https://openalex.org/W2170736936","https://openalex.org/W2170737051","https://openalex.org/W2278624804","https://openalex.org/W2291881641","https://openalex.org/W2997653900","https://openalex.org/W3100198463","https://openalex.org/W4238056673","https://openalex.org/W4238083723","https://openalex.org/W4244488020","https://openalex.org/W4248393243"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W4240253816","https://openalex.org/W3096456556","https://openalex.org/W1713081424","https://openalex.org/W2127315869","https://openalex.org/W1523769955","https://openalex.org/W2245390655","https://openalex.org/W4379536100"],"abstract_inverted_index":{"How":[0],"does":[1],"one":[2],"test":[3,139],"a":[4,26,48,58,71,105,121,150],"language":[5,28],"implementation":[6],"with":[7],"QuickCheck":[8],"(aka.":[9],"property-based":[10],"testing)?":[11],"One":[12],"approach":[13,134],"is":[14,88],"to":[15,54,138],"generate":[16,55],"programs":[17,37,56,78,124,137],"following":[18],"the":[19,22,44,64,76,84,133],"grammar":[20],"of":[21,34,63,75,123,128,152],"language.":[23],"But":[24],"in":[25,57,91],"statically-typed":[27],"such":[29,70,93],"as":[30,41,94,120],"OCaml":[31],"too":[32],"many":[33,74],"these":[35],"candidate":[36],"will":[38],"be":[39],"rejected":[40],"ill-typed":[42],"by":[43,135],"type":[45,106],"checker.":[46],"As":[47],"refinement":[49],"Pa\u0142ka":[50],"et":[51],"al.":[52],"propose":[53,116],"goal-directed,":[59],"bottom-up":[60],"reading":[61,119],"up":[62],"typing":[65],"relation.":[66],"We":[67,131],"have":[68,155],"written":[69],"generator.":[72],"However":[73],"generated":[77],"has":[79],"output":[80],"that":[81,125],"depend":[82],"on":[83,149],"evaluation":[85,129],"order,":[86],"which":[87],"commonly":[89],"under-specified":[90],"languages":[92],"OCaml,":[95],"Scheme,":[96],"C,":[97],"C++,":[98],"etc.":[99],"In":[100],"this":[101],"paper":[102],"we":[103,154],"develop":[104],"and":[107,115,147],"effect":[108],"system":[109],"for":[110],"conservatively":[111],"detecting":[112],"evaluation-order":[113],"dependence":[114],"its":[117],"goal-directed":[118],"generator":[122],"are":[126],"independent":[127],"order.":[130],"illustrate":[132],"generating":[136],"OCaml's":[140],"two":[141],"compiler":[142],"backends":[143],"against":[144],"each":[145],"other":[146],"report":[148],"number":[151],"bugs":[153],"found":[156],"doing":[157],"so.":[158]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":6},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":6}],"updated_date":"2026-04-11T08:14:18.477133","created_date":"2025-10-10T00:00:00"}
