{"id":"https://openalex.org/W2980167976","doi":"https://doi.org/10.1145/3360607","title":"Coverage guided, property based testing","display_name":"Coverage guided, property based testing","publication_year":2019,"publication_date":"2019-10-10","ids":{"openalex":"https://openalex.org/W2980167976","doi":"https://doi.org/10.1145/3360607","mag":"2980167976"},"language":"en","primary_location":{"id":"doi:10.1145/3360607","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3360607","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3360607","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/3360607","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5075217645","display_name":"Leonidas Lampropoulos","orcid":"https://orcid.org/0000-0003-0269-9815"},"institutions":[{"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":"Leonidas Lampropoulos","raw_affiliation_strings":["University of Maryland, USA / University of Pennsylvania, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Maryland, USA / University of Pennsylvania, USA","institution_ids":["https://openalex.org/I79576946"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5046625836","display_name":"Michael Hicks","orcid":"https://orcid.org/0000-0002-2759-9223"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Michael Hicks","raw_affiliation_strings":["University of Maryland, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Maryland, USA","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5085361253","display_name":"Benjamin C. Pierce","orcid":"https://orcid.org/0000-0001-7839-1636"},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Benjamin C. Pierce","raw_affiliation_strings":["University of Pennsylvania, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.1178,"has_fulltext":true,"cited_by_count":43,"citation_normalized_percentile":{"value":0.90438211,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":99},"biblio":{"volume":"3","issue":"OOPSLA","first_page":"1","last_page":"29"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9995999932289124,"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/T11424","display_name":"Security and Verification in Computing","score":0.9995999932289124,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9994999766349792,"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.998199999332428,"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/fuzz-testing","display_name":"Fuzz testing","score":0.8669651746749878},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7869383096694946},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.7087540030479431},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.6863901615142822},{"id":"https://openalex.org/keywords/random-testing","display_name":"Random testing","score":0.628341019153595},{"id":"https://openalex.org/keywords/predicate","display_name":"Predicate (mathematical logic)","score":0.5282731652259827},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.49979400634765625},{"id":"https://openalex.org/keywords/executable","display_name":"Executable","score":0.49697282910346985},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4628196656703949},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.42803820967674255},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.38596463203430176},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3517782688140869},{"id":"https://openalex.org/keywords/test-case","display_name":"Test case","score":0.23446005582809448},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.1853940486907959},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.1580601930618286},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.1289762556552887}],"concepts":[{"id":"https://openalex.org/C111065885","wikidata":"https://www.wikidata.org/wiki/Q1189053","display_name":"Fuzz testing","level":3,"score":0.8669651746749878},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7869383096694946},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.7087540030479431},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.6863901615142822},{"id":"https://openalex.org/C106159264","wikidata":"https://www.wikidata.org/wiki/Q17146789","display_name":"Random testing","level":4,"score":0.628341019153595},{"id":"https://openalex.org/C140146324","wikidata":"https://www.wikidata.org/wiki/Q1144319","display_name":"Predicate (mathematical logic)","level":2,"score":0.5282731652259827},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.49979400634765625},{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.49697282910346985},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4628196656703949},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.42803820967674255},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.38596463203430176},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3517782688140869},{"id":"https://openalex.org/C128942645","wikidata":"https://www.wikidata.org/wiki/Q1568346","display_name":"Test case","level":3,"score":0.23446005582809448},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.1853940486907959},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.1580601930618286},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.1289762556552887},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C152877465","wikidata":"https://www.wikidata.org/wiki/Q208042","display_name":"Regression analysis","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3360607","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3360607","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3360607","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/3360607","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3360607","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3360607","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/G1464338528","display_name":null,"funder_award_id":"FA8750-16-C-0022,HR0011-18-C-0011","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G2090296422","display_name":"SHF: Small: Random Testing for Language Design","funder_award_id":"1421243","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G4479173103","display_name":null,"funder_award_id":"1421243,1521523","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G4713059963","display_name":null,"funder_award_id":"FA8750","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G6080364906","display_name":"Collaborative Research:  Expeditions in Computing:  The Science of Deep Specification","funder_award_id":"1521523","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8039803440","display_name":null,"funder_award_id":"FA8750-16-C-0022","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"}],"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/F4320332467","display_name":"U.S. Air Force","ror":"https://ror.org/006gmme17"},{"id":"https://openalex.org/F4320332815","display_name":"Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2980167976.pdf","grobid_xml":"https://content.openalex.org/works/W2980167976.grobid-xml"},"referenced_works_count":48,"referenced_works":["https://openalex.org/W37906187","https://openalex.org/W157156687","https://openalex.org/W1507441114","https://openalex.org/W1519503479","https://openalex.org/W1595209293","https://openalex.org/W1606774834","https://openalex.org/W1799755352","https://openalex.org/W1977764760","https://openalex.org/W1987557201","https://openalex.org/W2002934700","https://openalex.org/W2005525408","https://openalex.org/W2023035194","https://openalex.org/W2047370472","https://openalex.org/W2077539801","https://openalex.org/W2118155805","https://openalex.org/W2119219102","https://openalex.org/W2122049982","https://openalex.org/W2122167991","https://openalex.org/W2138018877","https://openalex.org/W2158062279","https://openalex.org/W2158763360","https://openalex.org/W2159192310","https://openalex.org/W2176407799","https://openalex.org/W2215196193","https://openalex.org/W2329154668","https://openalex.org/W2434454117","https://openalex.org/W2476059279","https://openalex.org/W2499791918","https://openalex.org/W2515650212","https://openalex.org/W2535617737","https://openalex.org/W2574017551","https://openalex.org/W2578546025","https://openalex.org/W2583649498","https://openalex.org/W2701225458","https://openalex.org/W2759245396","https://openalex.org/W2760842181","https://openalex.org/W2777305358","https://openalex.org/W2794670092","https://openalex.org/W2795192879","https://openalex.org/W2888875512","https://openalex.org/W2902165566","https://openalex.org/W2903351947","https://openalex.org/W2964097210","https://openalex.org/W2964241064","https://openalex.org/W3104664063","https://openalex.org/W3106469537","https://openalex.org/W3149412770","https://openalex.org/W4244488020"],"related_works":["https://openalex.org/W2119717320","https://openalex.org/W4244488020","https://openalex.org/W3119380829","https://openalex.org/W2903305687","https://openalex.org/W4242126179","https://openalex.org/W3019261932","https://openalex.org/W2359835790","https://openalex.org/W4388858992","https://openalex.org/W4323864011","https://openalex.org/W2955968478"],"abstract_inverted_index":{"Property-based":[0],"random":[1,132],"testing,":[2],"exemplified":[3,121],"by":[4,11,113,122,143],"frameworks":[5],"such":[6,75],"as":[7,206,216,300],"Haskell's":[8],"QuickCheck,":[9],"works":[10,27],"testing":[12,26,107,223,308],"an":[13,56,217,302],"executable":[14],"predicate":[15],"(a":[16],"property)":[17],"on":[18,40,236],"a":[19,84,99,130,166,207,252,278,295],"stream":[20],"of":[21,51,87,117,248,298,341],"randomly":[22,67],"generated":[23,68],"inputs.":[24],"Property":[25],"very":[28],"well":[29],"in":[30,186,260],"many":[31],"cases,":[32],"but":[33],"not":[34,49],"always.":[35],"Some":[36],"properties":[37,73],"are":[38,48,80,163,175,189],"conditioned":[39],"the":[41,88,114,187,196,220,261,273,334],"input":[42,57,133,197],"satisfying":[43],"demanding":[44],"semantic":[45],"invariants":[46],"that":[47,55,198,243,275,284],"consequences":[50],"its":[52],"syntactic":[53],"structure---e.g.,":[54],"list":[58],"must":[59],"be":[60,202],"sorted":[61],"or":[62],"have":[63,213],"no":[64],"duplicates.":[65],"Most":[66],"inputs":[69,142,169],"fail":[70],"to":[71,157,209,219,245,268,272,290,319],"satisfy":[72,277],"with":[74,98],"sparse":[76,184,254],"preconditions,":[77],"and":[78,168,191,204,265,309,343],"so":[79],"simply":[81],"discarded.":[82],"As":[83],"result,":[85],"much":[86],"target":[89,153,188],"system":[90],"may":[91],"go":[92,210],"untested.":[93],"We":[94,212,233,256,282],"address":[95],"this":[96],"issue":[97],"novel":[100],"technique":[101],"called":[102],"coverage":[103,118,174,193],"guided,":[104],"property":[105,222,307],"based":[106],"(CGPT).":[108],"Our":[109],"approach":[110],"is":[111,155,194,323],"inspired":[112],"related":[115],"area":[116],"guided":[119],"fuzzing,":[120],"tools":[123],"like":[124],"AFL.":[125],"Rather":[126],"than":[127],"just":[128],"generating":[129],"fresh":[131],"at":[134],"each":[135],"iteration,":[136],"CGPT":[137,215],"can":[138,332],"also":[139],"produce":[140],"new":[141,192],"mutating":[144],"previous":[145],"ones":[146],"using":[147],"type-aware,":[148],"generic":[149],"mutator":[150],"operators.":[151],"The":[152],"program":[154],"instrumented":[156],"track":[158],"which":[159,250],"control":[160],"flow":[161],"branches":[162],"executed":[164],"during":[165],"run":[167],"whose":[170],"runs":[171],"expand":[172],"control-flow":[173],"retained":[176,203],"for":[177,225,240,270,305],"future":[178],"mutations.":[179],"This":[180],"means":[181],"that,":[182],"when":[183],"conditions":[185],"satisfied":[190],"observed,":[195],"triggered":[199],"them":[200,316],"will":[201],"used":[205],"springboard":[208],"further.":[211],"implemented":[214],"extension":[218],"QuickChick":[221,286],"tool":[224],"Coq":[226,238],"programs;":[227],"we":[228],"call":[229],"our":[230],"implementation":[231],"FuzzChick.":[232],"evaluate":[234],"FuzzChick":[235,267,313,322],"two":[237],"developments":[239],"abstract":[241],"machines":[242],"aim":[244],"enforce":[246],"flavors":[247],"noninterference,":[249],"has":[251],"(very)":[253],"precondition.":[255],"systematically":[257],"inject":[258],"bugs":[259,293,335],"machines'":[262],"checking":[263],"rules":[264],"use":[266],"look":[269],"counterexamples":[271],"claim":[274],"they":[276,337],"standard":[279],"noninterference":[280],"property.":[281],"find":[283,291,333],"vanilla":[285],"almost":[287,324],"always":[288],"fails":[289],"any":[292],"after":[294],"long":[296],"period":[297],"time,":[299],"does":[301],"earlier":[303],"proposal":[304],"combining":[306],"fuzzing.":[310],"In":[311],"contrast,":[312],"often":[314],"finds":[315],"within":[317],"seconds":[318],"minutes.":[320],"Moreover,":[321],"fully":[325],"automatic;":[326],"although":[327],"highly":[328],"tuned,":[329],"hand-written":[330],"generators":[331],"faster,":[336],"require":[338],"substantial":[339],"amounts":[340],"insight":[342],"manual":[344],"effort.":[345]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":6},{"year":2024,"cited_by_count":10},{"year":2023,"cited_by_count":10},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":7},{"year":2020,"cited_by_count":3}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
