{"id":"https://openalex.org/W4302363072","doi":"https://doi.org/10.1145/3563647.3563650","title":"Synthesizing state machines for data planes","display_name":"Synthesizing state machines for data planes","publication_year":2022,"publication_date":"2022-10-06","ids":{"openalex":"https://openalex.org/W4302363072","doi":"https://doi.org/10.1145/3563647.3563650"},"language":"en","primary_location":{"id":"doi:10.1145/3563647.3563650","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3563647.3563650","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3563647.3563650","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Symposium on SDN Research","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3563647.3563650","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5100704658","display_name":"Xiaoqi Chen","orcid":"https://orcid.org/0000-0003-4131-4113"},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Xiaoqi Chen","raw_affiliation_strings":["Princeton University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Princeton University","institution_ids":["https://openalex.org/I20089843"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5035177136","display_name":"Andrew Alan Johnson","orcid":"https://orcid.org/0000-0002-0946-515X"},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrew Johnson","raw_affiliation_strings":["Princeton University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Princeton University","institution_ids":["https://openalex.org/I20089843"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5004821621","display_name":"Mengying Pan","orcid":"https://orcid.org/0000-0001-8970-9697"},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Mengying Pan","raw_affiliation_strings":["Princeton University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Princeton University","institution_ids":["https://openalex.org/I20089843"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5049454219","display_name":"David Walker","orcid":"https://orcid.org/0000-0003-3681-149X"},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David Walker","raw_affiliation_strings":["Princeton University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Princeton University","institution_ids":["https://openalex.org/I20089843"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I20089843"],"apc_list":null,"apc_paid":null,"fwci":0.2319,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.388774,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"81","last_page":"88"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":0.9997000098228455,"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/T12326","display_name":"Network Packet Processing and Optimization","score":0.9997000098228455,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9994000196456909,"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/T10142","display_name":"Formal Methods in Verification","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.8624461889266968},{"id":"https://openalex.org/keywords/finite-state-machine","display_name":"Finite-state machine","score":0.6907652616500854},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.6150907874107361},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.5876295566558838},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.5303115844726562},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.5299801826477051},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5039023756980896},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.4548613727092743},{"id":"https://openalex.org/keywords/automaton","display_name":"Automaton","score":0.45370763540267944},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.34387969970703125},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.30643951892852783},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.14460062980651855}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8624461889266968},{"id":"https://openalex.org/C167822520","wikidata":"https://www.wikidata.org/wiki/Q176452","display_name":"Finite-state machine","level":2,"score":0.6907652616500854},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.6150907874107361},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.5876295566558838},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.5303115844726562},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.5299801826477051},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5039023756980896},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.4548613727092743},{"id":"https://openalex.org/C112505250","wikidata":"https://www.wikidata.org/wiki/Q787116","display_name":"Automaton","level":2,"score":0.45370763540267944},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.34387969970703125},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.30643951892852783},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.14460062980651855}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3563647.3563650","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3563647.3563650","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3563647.3563650","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Symposium on SDN Research","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3563647.3563650","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3563647.3563650","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3563647.3563650","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Symposium on SDN Research","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1696541877","display_name":"FMitF: OpenRDC: A Framework for Implementing Open, Reliable, Distributed, Network Control","funder_award_id":"1837030","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":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4302363072.pdf","grobid_xml":"https://content.openalex.org/works/W4302363072.grobid-xml"},"referenced_works_count":11,"referenced_works":["https://openalex.org/W95608104","https://openalex.org/W2134519279","https://openalex.org/W2283556750","https://openalex.org/W2598137689","https://openalex.org/W2743466729","https://openalex.org/W2926976929","https://openalex.org/W3046486172","https://openalex.org/W3046608336","https://openalex.org/W3212102899","https://openalex.org/W4238089251","https://openalex.org/W4294310703"],"related_works":["https://openalex.org/W4242459863","https://openalex.org/W127357700","https://openalex.org/W1480528870","https://openalex.org/W2508541108","https://openalex.org/W4243191745","https://openalex.org/W2724597727","https://openalex.org/W2315419748","https://openalex.org/W1029445510","https://openalex.org/W2072177288","https://openalex.org/W2242084152"],"abstract_inverted_index":{"The":[0],"emergence":[1],"of":[2,206,216],"programmable":[3],"switches":[4],"such":[5,31,44,113,127,164],"as":[6,59],"the":[7,24,96,152,159,169,175,191,204],"Intel":[8],"Tofino":[9,92],"has":[10],"made":[11],"it":[12],"possible,":[13],"in":[14,23,48,89],"theory,":[15],"to":[16,57,69,72,76,112,133,158,190,199],"implement":[17,70,139],"many":[18],"network":[19,25],"monitoring":[20],"applications":[21,45],"directly":[22],"data":[26],"plane.":[27],"In":[28],"practice,":[29],"however,":[30],"implementations":[32,120],"are":[33,55],"often":[34,46],"more":[35],"challenging":[36,105],"than":[37],"expected.":[38],"A":[39,122],"key":[40,123],"difficulty":[41],"is":[42,125,131,155,196],"that":[43,54,126,149,221],"depend,":[47],"part,":[49],"on":[50],"recognizing":[51],"traffic":[52],"patterns":[53],"easy":[56],"specify":[58],"a":[60,90,104,110,128,165,188,214],"deterministic":[61],"finite":[62],"state":[63,83,135,171,211],"automaton":[64],"(a":[65],"DFA)":[66],"but":[67,95],"hard":[68],"thanks":[71],"stringent":[73],"hardware":[74],"constraints:":[75],"maximize":[77],"throughput":[78],"and":[79,138,174,193,225],"avoid":[80],"race":[81],"conditions,":[82],"machine":[84,136,172],"updates":[85],"must":[86],"be":[87],"completed":[88],"single":[91],"pipeline":[93],"stage,":[94],"limited":[97],"computational":[98],"resources":[99],"make":[100],"finding":[101],"an":[102],"implementation":[103,154],"puzzle.":[106],"This":[107],"paper":[108],"presents":[109],"solution":[111,189,195],"puzzles---a":[114],"general":[115],"framework":[116],"for":[117,213],"synthesizing":[118,210],"DFA":[119],"automatically.":[121],"insight":[124],"synthesis":[129],"system":[130],"free":[132],"renumber":[134],"states":[137],"transitions":[140],"using":[141,180],"any":[142],"available":[143,176],"arithmetic":[144],"or":[145],"logical":[146],"operations":[147,179],"over":[148],"renumbering,":[150],"provided":[151],"resulting":[153],"semantically":[156],"equivalent":[157],"input":[160],"specification.":[161],"To":[162],"produce":[163],"synthesizer,":[166],"we":[167],"model":[168],"required":[170],"semantics":[173],"single-stage":[177],"switch":[178],"SMT":[181,185],"constraints.":[182],"An":[183],"off-the-shelf":[184],"solver":[186],"finds":[187],"constraints,":[192],"this":[194],"then":[197],"translated":[198],"P4":[200],"code.":[201],"We":[202],"evaluate":[203],"effectiveness":[205],"our":[207],"methods":[208],"by":[209],"machines":[212],"variety":[215],"useful":[217],"applications,":[218],"including":[219],"those":[220],"monitor":[222],"TCP":[223],"handshakes":[224],"video":[226],"conference":[227],"streams.":[228]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
