{"id":"https://openalex.org/W2899642440","doi":"https://doi.org/10.1145/3290358","title":"Refinement of path expressions for static analysis","display_name":"Refinement of path expressions for static analysis","publication_year":2019,"publication_date":"2019-01-02","ids":{"openalex":"https://openalex.org/W2899642440","doi":"https://doi.org/10.1145/3290358","mag":"2899642440"},"language":"en","primary_location":{"id":"doi:10.1145/3290358","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3290358","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3290358","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://dl.acm.org/doi/pdf/10.1145/3290358","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5074534485","display_name":"John Cyphert","orcid":"https://orcid.org/0009-0007-6310-413X"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"John Cyphert","raw_affiliation_strings":["University of Wisconsin, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Wisconsin, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002324370","display_name":"Jason Breck","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Jason Breck","raw_affiliation_strings":["University of Wisconsin, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Wisconsin, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5041698482","display_name":"Zachary Kincaid","orcid":"https://orcid.org/0000-0002-7294-9165"},"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":"Zachary Kincaid","raw_affiliation_strings":["Princeton University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Princeton University, USA","institution_ids":["https://openalex.org/I20089843"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5066155126","display_name":"Thomas Reps","orcid":"https://orcid.org/0000-0002-5676-9949"},"institutions":[{"id":"https://openalex.org/I4210135696","display_name":"GrammaTech (United States)","ror":"https://ror.org/03mwfxd89","country_code":"US","type":"company","lineage":["https://openalex.org/I4210135696"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Thomas Reps","raw_affiliation_strings":["University of Wisconsin, USA / GrammaTech, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Wisconsin, USA / GrammaTech, USA","institution_ids":["https://openalex.org/I4210135696"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.3364,"has_fulltext":true,"cited_by_count":21,"citation_normalized_percentile":{"value":0.89173228,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":"3","issue":"POPL","first_page":"1","last_page":"29"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9998000264167786,"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"}},"topics":[{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9998000264167786,"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"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9995999932289124,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9995999932289124,"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/expression","display_name":"Expression (computer science)","score":0.7710602283477783},{"id":"https://openalex.org/keywords/path","display_name":"Path (computing)","score":0.6764045357704163},{"id":"https://openalex.org/keywords/path-expression","display_name":"Path expression","score":0.6552601456642151},{"id":"https://openalex.org/keywords/algebraic-expression","display_name":"Algebraic expression","score":0.6347226500511169},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5609230995178223},{"id":"https://openalex.org/keywords/longest-path-problem","display_name":"Longest path problem","score":0.49259716272354126},{"id":"https://openalex.org/keywords/intuition","display_name":"Intuition","score":0.4803139567375183},{"id":"https://openalex.org/keywords/path-analysis","display_name":"Path analysis (statistics)","score":0.4638403058052063},{"id":"https://openalex.org/keywords/algebraic-number","display_name":"Algebraic number","score":0.4430878162384033},{"id":"https://openalex.org/keywords/regular-expression","display_name":"Regular expression","score":0.4127647876739502},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3777060806751251},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.365342378616333},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.2997247576713562},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.13217607140541077},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.12630310654640198},{"id":"https://openalex.org/keywords/shortest-path-problem","display_name":"Shortest path problem","score":0.10933101177215576},{"id":"https://openalex.org/keywords/query-language","display_name":"Query language","score":0.09574860334396362}],"concepts":[{"id":"https://openalex.org/C90559484","wikidata":"https://www.wikidata.org/wiki/Q778379","display_name":"Expression (computer science)","level":2,"score":0.7710602283477783},{"id":"https://openalex.org/C2777735758","wikidata":"https://www.wikidata.org/wiki/Q817765","display_name":"Path (computing)","level":2,"score":0.6764045357704163},{"id":"https://openalex.org/C61114434","wikidata":"https://www.wikidata.org/wiki/Q7144649","display_name":"Path expression","level":3,"score":0.6552601456642151},{"id":"https://openalex.org/C18912844","wikidata":"https://www.wikidata.org/wiki/Q4724001","display_name":"Algebraic expression","level":3,"score":0.6347226500511169},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5609230995178223},{"id":"https://openalex.org/C1465435","wikidata":"https://www.wikidata.org/wiki/Q2916352","display_name":"Longest path problem","level":4,"score":0.49259716272354126},{"id":"https://openalex.org/C132010649","wikidata":"https://www.wikidata.org/wiki/Q189222","display_name":"Intuition","level":2,"score":0.4803139567375183},{"id":"https://openalex.org/C82793941","wikidata":"https://www.wikidata.org/wiki/Q1046024","display_name":"Path analysis (statistics)","level":2,"score":0.4638403058052063},{"id":"https://openalex.org/C9376300","wikidata":"https://www.wikidata.org/wiki/Q168817","display_name":"Algebraic number","level":2,"score":0.4430878162384033},{"id":"https://openalex.org/C121329065","wikidata":"https://www.wikidata.org/wiki/Q185612","display_name":"Regular expression","level":2,"score":0.4127647876739502},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3777060806751251},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.365342378616333},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.2997247576713562},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.13217607140541077},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.12630310654640198},{"id":"https://openalex.org/C22590252","wikidata":"https://www.wikidata.org/wiki/Q1058754","display_name":"Shortest path problem","level":3,"score":0.10933101177215576},{"id":"https://openalex.org/C192028432","wikidata":"https://www.wikidata.org/wiki/Q845739","display_name":"Query language","level":2,"score":0.09574860334396362},{"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/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.0},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3290358","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3290358","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3290358","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/3290358","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3290358","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3290358","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":[{"id":"https://openalex.org/G2063342326","display_name":null,"funder_award_id":"FA8750-14-2-0270,FA9750-15-C-0082","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G2575196006","display_name":null,"funder_award_id":"FA8750-14-2-0270","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G341445987","display_name":null,"funder_award_id":"N00014-17-1-2889","funder_id":"https://openalex.org/F4320338298","funder_display_name":"Office of Naval Research Global"},{"id":"https://openalex.org/G4504108201","display_name":null,"funder_award_id":"N00014-17-1","funder_id":"https://openalex.org/F4320337345","funder_display_name":"Office of Naval Research"},{"id":"https://openalex.org/G4577670171","display_name":null,"funder_award_id":"FA8750-15-C-0082","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"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/G698519724","display_name":null,"funder_award_id":"FA8750-14-2-0270","funder_id":"https://openalex.org/F4320338294","funder_display_name":"Air Force Research Laboratory"},{"id":"https://openalex.org/G7470992802","display_name":null,"funder_award_id":"N00014-17-1-2889","funder_id":"https://openalex.org/F4320337345","funder_display_name":"Office of Naval Research"},{"id":"https://openalex.org/G8876996369","display_name":null,"funder_award_id":"N00014","funder_id":"https://openalex.org/F4320337345","funder_display_name":"Office of Naval Research"}],"funders":[{"id":"https://openalex.org/F4320306555","display_name":"Wisconsin Alumni Research Foundation","ror":"https://ror.org/00hwxbz16"},{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"},{"id":"https://openalex.org/F4320337345","display_name":"Office of Naval Research","ror":"https://ror.org/00rk2pe57"},{"id":"https://openalex.org/F4320337368","display_name":"Division of Graduate Education","ror":"https://ror.org/00whkrf32"},{"id":"https://openalex.org/F4320338294","display_name":"Air Force Research Laboratory","ror":"https://ror.org/02e2egq70"},{"id":"https://openalex.org/F4320338298","display_name":"Office of Naval Research Global","ror":"https://ror.org/00rk2pe57"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2899642440.pdf","grobid_xml":"https://content.openalex.org/works/W2899642440.grobid-xml"},"referenced_works_count":50,"referenced_works":["https://openalex.org/W42768900","https://openalex.org/W110849379","https://openalex.org/W148396834","https://openalex.org/W183831629","https://openalex.org/W967948971","https://openalex.org/W1518435293","https://openalex.org/W1538101810","https://openalex.org/W1605468179","https://openalex.org/W1824587283","https://openalex.org/W1848981483","https://openalex.org/W1969311876","https://openalex.org/W1970168990","https://openalex.org/W1973680906","https://openalex.org/W1991504773","https://openalex.org/W2002920670","https://openalex.org/W2008609084","https://openalex.org/W2010194128","https://openalex.org/W2036157748","https://openalex.org/W2036918610","https://openalex.org/W2044870852","https://openalex.org/W2052664195","https://openalex.org/W2058033966","https://openalex.org/W2080573945","https://openalex.org/W2083342911","https://openalex.org/W2099952304","https://openalex.org/W2103714221","https://openalex.org/W2118382442","https://openalex.org/W2119179558","https://openalex.org/W2129962996","https://openalex.org/W2132661148","https://openalex.org/W2138538192","https://openalex.org/W2140809377","https://openalex.org/W2157056800","https://openalex.org/W2157526003","https://openalex.org/W2159756689","https://openalex.org/W2160520283","https://openalex.org/W2163152086","https://openalex.org/W2171834078","https://openalex.org/W2172022734","https://openalex.org/W2398327122","https://openalex.org/W2625924363","https://openalex.org/W2770491639","https://openalex.org/W2780276625","https://openalex.org/W2888926773","https://openalex.org/W2899269697","https://openalex.org/W2911894214","https://openalex.org/W3023968070","https://openalex.org/W3029402327","https://openalex.org/W4231935229","https://openalex.org/W4244831445"],"related_works":["https://openalex.org/W1489763880","https://openalex.org/W1912713675","https://openalex.org/W1759713541","https://openalex.org/W2345471067","https://openalex.org/W2952430269","https://openalex.org/W4212940894","https://openalex.org/W1481677469","https://openalex.org/W4388341277","https://openalex.org/W4297878330","https://openalex.org/W3163095639"],"abstract_inverted_index":{"Algebraic":[0],"program":[1],"analyses":[2,79],"compute":[3,120],"information":[4],"about":[5],"a":[6,13,18,37,74,84,121,185,217,243,251,290,299,303,308,353,373],"program\u2019s":[7],"behavior":[8],"by":[9,151,228],"first":[10],"(a)":[11],"computing":[12],"valid":[14,56,108,122,244,252],"path":[15,34,57,109,123,143,245,253],"expression":[16,20,35,110,124,246,254],"\u2014i.e.,":[17],"regular":[19,51],"that":[21,40,53,125,135,156,239,257,264,349],"recognizes":[22],"all":[23],"feasible":[24],"execution":[25],"paths":[26,212,221],"(and":[27],"usually":[28],"more)\u2014and":[29],"then":[30],"(b)":[31],"interpreting":[32],"the":[33,42,61,80,88,91,97,154,200,209,224,277,294,313,321,331,337,350,356,360],"in":[36,320],"semantic":[38],"algebra":[39],"defines":[41],"analysis.":[43],"There":[44],"are":[45,265],"an":[46,237,326],"infinite":[47],"number":[48],"of":[49,90,153,211,220,323,362,375],"different":[50],"expressions":[52,144],"qualify":[54],"as":[55,214,241,268,270,325,344],"expressions,":[58],"which":[59],"raises":[60],"question":[62],"\u201c":[63],"Which":[64],"one":[65,107],"should":[66],"we":[67,119,194,235,288],"choose?":[68],"\u201d":[69],"While":[70,276],"any":[71],"choice":[72,81],"yields":[73],"sound":[75],"result,":[76],"for":[77,106,167,180,293,372],"many":[78],"can":[82],"have":[83],"drastic":[85],"effect":[86],"on":[87],"precision":[89],"results":[92,263],"obtained.":[93],"This":[94],"paper":[95],"investigates":[96],"following":[98],"two":[99,142],"questions:":[100],"(1)":[101],"What":[102],"does":[103,285],"it":[104,136,164,283],"mean":[105],"to":[111,140,161,183,198,215,260,334,342,366],"be":[112],"\u201cbetter\u201d":[113],"than":[114,189],"another":[115],"?":[116,132],"(2)":[117],"Can":[118],"is":[126,137,165,222,258],"\u201cbetter,\u201d":[127],"and":[128,147,249,329],"if":[129],"so,":[130],"how":[131],"We":[133],"show":[134,348],"not":[138,196],"satisfactory":[139],"compare":[141],"E":[145,148,170,176,181,190,202,205,247,255,274,281],"1":[146,177,191,203],"2":[149,171,182,206],"solely":[150],"means":[152],"languages":[155],"they":[157],"generate":[158],".":[159,207,275],"Counter":[160],"one\u2019s":[162],"intuition,":[163],"possible":[166],"L":[168,174,311,318,324,335],"(":[169,175],")":[172],"\u228a":[173],"),":[178],"yet":[179],"produce":[184],"less-precise":[186],"analysis":[187,262],"result":[188,292,339],"\u2014and":[192],"thus":[193],"would":[195],"want":[197],"perform":[199],"transformation":[201],"\u2192":[204],"However,":[208],"exclusion":[210],"so":[213],"analyze":[216],"smaller":[218],"language":[219],"exactly":[223],"refinement":[225],"criterion":[226],"used":[227],"some":[229],"prior":[230],"methods.":[231],"In":[232],"this":[233],"paper,":[234],"develop":[236],"algorithm":[238,278,314,333,358],"takes":[240],"input":[242],",":[248,312],"returns":[250,280],"\u2032":[256,319],"guaranteed":[259],"yield":[261],"at":[266,307],"least":[267],"good":[269],"those":[271],"obtained":[272],"using":[273],"sometimes":[279],"itself,":[282],"typically":[284],"not:":[286],"(i)":[287],"prove":[289,367],"no-degradation":[291,338],"algorithm\u2019s":[295],"base":[296],"case\u2014for":[297],"transforming":[298],"leaf":[300],"loop":[301,310,317,377],"(i.e.,":[302],"most-deeply-nested":[304],"loop);":[305],"(ii)":[306],"non-leaf":[309],"treats":[315],"each":[316],"body":[322],"indivisible":[327],"atom,":[328],"applies":[330],"leaf-loop":[332],";":[336],"carries":[340],"over":[341,368],"(ii),":[343],"well.":[345],"Our":[346],"experiments":[347],"technique":[351],"has":[352],"substantial":[354],"impact:":[355],"loop-refinement":[357],"allows":[359],"implementation":[361],"Compositional":[363],"Recurrence":[364],"Analysis":[365],"25%":[369],"more":[370],"assertions":[371],"collection":[374],"challenging":[376],"micro-benchmarks.":[378]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":9},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2}],"updated_date":"2026-08-21T09:56:20.448147","created_date":"2025-10-10T00:00:00"}
