{"id":"https://openalex.org/W2297069784","doi":null,"title":"Optimizing Pattern Matching by Program Transformation","display_name":"Optimizing Pattern Matching by Program Transformation","publication_year":2006,"publication_date":"2006-02-21","ids":{"openalex":"https://openalex.org/W2297069784","mag":"2297069784"},"language":"en","primary_location":{"id":"pmh:oai:CiteSeerX.psu:10.1.1.144.3910","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.144.3910","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.loria.fr/~moreau/Papers/BallandM-SETRA2006.pdf","raw_type":"text"},"volume":null,"type":"article","is_traditional":true,"indexed_in":[],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"\u00c9milie Balland","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I4210121838","display_name":"Laboratoire Lorrain de Recherche en Informatique et ses Applications","ror":"https://ror.org/02vnf0c38","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1326498283","https://openalex.org/I277688954","https://openalex.org/I4210107720","https://openalex.org/I4210121838","https://openalex.org/I4210159245","https://openalex.org/I90183372"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"\u00c9milie Balland","raw_affiliation_strings":["Laboratoire Lorrain De Recherche En Informatique Et Ses Applications"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Laboratoire Lorrain De Recherche En Informatique Et Ses Applications","institution_ids":["https://openalex.org/I4210121838"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5110500949","display_name":"Pierre\u2010Etienne Moreau","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I4210121838","display_name":"Laboratoire Lorrain de Recherche en Informatique et ses Applications","ror":"https://ror.org/02vnf0c38","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1326498283","https://openalex.org/I277688954","https://openalex.org/I4210107720","https://openalex.org/I4210121838","https://openalex.org/I4210159245","https://openalex.org/I90183372"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Pierre-\u00c9tienne Moreau","raw_affiliation_strings":["Laboratoire Lorrain De Recherche En Informatique Et Ses Applications"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Laboratoire Lorrain De Recherche En Informatique Et Ses Applications","institution_ids":["https://openalex.org/I4210121838"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I4210121838"],"apc_list":null,"apc_paid":null,"fwci":0.5412,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.76666338,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"19","last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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"}},{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":9.999999747378752e-05,"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"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":9.999999747378752e-05,"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/pattern-matching","display_name":"pattern matching","score":0.9710000157356262},{"id":"https://openalex.org/keywords/program-transformation","display_name":"program transformation","score":0.9890000224113464},{"id":"https://openalex.org/keywords/program-optimization","display_name":"program optimization","score":0.6679999828338623},{"id":"https://openalex.org/keywords/functional-programming-languages","display_name":"functional programming languages","score":0.5429999828338623},{"id":"https://openalex.org/keywords/automaton-construction","display_name":"automata construction","score":0.3869999945163727},{"id":"https://openalex.org/keywords/equational-theories","display_name":"equational theories","score":0.671999990940094},{"id":"https://openalex.org/keywords/transformation-rules","display_name":"transformation rules","score":0.36899998784065247}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7687754034996033},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.7491490840911865},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7078310251235962},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.6744050979614258},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.6501625776290894},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.6126546263694763},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.6119192838668823},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5047367811203003},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.41494977474212646},{"id":"https://openalex.org/C139571649","wikidata":"https://www.wikidata.org/wiki/Q1156793","display_name":"Program optimization","level":3,"score":0.4141084551811218},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.36987370252609253},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.34221553802490234},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.3332866132259369},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.12827759981155396},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"pmh:oai:CiteSeerX.psu:10.1.1.144.3910","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.144.3910","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.loria.fr/~moreau/Papers/BallandM-SETRA2006.pdf","raw_type":"text"},{"id":"mag:2297069784","doi":null,"is_oa":false,"landing_page_url":"https://www.loria.fr/~moreau/Papers/Optimizer.pdf","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":17,"referenced_works":["https://openalex.org/W1501891810","https://openalex.org/W1575771936","https://openalex.org/W1583295953","https://openalex.org/W1584951182","https://openalex.org/W1868982956","https://openalex.org/W1978948468","https://openalex.org/W1996804992","https://openalex.org/W2014294283","https://openalex.org/W2026557621","https://openalex.org/W2035652450","https://openalex.org/W2057405511","https://openalex.org/W2065635796","https://openalex.org/W2094080019","https://openalex.org/W2115472920","https://openalex.org/W2120926795","https://openalex.org/W2141059677","https://openalex.org/W2161369231"],"related_works":["https://openalex.org/W1540115833","https://openalex.org/W7096112801","https://openalex.org/W2726299070","https://openalex.org/W1583597026","https://openalex.org/W1484263233","https://openalex.org/W2109326210","https://openalex.org/W6986209728","https://openalex.org/W2057405511","https://openalex.org/W1491873999","https://openalex.org/W7099004378"],"abstract_inverted_index":{"The":[0,101,198],"compilation":[1,93,107,152,155],"of":[2,12,66,108,156,166,172,180],"pattern":[3,109],"matching":[4,110],"constructs":[5],"is":[6,103,175],"crucial":[7],"to":[8,42,73,81,84,104,116,176,186,206,215],"the":[9,38,53,64,67,106,112,127,143,154,164,184],"efficient":[10],"implementation":[11,55],"functional":[13],"languages":[14,26],"like":[15],"ML,":[16],"Caml,":[17],"or":[18,32,163],"Haskell":[19],"as":[20,22,28,59,159,190,192],"well":[21,191],"rewrite":[23],"rule":[24],"based":[25,97],"such":[27,58,158],"ASF+SDF,":[29],"ELAN,":[30],"Maude,":[31],"Stratego":[33],"for":[34,168],"example.":[35,169],"Until":[36],"now,":[37],"classical":[39],"approach":[40,200],"was":[41],"compute":[43],"an":[44],"(optimized)":[45],"automaton":[46],"before":[47],"generating,":[48],"in":[49,63,114],"a":[50,91,124,132,178,208],"straight-forward":[51],"way,":[52],"corresponding":[54],"code.":[56],"Optimizations":[57],"tests-sharing":[60],"are":[61,76,129,139],"encoded":[62],"construction":[65],"automaton.":[68],"While":[69],"efficient,":[70],"this":[71,87,173],"leads":[72],"algorithms":[74],"which":[75,182,211],"often":[77],"complex":[78],"and":[79,83,94,119,204,217],"difficult":[80],"extend":[82],"maintain.":[85],"In":[86,123],"paper":[88,174],"we":[89],"present":[90],"new":[92,160],"optimization":[95,150],"method":[96],"on":[98,142,195],"program":[99],"transformation.":[100],"principle":[102],"separate":[105],"from":[111,151],"optimization,":[113,185],"order":[115],"improve":[117],"modularity":[118],"make":[120],"extensions":[121],"simpler.":[122],"first":[125],"step,":[126],"patterns":[128],"compiled":[130],"using":[131,146],"simple,":[133],"but":[134],"safe":[135],"algorithm.":[136],"Then,":[137],"optimizations":[138],"directly":[140],"performed":[141],"generated":[144],"code,":[145],"transformation":[147],"rules.":[148],"Separating":[149],"eases":[153],"extensions,":[157],"equational":[161],"theories,":[162],"addition":[165],"or-patterns":[167],"Another":[170],"contribution":[171],"define":[177],"set":[179],"rules":[181],"defines":[183],"show":[187],"their":[188,193],"correction":[189],"effectiveness":[194],"real":[196],"programs.":[197],"presented":[199],"has":[201],"been":[202],"implemented":[203],"applied":[205],"Tom,":[207],"language":[209],"extension":[210],"adds":[212],"pattern-matching":[213],"facilities":[214],"C":[216],"Java.":[218]},"counts_by_year":[],"updated_date":"2026-10-12T09:40:04.860316","created_date":"2016-06-24T00:00:00"}
