{"id":"https://openalex.org/W4403223221","doi":"https://doi.org/10.1145/3689769","title":"Jmvx: Fast Multi-threaded Multi-version Execution and Record-Replay for Managed Languages","display_name":"Jmvx: Fast Multi-threaded Multi-version Execution and Record-Replay for Managed Languages","publication_year":2024,"publication_date":"2024-10-08","ids":{"openalex":"https://openalex.org/W4403223221","doi":"https://doi.org/10.1145/3689769"},"language":"en","primary_location":{"id":"doi:10.1145/3689769","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689769","pdf_url":null,"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://doi.org/10.1145/3689769","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5057225583","display_name":"David N. Schwartz","orcid":null},"institutions":[{"id":"https://openalex.org/I39422238","display_name":"University of Illinois Chicago","ror":"https://ror.org/02mpq6x41","country_code":"US","type":"education","lineage":["https://openalex.org/I39422238"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David Schwartz","raw_affiliation_strings":["University of Illinois, Chicago, USA"],"raw_orcid":"https://orcid.org/0009-0003-9836-3378","affiliations":[{"raw_affiliation_string":"University of Illinois, Chicago, USA","institution_ids":["https://openalex.org/I39422238"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5108158399","display_name":"Ankith Kowshik","orcid":null},"institutions":[{"id":"https://openalex.org/I39422238","display_name":"University of Illinois Chicago","ror":"https://ror.org/02mpq6x41","country_code":"US","type":"education","lineage":["https://openalex.org/I39422238"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ankith Kowshik","raw_affiliation_strings":["University of Illinois, Chicago, USA"],"raw_orcid":"https://orcid.org/0009-0009-8788-0912","affiliations":[{"raw_affiliation_string":"University of Illinois, Chicago, USA","institution_ids":["https://openalex.org/I39422238"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5060601788","display_name":"Lu\u00eds Pina","orcid":"https://orcid.org/0000-0003-4585-5259"},"institutions":[{"id":"https://openalex.org/I39422238","display_name":"University of Illinois Chicago","ror":"https://ror.org/02mpq6x41","country_code":"US","type":"education","lineage":["https://openalex.org/I39422238"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Lu\u00eds Pina","raw_affiliation_strings":["University of Illinois, Chicago, USA"],"raw_orcid":"https://orcid.org/0000-0003-4585-5259","affiliations":[{"raw_affiliation_string":"University of Illinois, Chicago, USA","institution_ids":["https://openalex.org/I39422238"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I39422238"],"apc_list":null,"apc_paid":null,"fwci":1.7246,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.85687686,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":"8","issue":"OOPSLA2","first_page":"1641","last_page":"1669"},"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.9998000264167786,"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.9998000264167786,"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.9994999766349792,"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/T11424","display_name":"Security and Verification in Computing","score":0.9994000196456909,"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.7315386533737183},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5044649839401245},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3960191309452057}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7315386533737183},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5044649839401245},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3960191309452057}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3689769","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689769","pdf_url":null,"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/3689769","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689769","pdf_url":null,"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":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":35,"referenced_works":["https://openalex.org/W119062149","https://openalex.org/W1945100066","https://openalex.org/W1963966612","https://openalex.org/W1977336977","https://openalex.org/W2012431717","https://openalex.org/W2027224105","https://openalex.org/W2055116083","https://openalex.org/W2062278092","https://openalex.org/W2080869721","https://openalex.org/W2091085450","https://openalex.org/W2105393274","https://openalex.org/W2136938453","https://openalex.org/W2142892618","https://openalex.org/W2149886445","https://openalex.org/W2166091242","https://openalex.org/W2166974198","https://openalex.org/W2208387523","https://openalex.org/W2528894473","https://openalex.org/W2530497544","https://openalex.org/W2606288313","https://openalex.org/W2734941459","https://openalex.org/W2739649174","https://openalex.org/W2751343396","https://openalex.org/W2802856615","https://openalex.org/W2887631783","https://openalex.org/W2926384243","https://openalex.org/W2997781304","https://openalex.org/W3018471263","https://openalex.org/W3137220996","https://openalex.org/W4205417128","https://openalex.org/W4236063690","https://openalex.org/W4236883605","https://openalex.org/W4246793718","https://openalex.org/W4255852953","https://openalex.org/W6949209928"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2748952813","https://openalex.org/W2390279801","https://openalex.org/W2358668433","https://openalex.org/W4396701345","https://openalex.org/W2376932109","https://openalex.org/W2001405890","https://openalex.org/W4396696052","https://openalex.org/W4402327032","https://openalex.org/W2382290278"],"abstract_inverted_index":{"Multi-version":[0],"execution":[1,48],"(MVX)":[2],"is":[3],"a":[4,19,46,50,102,129,180,193],"technique":[5],"that":[6,55,136,170],"deploys":[7],"many":[8],"equivalent":[9],"versions":[10],"of":[11,88,100,182,185],"the":[12,62,85,95,140,145,165],"same":[13,63,141,146,166],"program":[14],"\u2014":[15,17],"variants":[16,138,163],"as":[18,39,43,49],"single":[20],"program,":[21],"with":[22,217],"direct":[23],"application":[24],"in":[25,72,80,113,120,156,188,197],"important":[26],"fields":[27],"such":[28],"as:":[29],"security,":[30],"reliability,":[31],"analysis,":[32],"and":[33,74,98,108,134,143,159,174,225],"availability.":[34],"MVX":[35,67,107,173,216],"can":[36,56],"be":[37,58],"seen":[38],"\u201conline":[40],"Record/Replay":[41],"(RR)\u201d,":[42],"RR":[44,109,175],"captures":[45],"program\u2019s":[47],"log":[51],"stored":[52],"on":[53,110],"disk":[54],"later":[57],"replayed":[59],"to":[60,179,202],"observe":[61],"execution.":[64],"Unfortunately,":[65],"current":[66],"techniques":[68],"target":[69],"programs":[70,78,111,118,186],"written":[71,79,90,112,119,187],"C/C++":[73],"do":[75],"not":[76],"support":[77,219],"managed":[81,114],"languages,":[82],"which":[83],"are":[84],"vast":[86],"majority":[87],"code":[89],"nowadays.":[91],"This":[92],"paper":[93],"presents":[94],"design,":[96],"implementation,":[97],"evaluation":[99],"Jmvx\u2014":[101],"novel":[103,130],"system":[104],"for":[105],"performing":[106,215],"languages.":[115],"Jmvx":[116,148,171,191],"supports":[117,149,172],"Java":[121],"by":[122,152,176],"intercepting":[123],"automatically":[124],"identified":[125],"non-deterministic":[126],"methods,":[127],"via":[128],"dynamic":[131],"analysis":[132],"technique,":[133],"ensuring":[135,160],"all":[137,161,207],"execute":[139],"methods":[142],"obtain":[144],"data.":[147],"multi-threaded":[150],"programs,":[151],"capturing":[153],"synchronization":[154],"operations":[155],"one":[157],"variant,":[158],"other":[162],"follow":[164],"ordering.":[167],"We":[168],"validated":[169],"applying":[177],"it":[178],"suite":[181],"benchmarks":[183],"representative":[184],"Java.":[189],"Internally,":[190],"uses":[192],"circular":[194],"buffer":[195],"located":[196],"shared":[198],"memory":[199],"between":[200,206],"JVMs":[201],"enable":[203],"fast":[204],"communication":[205],"variants,":[208],"averaging":[209],"5%":[210],"|47%":[211],"performance":[212],"overhead":[213],"when":[214,223,228],"multithreading":[218],"disabled|enabled,":[220],"8%":[221],"|25%":[222],"recording,":[224],"13%":[226],"|73%":[227],"replaying.":[229]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":2}],"updated_date":"2026-06-26T08:34:08.712188","created_date":"2025-10-10T00:00:00"}
