{"id":"https://openalex.org/W4415009081","doi":"https://doi.org/10.1145/3764119","title":"Fray: An Efficient General-Purpose Concurrency Testing Platform for the JVM","display_name":"Fray: An Efficient General-Purpose Concurrency Testing Platform for the JVM","publication_year":2025,"publication_date":"2025-10-09","ids":{"openalex":"https://openalex.org/W4415009081","doi":"https://doi.org/10.1145/3764119"},"language":"en","primary_location":{"id":"doi:10.1145/3764119","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3764119","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3764119","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/3764119","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5015008073","display_name":"Ao Li","orcid":"https://orcid.org/0000-0003-3189-7079"},"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":false,"raw_author_name":"Ao Li","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0003-3189-7079","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5059430837","display_name":"Byeongjee Kang","orcid":"https://orcid.org/0000-0002-2817-5123"},"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":false,"raw_author_name":"Byeongjee Kang","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0002-2817-5123","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5001644570","display_name":"Vasudev Vikram","orcid":"https://orcid.org/0000-0001-7093-910X"},"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":false,"raw_author_name":"Vasudev Vikram","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0001-7093-910X","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5055143947","display_name":"Isabella Laybourn","orcid":"https://orcid.org/0000-0002-9178-9363"},"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":false,"raw_author_name":"Isabella Laybourn","raw_affiliation_strings":["Carnegie Mellon University, Pittsbrugh, USA"],"raw_orcid":"https://orcid.org/0000-0002-9178-9363","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsbrugh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032754439","display_name":"Samvid Dharanikota","orcid":"https://orcid.org/0009-0003-1489-2425"},"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":false,"raw_author_name":"Samvid Dharanikota","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0009-0003-1489-2425","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101520294","display_name":"Shrey Tiwari","orcid":"https://orcid.org/0000-0001-6697-0219"},"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":false,"raw_author_name":"Shrey Tiwari","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0001-6697-0219","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5077787726","display_name":"Rohan Padhye","orcid":"https://orcid.org/0000-0003-4939-033X"},"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":false,"raw_author_name":"Rohan Padhye","raw_affiliation_strings":["Carnegie Mellon University, Pittsbrugh, USA"],"raw_orcid":"https://orcid.org/0000-0003-4939-033X","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsbrugh, USA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.2323679,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"9","issue":"OOPSLA2","first_page":"4035","last_page":"4063"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T12326","display_name":"Network Packet Processing and Optimization","score":0.9934999942779541,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/concurrency","display_name":"Concurrency","score":0.7986999750137329},{"id":"https://openalex.org/keywords/non-lock-concurrency-control","display_name":"Non-lock concurrency control","score":0.7275000214576721},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.6416000127792358},{"id":"https://openalex.org/keywords/multiversion-concurrency-control","display_name":"Multiversion concurrency control","score":0.6150000095367432},{"id":"https://openalex.org/keywords/timestamp-based-concurrency-control","display_name":"Timestamp-based concurrency control","score":0.6022999882698059},{"id":"https://openalex.org/keywords/concurrent-object-oriented-programming","display_name":"Concurrent object-oriented programming","score":0.5644999742507935},{"id":"https://openalex.org/keywords/optimistic-concurrency-control","display_name":"Optimistic concurrency control","score":0.5049999952316284},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.46790000796318054}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8686000108718872},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.7986999750137329},{"id":"https://openalex.org/C61912525","wikidata":"https://www.wikidata.org/wiki/Q7048952","display_name":"Non-lock concurrency control","level":5,"score":0.7275000214576721},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.6416000127792358},{"id":"https://openalex.org/C108744092","wikidata":"https://www.wikidata.org/wiki/Q93695","display_name":"Multiversion concurrency control","level":5,"score":0.6150000095367432},{"id":"https://openalex.org/C35819235","wikidata":"https://www.wikidata.org/wiki/Q186868","display_name":"Timestamp-based concurrency control","level":5,"score":0.6022999882698059},{"id":"https://openalex.org/C3701939","wikidata":"https://www.wikidata.org/wiki/Q5159109","display_name":"Concurrent object-oriented programming","level":5,"score":0.5644999742507935},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5616999864578247},{"id":"https://openalex.org/C79240183","wikidata":"https://www.wikidata.org/wiki/Q1779327","display_name":"Optimistic concurrency control","level":5,"score":0.5049999952316284},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.46790000796318054},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.44339999556541443},{"id":"https://openalex.org/C208087996","wikidata":"https://www.wikidata.org/wiki/Q5283142","display_name":"Distributed concurrency control","level":4,"score":0.43779999017715454},{"id":"https://openalex.org/C84511453","wikidata":"https://www.wikidata.org/wiki/Q2914952","display_name":"Concurrency control","level":3,"score":0.43290001153945923},{"id":"https://openalex.org/C181907185","wikidata":"https://www.wikidata.org/wiki/Q1100098","display_name":"Java concurrency","level":4,"score":0.39660000801086426},{"id":"https://openalex.org/C2775941552","wikidata":"https://www.wikidata.org/wiki/Q25212305","display_name":"Isolation (microbiology)","level":2,"score":0.385699987411499},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3822999894618988},{"id":"https://openalex.org/C150495011","wikidata":"https://www.wikidata.org/wiki/Q128392","display_name":"Concurrent computing","level":2,"score":0.35580000281333923},{"id":"https://openalex.org/C144240696","wikidata":"https://www.wikidata.org/wiki/Q367204","display_name":"Address space","level":2,"score":0.3384999930858612},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.29109999537467957},{"id":"https://openalex.org/C106159264","wikidata":"https://www.wikidata.org/wiki/Q17146789","display_name":"Random testing","level":4,"score":0.28279998898506165},{"id":"https://openalex.org/C148027188","wikidata":"https://www.wikidata.org/wiki/Q907375","display_name":"Unit testing","level":3,"score":0.28130000829696655},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.25949999690055847},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.2547000050544739},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.2517000138759613}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3764119","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3764119","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3764119","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/3764119","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3764119","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3764119","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/G3860242864","display_name":"CISE Core: CCF: SHF: Small: Future-Proof Test Corpus Synthesis for Evolving Software","funder_award_id":"2120955","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G561287174","display_name":"SHF: Small: Strengthening Correctness of Date and Time Logic in Software Systems","funder_award_id":"2429384","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7054346526","display_name":"SHF: Small: Practical Controlled Concurrency Testing for Managed Code","funder_award_id":"2453432","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":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4415009081.pdf","grobid_xml":"https://content.openalex.org/works/W4415009081.grobid-xml"},"referenced_works_count":46,"referenced_works":["https://openalex.org/W1868584616","https://openalex.org/W2019062800","https://openalex.org/W2025819261","https://openalex.org/W2055116083","https://openalex.org/W2096584575","https://openalex.org/W2101161997","https://openalex.org/W2101939036","https://openalex.org/W2109819183","https://openalex.org/W2111413199","https://openalex.org/W2119142490","https://openalex.org/W2120027538","https://openalex.org/W2122532513","https://openalex.org/W2123184511","https://openalex.org/W2127989655","https://openalex.org/W2149433427","https://openalex.org/W2158124716","https://openalex.org/W2167744164","https://openalex.org/W2246524736","https://openalex.org/W2285599141","https://openalex.org/W2350778671","https://openalex.org/W2734941459","https://openalex.org/W2763865917","https://openalex.org/W2794756405","https://openalex.org/W2884199446","https://openalex.org/W2927543040","https://openalex.org/W2951170114","https://openalex.org/W2979880065","https://openalex.org/W3006516349","https://openalex.org/W3017218903","https://openalex.org/W3017319410","https://openalex.org/W3095312267","https://openalex.org/W3210114756","https://openalex.org/W4213079124","https://openalex.org/W4226163636","https://openalex.org/W4234356145","https://openalex.org/W4251803824","https://openalex.org/W4254906220","https://openalex.org/W4284687346","https://openalex.org/W4366450244","https://openalex.org/W4384471334","https://openalex.org/W4387321141","https://openalex.org/W4394998872","https://openalex.org/W4403223221","https://openalex.org/W4404401013","https://openalex.org/W4407218459","https://openalex.org/W6912281240"],"related_works":[],"abstract_inverted_index":{"Concurrency":[0],"bugs":[1,245,256,262,294],"are":[2,13],"hard":[3],"to":[4,54,59,111,181,227,303],"discover":[5],"and":[6,33,72,108,136,233,247,259,281,320],"reproduce,":[7],"even":[8],"in":[9,46,65,93,128],"well-synchronized":[10],"programs":[11,57,242],"that":[12,80,148,295,310,330],"free":[14],"of":[15,42,62,68,84,145,171,203,219,299,344],"data":[16,169],"races.":[17],"Thankfully,":[18],"prior":[19,129],"work":[20],"on":[21,88,114,154,239,274],"controlled":[22],"concurrency":[23,64,85,132,166,188,192,210,293,327],"testing":[24,92,167,328],"(CCT)":[25],"has":[26],"developed":[27],"sophisticated":[28,228],"algorithms\u2014such":[29],"as":[30,131,313],"partial-order":[31],"based":[32],"selectively":[34],"uniform":[35],"sampling\u2014to":[36],"effectively":[37],"search":[38,220,345],"over":[39],"the":[40,60,66,69,106,143,201,300],"space":[41,110],"thread":[43,183],"interleavings.":[44,307],"Unfortunately,":[45],"practice,":[47],"these":[48,155,285],"techniques":[49,229],"cannot":[50],"easily":[51,151],"be":[52,150],"applied":[53],"real-world":[55,116,292],"Java":[56,78],"due":[58],"difficulties":[61],"controlling":[63],"presence":[67],"managed":[70],"runtime":[71],"complex":[73],"synchronization":[74],"primitives.":[75],"So,":[76],"mature":[77,286],"projects":[79],"make":[81],"heavy":[82],"use":[83],"still":[86],"rely":[87],"naive":[89],"repeated":[90],"stress":[91],"a":[94,101,160,191,217,223,314,339],"loop.":[95],"In":[96,235,284],"this":[97],"paper,":[98],"we":[99,157],"take":[100],"first-principles":[102],"approach":[103],"for":[104,163,198,341],"elucidating":[105],"requirements":[107],"design":[109,125,176],"enable":[112],"CCT":[113],"arbitrary":[115],"JVM":[117,172],"applications.":[118],"We":[119,268,308],"identify":[120],"practical":[121],"challenges":[122],"with":[123,243,250,325],"classical":[124,317],"choices":[126],"described":[127],"work\u2014such":[130],"mocking,":[133],"VM":[134],"hacking,":[135],"OS-level":[137],"scheduling\u2014that":[138],"affect":[139],"bug-finding":[140],"effectiveness":[141],"and/or":[142],"scope":[144],"target":[146],"applications":[147,215],"can":[149,213,296],"supported.":[152],"Based":[153],"insights,":[156],"present":[158],"Fray,":[159],"new":[161],"platform":[162,340],"performing":[164],"push-button":[165,272],"(beyond":[168],"races)":[170],"programs.":[173],"The":[174],"key":[175],"principle":[177],"behind":[178],"Fray":[179,212,249,288,311],"is":[180],"orchestrate":[182],"interleavings":[184],"without":[185],"replacing":[186],"existing":[187,301],"primitives,":[189],"using":[190,216],"control":[193],"mechanism":[194],"called":[195],"shadow":[196],"locking":[197],"faithfully":[199],"expressing":[200],"set":[202],"all":[204],"possible":[205],"program":[206],"behaviors.":[207],"With":[208],"full":[209],"control,":[211],"test":[214],"number":[218],"algorithms":[221,329],"from":[222,277],"simple":[224],"random":[225,251],"walk":[226,252],"like":[230],"PCT,":[231],"POS,":[232],"SURW.":[234],"an":[236],"empirical":[237],"evaluation":[238,343],"53":[240],"benchmark":[241],"known":[244],"(SCTBench":[246],"JaConTeBe),":[248],"finds":[253],"70%":[254],"more":[255,261,333],"than":[257,263],"JPF":[258],"77%":[260],"rr":[264],"\u2019s":[265],"chaos":[266],"mode.":[267],"also":[269],"demonstrate":[270],"Fray\u2019s":[271],"applicability":[273],"2,664":[275],"tests":[276,302],"Apache":[278],"Kafka,":[279],"Lucene,":[280],"Google":[282],"Guava.":[283],"projects,":[287],"successfully":[289],"discovered":[290],"18":[291],"cause":[297],"371":[298],"fail":[304],"under":[305],"specific":[306],"believe":[309],"serves":[312],"bridge":[315],"between":[316],"academic":[318],"research":[319],"industrial":[321],"practice\u2014":[322],"empowering":[323],"developers":[324],"advanced":[326],"demonstrably":[331],"uncover":[332],"bugs,":[334],"while":[335],"simultaneously":[336],"providing":[337],"researchers":[338],"large-scale":[342],"techniques.":[346]},"counts_by_year":[],"updated_date":"2026-07-31T08:31:51.225901","created_date":"2025-10-10T00:00:00"}
