{"id":"https://openalex.org/W2335528805","doi":"https://doi.org/10.1145/2872362.2872393","title":"RAPID Programming of Pattern-Recognition Processors","display_name":"RAPID Programming of Pattern-Recognition Processors","publication_year":2016,"publication_date":"2016-03-25","ids":{"openalex":"https://openalex.org/W2335528805","doi":"https://doi.org/10.1145/2872362.2872393","mag":"2335528805"},"language":"en","primary_location":{"id":"doi:10.1145/2872362.2872393","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2872362.2872393","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/2872362.2872393","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems","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/2872362.2872393","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5043289411","display_name":"Kevin Angstadt","orcid":"https://orcid.org/0000-0002-0104-5257"},"institutions":[{"id":"https://openalex.org/I51556381","display_name":"University of Virginia","ror":"https://ror.org/0153tk833","country_code":"US","type":"education","lineage":["https://openalex.org/I51556381"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Kevin Angstadt","raw_affiliation_strings":["University of Virginia, Charlottesville, VA, USA"],"affiliations":[{"raw_affiliation_string":"University of Virginia, Charlottesville, VA, USA","institution_ids":["https://openalex.org/I51556381"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5083601969","display_name":"Westley Weimer","orcid":"https://orcid.org/0000-0001-6749-2204"},"institutions":[{"id":"https://openalex.org/I51556381","display_name":"University of Virginia","ror":"https://ror.org/0153tk833","country_code":"US","type":"education","lineage":["https://openalex.org/I51556381"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Westley Weimer","raw_affiliation_strings":["University of Virginia, Charlottesville, VA, USA"],"affiliations":[{"raw_affiliation_string":"University of Virginia, Charlottesville, VA, USA","institution_ids":["https://openalex.org/I51556381"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5074818897","display_name":"Kevin Skadron","orcid":"https://orcid.org/0000-0002-8091-9302"},"institutions":[{"id":"https://openalex.org/I51556381","display_name":"University of Virginia","ror":"https://ror.org/0153tk833","country_code":"US","type":"education","lineage":["https://openalex.org/I51556381"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kevin Skadron","raw_affiliation_strings":["University of Virginia, Charlottesville, VA, USA"],"affiliations":[{"raw_affiliation_string":"University of Virginia, Charlottesville, VA, USA","institution_ids":["https://openalex.org/I51556381"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5043289411"],"corresponding_institution_ids":["https://openalex.org/I51556381"],"apc_list":null,"apc_paid":null,"fwci":4.4797,"has_fulltext":true,"cited_by_count":20,"citation_normalized_percentile":{"value":0.94638631,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"593","last_page":"605"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9991999864578247,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9983000159263611,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8730499744415283},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7131922841072083},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6165361404418945},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5559016466140747},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5105663537979126},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.4891255497932434},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.44519785046577454},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.43628591299057007},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.43264034390449524},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.36124682426452637},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3283964991569519},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.21044540405273438}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8730499744415283},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7131922841072083},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6165361404418945},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5559016466140747},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5105663537979126},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.4891255497932434},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.44519785046577454},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.43628591299057007},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.43264034390449524},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.36124682426452637},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3283964991569519},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.21044540405273438},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2872362.2872393","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2872362.2872393","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/2872362.2872393","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/2872362.2872393","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2872362.2872393","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/2872362.2872393","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1373006616","display_name":"CDI-Type I:   Accelerating Simulations Using CPU+FPGA Heterogeneous Processing","funder_award_id":"1124931","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G3523991775","display_name":null,"funder_award_id":"CCF 0954024, CCF 1116289, CDI-1124931","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G4713059963","display_name":null,"funder_award_id":"FA8750","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G4887462507","display_name":null,"funder_award_id":"C-FAR","funder_id":"https://openalex.org/F4320306087","funder_display_name":"Semiconductor Research Corporation"},{"id":"https://openalex.org/G5317096585","display_name":null,"funder_award_id":"CDI-1124931","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G5613224033","display_name":null,"funder_award_id":"STARnet","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G6237456029","display_name":null,"funder_award_id":"FA8750-15-2-0075","funder_id":"https://openalex.org/F4320338294","funder_display_name":"Air Force Research Laboratory"},{"id":"https://openalex.org/G6811296919","display_name":null,"funder_award_id":"C-FAR","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G6894402473","display_name":null,"funder_award_id":"Fellowship","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8470577276","display_name":"SHF: Small: Synthesizing Human-Readable Documentation","funder_award_id":"1116289","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G929188008","display_name":"CAREER:  Scalable and Trustworthy Automatic Program Repair","funder_award_id":"0954024","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"},{"id":"https://openalex.org/F4320306087","display_name":"Semiconductor Research Corporation","ror":"https://ror.org/047z4n946"},{"id":"https://openalex.org/F4320319068","display_name":"Jefferson Scholars Foundation","ror":null},{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"},{"id":"https://openalex.org/F4320338294","display_name":"Air Force Research Laboratory","ror":"https://ror.org/02e2egq70"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2335528805.pdf","grobid_xml":"https://content.openalex.org/works/W2335528805.grobid-xml"},"referenced_works_count":21,"referenced_works":["https://openalex.org/W1521294226","https://openalex.org/W1568192366","https://openalex.org/W1999788212","https://openalex.org/W2040976214","https://openalex.org/W2044242345","https://openalex.org/W2046454974","https://openalex.org/W2055002822","https://openalex.org/W2062949766","https://openalex.org/W2066210260","https://openalex.org/W2080947572","https://openalex.org/W2095992952","https://openalex.org/W2097493185","https://openalex.org/W2099684647","https://openalex.org/W2100648544","https://openalex.org/W2119467398","https://openalex.org/W2128158689","https://openalex.org/W2138381338","https://openalex.org/W2171421880","https://openalex.org/W2584402701","https://openalex.org/W3139990154","https://openalex.org/W4233832762"],"related_works":["https://openalex.org/W2778498407","https://openalex.org/W650988184","https://openalex.org/W2162410319","https://openalex.org/W2137356287","https://openalex.org/W4321184925","https://openalex.org/W2114177167","https://openalex.org/W2255990315","https://openalex.org/W60915090","https://openalex.org/W2025840053","https://openalex.org/W2161692994"],"abstract_inverted_index":{"We":[0,122,140],"present":[1,92],"RAPID,":[2],"a":[3,26,48,104,153],"high-level":[4],"programming":[5,14],"language":[6],"and":[7,10,39,58,63,72,83,119,162,185],"combined":[8],"imperative":[9],"declarative":[11],"model":[12],"for":[13,31,47,107,176],"pattern-recognition":[15],"processors,":[16],"such":[17,68],"as":[18,69],"Micron's":[19],"Automata":[20],"Processor":[21],"(AP).":[22],"The":[23],"AP":[24,179],"is":[25,54,167,190],"novel,":[27],"non-Von":[28],"Neumann":[29],"architecture":[30],"direct":[32],"execution":[33],"of":[34,50,87,156,195],"non-deterministic":[35],"finite":[36,99],"automata":[37],"(NFAs),":[38],"has":[40,180],"been":[41],"demonstrated":[42,132],"to":[43,78,94,133,192],"provide":[44],"substantial":[45],"speedup":[46],"variety":[49],"data-processing":[51],"applications.":[52],"RAPID":[53,96,125,143],"clear,":[55],"maintainable,":[56],"concise,":[57],"efficient":[59,88],"both":[60],"at":[61,152],"compile":[62,114],"run":[64],"time.":[65],"Language":[66],"features,":[67],"code":[70,165],"abstraction":[71,157],"parallel":[73],"control":[74],"structures,":[75],"map":[76],"well":[77],"pattern-matching":[79],"problems,":[80],"providing":[81],"clarity":[82],"maintainability.":[84,121],"For":[85],"generation":[86],"runtime":[89],"code,":[90],"we":[91,102],"algorithms":[93],"convert":[95],"programs":[97,126,144],"into":[98],"automata.":[100],"Further,":[101],"introduce":[103],"tessellation":[105,174],"technique":[106,175],"configuring":[108,177],"the":[109,138,178],"AP,":[110],"which":[111],"significantly":[112,135],"reduces":[113],"time,":[115],"increases":[116],"programmer":[117],"productivity,":[118],"improves":[120],"evaluate":[123],"five":[124],"against":[127],"custom,":[128],"baseline":[129],"implementations":[130],"previously":[131],"be":[134],"accelerated":[136],"by":[137],"AP.":[139],"find":[141],"that":[142,166,189],"are":[145,150],"much":[146],"shorter":[147],"in":[148,187],"length,":[149],"expressible":[151],"higher":[154],"level":[155],"than":[158],"their":[159],"handcrafted":[160],"counterparts,":[161],"yield":[163],"generated":[164],"often":[168],"more":[169],"compact.":[170],"In":[171],"addition,":[172],"our":[173],"comparable":[181],"device":[182],"utilization":[183],"to,":[184],"results":[186],"compilation":[188],"up":[191],"four":[193],"orders":[194],"magnitude":[196],"faster":[197],"than,":[198],"current":[199],"solutions.":[200]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":2},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":7},{"year":2016,"cited_by_count":3}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
