{"id":"https://openalex.org/W4389208786","doi":"https://doi.org/10.1145/3611643.3613863","title":"PropProof: Free Model-Checking Harnesses from PBT","display_name":"PropProof: Free Model-Checking Harnesses from PBT","publication_year":2023,"publication_date":"2023-11-30","ids":{"openalex":"https://openalex.org/W4389208786","doi":"https://doi.org/10.1145/3611643.3613863"},"language":"en","primary_location":{"id":"doi:10.1145/3611643.3613863","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3611643.3613863","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611643.3613863","source":null,"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 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3611643.3613863","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5045847584","display_name":"Yoshiki Takashima","orcid":"https://orcid.org/0000-0001-9274-8953"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Yoshiki Takashima","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0001-9274-8953","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5045847584"],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":0.4251,"has_fulltext":true,"cited_by_count":2,"citation_normalized_percentile":{"value":0.71518468,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"1903","last_page":"1913"},"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/T11424","display_name":"Security and Verification in Computing","score":0.9965000152587891,"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.9955000281333923,"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/computer-science","display_name":"Computer science","score":0.8656160831451416},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.8119972944259644},{"id":"https://openalex.org/keywords/rust","display_name":"Rust (programming language)","score":0.6312826871871948},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5390651822090149},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.512734055519104},{"id":"https://openalex.org/keywords/protocol","display_name":"Protocol (science)","score":0.4635236859321594},{"id":"https://openalex.org/keywords/code-coverage","display_name":"Code coverage","score":0.44160550832748413},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.43051230907440186},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.41056057810783386},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3511967658996582},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3270077109336853},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3259275257587433},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.09152603149414062}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8656160831451416},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.8119972944259644},{"id":"https://openalex.org/C197781089","wikidata":"https://www.wikidata.org/wiki/Q575650","display_name":"Rust (programming language)","level":2,"score":0.6312826871871948},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5390651822090149},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.512734055519104},{"id":"https://openalex.org/C2780385302","wikidata":"https://www.wikidata.org/wiki/Q367158","display_name":"Protocol (science)","level":3,"score":0.4635236859321594},{"id":"https://openalex.org/C53942775","wikidata":"https://www.wikidata.org/wiki/Q1211721","display_name":"Code coverage","level":3,"score":0.44160550832748413},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.43051230907440186},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.41056057810783386},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3511967658996582},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3270077109336853},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3259275257587433},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.09152603149414062},{"id":"https://openalex.org/C142724271","wikidata":"https://www.wikidata.org/wiki/Q7208","display_name":"Pathology","level":1,"score":0.0},{"id":"https://openalex.org/C204787440","wikidata":"https://www.wikidata.org/wiki/Q188504","display_name":"Alternative medicine","level":2,"score":0.0},{"id":"https://openalex.org/C71924100","wikidata":"https://www.wikidata.org/wiki/Q11190","display_name":"Medicine","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3611643.3613863","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3611643.3613863","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611643.3613863","source":null,"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 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3611643.3613863","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3611643.3613863","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611643.3613863","source":null,"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 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G7221590883","display_name":null,"funder_award_id":"1901136","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"}],"has_content":{"grobid_xml":false,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4389208786.pdf"},"referenced_works_count":15,"referenced_works":["https://openalex.org/W327452528","https://openalex.org/W1507441114","https://openalex.org/W1507665606","https://openalex.org/W2013892605","https://openalex.org/W2103139643","https://openalex.org/W2396983327","https://openalex.org/W2779850521","https://openalex.org/W2913530642","https://openalex.org/W3207026105","https://openalex.org/W3209913027","https://openalex.org/W4242126179","https://openalex.org/W4283019774","https://openalex.org/W4285070015","https://openalex.org/W4305010641","https://openalex.org/W4312877890"],"related_works":["https://openalex.org/W3010592047","https://openalex.org/W4200421685","https://openalex.org/W4386534318","https://openalex.org/W4394745891","https://openalex.org/W4388997031","https://openalex.org/W2954966352","https://openalex.org/W3212191335","https://openalex.org/W4241006348","https://openalex.org/W3003421029","https://openalex.org/W4384009736"],"abstract_inverted_index":{"Property-based":[0],"testing":[1],"(PBT)":[2],"is":[3,132],"often":[4],"used":[5,134],"by":[6],"Rust":[7,39,48,147],"developers":[8,59],"to":[9,46,104,155],"test":[10],"functional":[11],"correctness":[12],"properties":[13,159],"of":[14,35,107,153],"their":[15],"code.":[16],"Since":[17],"PBT":[18,83,142],"uses":[19,41],"randomized":[20],"testing,":[21],"its":[22],"guarantees":[23,34],"are":[24],"limited:":[25],"it":[26],"can":[27,89],"detect":[28],"bugs":[29],"but":[30],"provides":[31],"no":[32],"formal":[33],"correctness.":[36],"The":[37],"Kani":[38,55,63,86,109,154],"Verifier":[40],"the":[42,97,151],"CProver":[43],"verification":[44,56,110],"framework":[45],"verify":[47,156],"code,":[49],"given":[50],"a":[51,54,78],"specification":[52],"in":[53,102,121,135],"harness.":[57],"However,":[58],"must":[60],"manually":[61],"write":[62],"harnesses":[64,84,87,143],"while":[65],"avoiding":[66],"model-checking-specific":[67],"pitfalls":[68],"like":[69],"large":[70],"memory":[71],"usage":[72],"or":[73],"timeouts.":[74],"We":[75,95],"introduce":[76],",":[77,122],"library":[79,126],"that":[80],"automatically":[81],"converts":[82],"into":[85],"which":[88],"be":[90],"formally":[91],"validated":[92],"using":[93],"Kani.":[94],"discuss":[96],"data-structure":[98],"models":[99],"we":[100,115],"developed":[101],"order":[103],"optimize":[105],"performance":[106],"these":[108],"harnesses.":[111],"Using":[112],"this":[113],"library,":[114],"identified":[116],"and":[117],"fixed":[118],"2":[119],"issues":[120],"an":[123],"AWS-developed":[124],"protocol-buffer":[125],"with":[127,163],"nearly":[128],"40":[129],"million":[130],"downloads.":[131],"being":[133],"\u2019s":[136],"CI.":[137],"Our":[138],"evaluation":[139],"on":[140,160],"42":[141],"from":[144],"top-ranked":[145],"open-source":[146],"libraries":[148],"demonstrates":[149],"enabling":[150],"use":[152],"complex,":[157],"user-defined":[158],"existing":[161],"code":[162],"minimal":[164],"user":[165],"intervention.":[166]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1}],"updated_date":"2025-12-21T01:58:51.020947","created_date":"2025-10-10T00:00:00"}
