{"id":"https://openalex.org/W7077078226","doi":"https://doi.org/10.1145/3729331","title":"Making Concurrent Hardware Verification Sequential","display_name":"Making Concurrent Hardware Verification Sequential","publication_year":2025,"publication_date":"2025-06-10","ids":{"openalex":"https://openalex.org/W7077078226","doi":"https://doi.org/10.1145/3729331"},"language":"en","primary_location":{"id":"doi:10.1145/3729331","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3729331","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":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":"diamond","oa_url":"https://doi.org/10.1145/3729331","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Thomas Bourgeat","orcid":"https://orcid.org/0000-0002-8468-8409"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Thomas Bourgeat","raw_affiliation_strings":["EPFL, Lausanne, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Jiazheng Liu","orcid":"https://orcid.org/0009-0009-7582-4630"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jiazheng Liu","raw_affiliation_strings":["Massachusetts Institute of Technology, Cambridge, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, Cambridge, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Adam Chlipala","orcid":"https://orcid.org/0000-0001-7085-9417"},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Adam Chlipala","raw_affiliation_strings":["Massachusetts Institute of Technology, Cambridge, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, Cambridge, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"last","author":{"id":null,"display_name":"Arvind","orcid":null},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Arvind","raw_affiliation_strings":["Massachusetts Institute of Technology, Cambridge, USA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, Cambridge, USA","institution_ids":["https://openalex.org/I63966007"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I5124864"],"apc_list":null,"apc_paid":null,"fwci":2.4057,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.92424232,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":99},"biblio":{"volume":"9","issue":"PLDI","first_page":"2007","last_page":"2031"},"is_retracted":false,"is_paratext":false,"is_xpac":true,"primary_topic":{"id":"https://openalex.org/T12157","display_name":"Geochemistry and Geologic Mapping","score":0.5651000142097473,"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/T12157","display_name":"Geochemistry and Geologic Mapping","score":0.5651000142097473,"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/T13067","display_name":"Geological Modeling and Analysis","score":0.027799999341368675,"subfield":{"id":"https://openalex.org/subfields/1906","display_name":"Geochemistry and Petrology"},"field":{"id":"https://openalex.org/fields/19","display_name":"Earth and Planetary Sciences"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T14311","display_name":"Electrical and Electromagnetic Research","score":0.022600000724196434,"subfield":{"id":"https://openalex.org/subfields/3107","display_name":"Atomic and Molecular Physics, and Optics"},"field":{"id":"https://openalex.org/fields/31","display_name":"Physics and Astronomy"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.7024999856948853},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.6498000025749207},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5156000256538391},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4966999888420105},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4668000042438507},{"id":"https://openalex.org/keywords/parameterized-complexity","display_name":"Parameterized complexity","score":0.43939998745918274},{"id":"https://openalex.org/keywords/formal-verification","display_name":"Formal verification","score":0.39899998903274536},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.39340001344680786},{"id":"https://openalex.org/keywords/software-verification","display_name":"Software verification","score":0.3774000108242035}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8271999955177307},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7649999856948853},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7024999856948853},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.6498000025749207},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5156000256538391},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4966999888420105},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4668000042438507},{"id":"https://openalex.org/C165464430","wikidata":"https://www.wikidata.org/wiki/Q1570441","display_name":"Parameterized complexity","level":2,"score":0.43939998745918274},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4334999918937683},{"id":"https://openalex.org/C111498074","wikidata":"https://www.wikidata.org/wiki/Q173326","display_name":"Formal verification","level":2,"score":0.39899998903274536},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.39340001344680786},{"id":"https://openalex.org/C33054407","wikidata":"https://www.wikidata.org/wiki/Q6504747","display_name":"Software verification","level":5,"score":0.3774000108242035},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.3675999939441681},{"id":"https://openalex.org/C75606506","wikidata":"https://www.wikidata.org/wiki/Q1049183","display_name":"Formal methods","level":2,"score":0.36480000615119934},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.36010000109672546},{"id":"https://openalex.org/C2779478453","wikidata":"https://www.wikidata.org/wiki/Q6889748","display_name":"Modularity (biology)","level":2,"score":0.3424000144004822},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.3391999900341034},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.3257000148296356},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.30880001187324524},{"id":"https://openalex.org/C50831359","wikidata":"https://www.wikidata.org/wiki/Q165436","display_name":"Assembly language","level":3,"score":0.2976999878883362},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.2962000072002411},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.2874000072479248},{"id":"https://openalex.org/C42143788","wikidata":"https://www.wikidata.org/wiki/Q173341","display_name":"Hardware description language","level":3,"score":0.2799000144004822},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.2619999945163727},{"id":"https://openalex.org/C174683762","wikidata":"https://www.wikidata.org/wiki/Q609588","display_name":"Component-based software engineering","level":4,"score":0.26109999418258667},{"id":"https://openalex.org/C150495011","wikidata":"https://www.wikidata.org/wiki/Q128392","display_name":"Concurrent computing","level":2,"score":0.257099986076355},{"id":"https://openalex.org/C146499914","wikidata":"https://www.wikidata.org/wiki/Q5469969","display_name":"Formal semantics (linguistics)","level":2,"score":0.25679999589920044},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.2531000077724457},{"id":"https://openalex.org/C2777293101","wikidata":"https://www.wikidata.org/wiki/Q235086","display_name":"Smalltalk","level":3,"score":0.25279998779296875}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3729331","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3729331","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":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:dspace.mit.edu:1721.1/164739","is_oa":true,"landing_page_url":"https://hdl.handle.net/1721.1/164739","pdf_url":"https://dspace.mit.edu/bitstream/1721.1/164739/1/3729331.pdf","source":{"id":"https://openalex.org/S4306400425","display_name":"DSpace@MIT (Massachusetts Institute of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I63966007","host_organization_name":"Massachusetts Institute of Technology","host_organization_lineage":["https://openalex.org/I63966007"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Association for Computing Machinery","raw_type":"http://purl.org/eprint/type/JournalArticle"}],"best_oa_location":{"id":"doi:10.1145/3729331","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3729331","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":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":"Peace, Justice and strong institutions","id":"https://metadata.un.org/sdg/16","score":0.5943284034729004}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":40,"referenced_works":["https://openalex.org/W5325007","https://openalex.org/W953200356","https://openalex.org/W1147832988","https://openalex.org/W1500286044","https://openalex.org/W1510368738","https://openalex.org/W1528441743","https://openalex.org/W1973456473","https://openalex.org/W2018055497","https://openalex.org/W2047932652","https://openalex.org/W2054198444","https://openalex.org/W2061438988","https://openalex.org/W2080267935","https://openalex.org/W2089605910","https://openalex.org/W2115348053","https://openalex.org/W2142785340","https://openalex.org/W2143697469","https://openalex.org/W2155938123","https://openalex.org/W2160972265","https://openalex.org/W2166029537","https://openalex.org/W2168113051","https://openalex.org/W2169870841","https://openalex.org/W2753285289","https://openalex.org/W2770103357","https://openalex.org/W2790678706","https://openalex.org/W2904222803","https://openalex.org/W2904603148","https://openalex.org/W2979772872","https://openalex.org/W3033189783","https://openalex.org/W3138459719","https://openalex.org/W3175981353","https://openalex.org/W3206261744","https://openalex.org/W4239326162","https://openalex.org/W4245952149","https://openalex.org/W4253731216","https://openalex.org/W4288637392","https://openalex.org/W4289874386","https://openalex.org/W4312076501","https://openalex.org/W4386764543","https://openalex.org/W4388573803","https://openalex.org/W4390393298"],"related_works":[],"abstract_inverted_index":{"Compared":[0],"to":[1,13,45,69],"familiar":[2],"hardware-description":[3],"languages":[4,8,82],"like":[5,9],"Verilog,":[6],"rule-based":[7,81,120],"Bluespec":[10,29],"offer":[11],"opportunities":[12],"import":[14],"modularity":[15],"features":[16],"from":[17],"software":[18,50,113],"programming.":[19],"While":[20],"Verilog":[21],"modules":[22,30,84,121],"are":[23],"about":[24],"connecting":[25],"wires":[26],"between":[27],"submodules,":[28],"resemble":[31],"objects":[32,51],"in":[33,142,193],"object-oriented":[34],"programming,":[35],"where":[36],"interactions":[37],"with":[38],"a":[39,59,134,158,166,214,217,221],"module":[40],"occur":[41],"only":[42],"through":[43,157],"calls":[44],"its":[46],"methods.":[47],"However,":[48],"while":[49,178],"can":[52],"typically":[53],"be":[54],"characterized":[55],"one":[56],"method":[57,94,129],"at":[58],"time,":[60],"the":[61,71,117,143,146,154,180,185,196,200],"concurrent":[62,181],"nature":[63,183],"of":[64,73,80,92,119,125,128,136,145,160,176,184,211],"hardware":[65,182],"makes":[66],"it":[67,192],"essential":[68],"consider":[70],"repercussions":[72],"invoking":[74],"multiple":[75],"methods":[76,106],"simultaneously.":[77],"Prior":[78],"formalizations":[79],"conceptualized":[83],"by":[85,190],"describing":[86],"their":[87],"semantics":[88],"considering":[89],"arbitrary":[90,126],"sets":[91],"simultaneous":[93,123],"calls.":[95,130],"This":[96],"internalized":[97],"concurrency":[98],"significantly":[99],"complicates":[100],"correctness":[101,118],"proofs.":[102],"Rather":[103],"than":[104],"analyzing":[105],"one-at-a-time,":[107],"as":[108],"is":[109],"done":[110],"when":[111],"verifying":[112],"object":[114],"methods,":[115],"validating":[116],"necessitated":[122],"consideration":[124],"subsets":[127],"The":[131],"result":[132],"was":[133],"number":[135],"proof":[137],"cases":[138],"that":[139,172],"grew":[140],"exponentially":[141],"size":[144],"module\u2019s":[147],"API.":[148],"In":[149],"this":[150],"work,":[151],"we":[152],"side-step":[153],"exponential":[155],"blowup":[156],"set":[159],"judicious":[161],"language":[162],"restrictions.":[163],"We":[164,187,203],"introduce":[165],"new":[167],"Bluespec-inspired":[168],"formal":[169],"language,":[170],"Fjfj,":[171],"supports":[173],"sequential":[174],"characterization":[175],"modules,":[177],"preserving":[179],"language.":[186],"evaluated":[188],"Fjfj":[189],"implementing":[191],"Coq,":[194],"proving":[195],"key":[197],"framework":[198],"principle:":[199],"refinement":[201],"theorem.":[202],"demonstrated":[204],"Fjfj\u2019s":[205],"expressivity":[206],"via":[207],"implementation":[208],"and":[209,220],"verification":[210],"three":[212],"examples:":[213],"pipelined":[215],"processor,":[216],"parameterized":[218],"crossbar,":[219],"network":[222],"switch.":[223]},"counts_by_year":[{"year":2026,"cited_by_count":1}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
