Optimal Dyck reachability for data-dependence and alias analysis
A fundamental algorithmic problem at the heart of static analysis is Dyck reachability. The input is a graph where the edges are labeled with different types of opening and closing parentheses, and the reachability information is computed via paths whose parentheses are properly matched. We present...
Uložené v:
| Vydané v: | Proceedings of ACM on programming languages Ročník 2; číslo POPL; s. 1 - 30 |
|---|---|
| Hlavní autori: | , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
01.01.2018
|
| ISSN: | 2475-1421, 2475-1421 |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| Abstract | A fundamental algorithmic problem at the heart of static analysis is Dyck reachability. The input is a graph where the edges are labeled with different types of opening and closing parentheses, and the reachability information is computed via paths whose parentheses are properly matched. We present new results for Dyck reachability problems with applications to alias analysis and data-dependence analysis. Our main contributions, that include improved upper bounds as well as lower bounds that establish optimality guarantees, are as follows:
First, we consider Dyck reachability on bidirected graphs, which is the standard way of performing field-sensitive points-to analysis. Given a bidirected graph with n nodes and m edges, we present: (i) an algorithm with worst-case running time O ( m + n · α( n )), where α( n ) is the inverse Ackermann function, improving the previously known O ( n 2 ) time bound; (ii) a matching lower bound that shows that our algorithm is optimal wrt to worst-case complexity; and (iii) an optimal average-case upper bound of O ( m ) time, improving the previously known O ( m · log n ) bound.
Second, we consider the problem of context-sensitive data-dependence analysis, where the task is to obtain analysis summaries of library code in the presence of callbacks. Our algorithm preprocesses libraries in almost linear time, after which the contribution of the library in the complexity of the client analysis is only linear, and only wrt the number of call sites.
Third, we prove that combinatorial algorithms for Dyck reachability on general graphs with truly sub-cubic bounds cannot be obtained without obtaining sub-cubic combinatorial algorithms for Boolean Matrix Multiplication, which is a long-standing open problem. Thus we establish that the existing combinatorial algorithms for Dyck reachability are (conditionally) optimal for general graphs. We also show that the same hardness holds for graphs of constant treewidth.
Finally, we provide a prototype implementation of our algorithms for both alias analysis and data-dependence analysis. Our experimental evaluation demonstrates that the new algorithms significantly outperform all existing methods on the two problems, over real-world benchmarks. |
|---|---|
| AbstractList | A fundamental algorithmic problem at the heart of static analysis is Dyck reachability. The input is a graph where the edges are labeled with different types of opening and closing parentheses, and the reachability information is computed via paths whose parentheses are properly matched. We present new results for Dyck reachability problems with applications to alias analysis and data-dependence analysis. Our main contributions, that include improved upper bounds as well as lower bounds that establish optimality guarantees, are as follows:
First, we consider Dyck reachability on bidirected graphs, which is the standard way of performing field-sensitive points-to analysis. Given a bidirected graph with n nodes and m edges, we present: (i) an algorithm with worst-case running time O ( m + n · α( n )), where α( n ) is the inverse Ackermann function, improving the previously known O ( n 2 ) time bound; (ii) a matching lower bound that shows that our algorithm is optimal wrt to worst-case complexity; and (iii) an optimal average-case upper bound of O ( m ) time, improving the previously known O ( m · log n ) bound.
Second, we consider the problem of context-sensitive data-dependence analysis, where the task is to obtain analysis summaries of library code in the presence of callbacks. Our algorithm preprocesses libraries in almost linear time, after which the contribution of the library in the complexity of the client analysis is only linear, and only wrt the number of call sites.
Third, we prove that combinatorial algorithms for Dyck reachability on general graphs with truly sub-cubic bounds cannot be obtained without obtaining sub-cubic combinatorial algorithms for Boolean Matrix Multiplication, which is a long-standing open problem. Thus we establish that the existing combinatorial algorithms for Dyck reachability are (conditionally) optimal for general graphs. We also show that the same hardness holds for graphs of constant treewidth.
Finally, we provide a prototype implementation of our algorithms for both alias analysis and data-dependence analysis. Our experimental evaluation demonstrates that the new algorithms significantly outperform all existing methods on the two problems, over real-world benchmarks. |
| Author | Choudhary, Bhavya Chatterjee, Krishnendu Pavlogiannis, Andreas |
| Author_xml | – sequence: 1 givenname: Krishnendu surname: Chatterjee fullname: Chatterjee, Krishnendu organization: IST Austria, Austria – sequence: 2 givenname: Bhavya surname: Choudhary fullname: Choudhary, Bhavya organization: IIT Bombay, India – sequence: 3 givenname: Andreas surname: Pavlogiannis fullname: Pavlogiannis, Andreas organization: IST Austria, Austria |
| BookMark | eNplkEtLAzEYRYNUsNbiX8jO1WieM5mdUq0KhW66H768MBozQ5LN_HsrdiG6umdxuHDvJVqkMTmErim5pVTIO06lolSdoSUTnWyoYHTxiy_QupR3QgjtuVC8X6L7_VTDJ0T8OJsPnB2YN9AhhjpjP2ZsoUJj3eSSdck4DMliiAHKkSDOJZQrdO4hFrc-5Qodtk-HzUuz2z-_bh52jWFS1UbrttNMeCd767kCr7QwgoBowQgqOgqtlYpBx63vjW-5ZF55K6HV0qqer1DzU2vyWEp2fjChQg1jqhlCHCgZvg8YTgcc_Zs__pSPO_P8z_wCTzpblQ |
| CitedBy_id | crossref_primary_10_1145_3498702 crossref_primary_10_1145_3498724 crossref_primary_10_1145_3571252 crossref_primary_10_1145_3656451 crossref_primary_10_1145_3632743 crossref_primary_10_1145_3428246 crossref_primary_10_1145_3563339 crossref_primary_10_1145_3632884 crossref_primary_10_1007_s10009_025_00787_0 crossref_primary_10_1145_3591233 crossref_primary_10_1145_3492428 crossref_primary_10_1145_3563343 crossref_primary_10_1145_3704854 crossref_primary_10_1145_3498673 crossref_primary_10_1145_3434340 crossref_primary_10_1109_TSE_2024_3437684 crossref_primary_10_1145_3644389 crossref_primary_10_1145_3689804 |
| Cites_doi | 10.1145/116873.116878 10.1007/978-3-642-00590-9_13 10.1145/2746539.2746609 10.1016/0022-0000(79)90042-4 10.1145/215465.215466 10.1016/0022-0000(85)90014-5 10.1007/3-540-60084-1_80 10.1145/1328438.1328464 10.1007/978-3-319-21690-4_9 10.1145/1806596.1806617 10.1145/2676726.2676979 10.1145/345099.345137 10.1145/3009837.3009848 10.1145/239912.239913 10.1145/1094811.1094817 10.1007/3-540-19488-6_110 10.1109/FOCS.2010.67 10.1145/2259016.2259050 10.5555/271338.271343 10.1145/505241.505242 10.1145/195274.195287 10.1145/567532.567555 10.1145/1328438.1328460 10.1145/2001420.2001440 10.1137/0214010 10.1145/2837614.2837624 10.1145/199448.199462 10.1145/158511.158639 10.1145/379605.379665 10.1109/FOCS.2014.53 10.1145/2259051.2259052 10.1016/0020-0190(76)90061-2 10.1109/LICS.1997.614960 10.1145/321879.321884 10.1145/298514.298576 10.1007/978-3-642-36946-9_8 10.1145/186025.186041 10.1007/BF02165411 10.1007/11688839_5 10.1145/2968444 10.1145/2491956.2462159 10.1145/2676726.2676997 10.1145/1133255.1134027 10.1145/143095.143137 10.1016/0020-0190(80)90001-0 10.1145/360204.360208 10.1145/2608628.2608664 |
| ContentType | Journal Article |
| DBID | AAYXX CITATION |
| DOI | 10.1145/3158118 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2475-1421 |
| EndPage | 30 |
| ExternalDocumentID | 10_1145_3158118 |
| GroupedDBID | AAKMM AAYFX AAYXX ACM AEFXT AEJOY AIKLT AKRVB ALMA_UNASSIGNED_HOLDINGS CITATION EBS GUFHI LHSKQ M~E OK1 ROL |
| ID | FETCH-LOGICAL-c258t-bb67b24fe59df38af8b4c40a46ac41471a6d582a73df9cf6352f8fd5a6b5d893 |
| ISICitedReferencesCount | 30 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000688016900030&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2475-1421 |
| IngestDate | Sat Nov 29 07:46:46 EST 2025 Tue Nov 18 21:18:42 EST 2025 |
| IsDoiOpenAccess | false |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | POPL |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c258t-bb67b24fe59df38af8b4c40a46ac41471a6d582a73df9cf6352f8fd5a6b5d893 |
| OpenAccessLink | https://dl.acm.org/doi/pdf/10.1145/3158118?download=true |
| PageCount | 30 |
| ParticipantIDs | crossref_citationtrail_10_1145_3158118 crossref_primary_10_1145_3158118 |
| PublicationCentury | 2000 |
| PublicationDate | 2018-01-00 |
| PublicationDateYYYYMMDD | 2018-01-01 |
| PublicationDate_xml | – month: 01 year: 2018 text: 2018-01-00 |
| PublicationDecade | 2010 |
| PublicationTitle | Proceedings of ACM on programming languages |
| PublicationYear | 2018 |
| References | e_1_2_2_4_1 e_1_2_2_24_1 e_1_2_2_49_1 e_1_2_2_22_1 e_1_2_2_20_1 e_1_2_2_2_1 e_1_2_2_41_1 e_1_2_2_62_1 Thorup Mikkel (e_1_2_2_54_1) 1998 e_1_2_2_43_1 e_1_2_2_64_1 e_1_2_2_28_1 e_1_2_2_66_1 Chatterjee Krishnendu (e_1_2_2_19_1) 2016 e_1_2_2_26_1 e_1_2_2_47_1 Bern M.W (e_1_2_2_8_1) 1987 e_1_2_2_60_1 Bertele Umberto (e_1_2_2_9_1) Gustedt Jens (e_1_2_2_27_1) e_1_2_2_13_1 e_1_2_2_38_1 e_1_2_2_11_1 e_1_2_2_30_1 e_1_2_2_51_1 Chaudhuri Shiva (e_1_2_2_21_1) 1995 e_1_2_2_32_1 e_1_2_2_53_1 Arnold Robert S. (e_1_2_2_6_1) e_1_2_2_17_1 e_1_2_2_34_1 e_1_2_2_36_1 e_1_2_2_57_1 Stephen M. (e_1_2_2_10_1) 2006 Bodlaender Hans L. (e_1_2_2_14_1) 1998 Arnborg Stefan (e_1_2_2_5_1) 1989 Vallée-Rai Raja (e_1_2_2_55_1) e_1_2_2_25_1 e_1_2_2_48_1 e_1_2_2_23_1 e_1_2_2_7_1 e_1_2_2_1_1 e_1_2_2_3_1 e_1_2_2_40_1 e_1_2_2_63_1 e_1_2_2_42_1 e_1_2_2_65_1 e_1_2_2_29_1 e_1_2_2_44_1 e_1_2_2_67_1 e_1_2_2_46_1 Xu Guoqing (e_1_2_2_59_1) e_1_2_2_61_1 e_1_2_2_37_1 e_1_2_2_12_1 e_1_2_2_39_1 e_1_2_2_52_1 e_1_2_2_31_1 e_1_2_2_18_1 e_1_2_2_33_1 e_1_2_2_16_1 e_1_2_2_35_1 e_1_2_2_58_1 e_1_2_2_50_1 Robertson Neil (e_1_2_2_45_1) 1984 |
| References_xml | – ident: e_1_2_2_26_1 doi: 10.1145/116873.116878 – ident: e_1_2_2_64_1 doi: 10.1007/978-3-642-00590-9_13 – ident: e_1_2_2_29_1 doi: 10.1145/2746539.2746609 – ident: e_1_2_2_53_1 doi: 10.1016/0022-0000(79)90042-4 – ident: e_1_2_2_40_1 doi: 10.1145/215465.215466 – ident: e_1_2_2_25_1 doi: 10.1016/0022-0000(85)90014-5 – ident: e_1_2_2_12_1 doi: 10.1007/3-540-60084-1_80 – ident: e_1_2_2_67_1 doi: 10.1145/1328438.1328464 – ident: e_1_2_2_18_1 doi: 10.1007/978-3-319-21690-4_9 – ident: e_1_2_2_58_1 doi: 10.1145/1806596.1806617 – volume-title: Linear time algorithms for NP-hard problems restricted to partial k-trees . Discrete Appl Math year: 1989 ident: e_1_2_2_5_1 – ident: e_1_2_2_17_1 doi: 10.1145/2676726.2676979 – ident: e_1_2_2_23_1 – volume-title: Software Change Impact Analysis ident: e_1_2_2_6_1 – ident: e_1_2_2_42_1 doi: 10.1145/345099.345137 – ident: e_1_2_2_66_1 doi: 10.1145/3009837.3009848 – ident: e_1_2_2_31_1 doi: 10.1145/239912.239913 – ident: e_1_2_2_49_1 doi: 10.1145/1094811.1094817 – volume-title: Scaling CFL-Reachability-Based Points-To Analysis Using ContextSensitive Must-Not-Alias Analysis ident: e_1_2_2_59_1 – ident: e_1_2_2_13_1 doi: 10.1007/3-540-19488-6_110 – ident: e_1_2_2_57_1 doi: 10.1109/FOCS.2010.67 – ident: e_1_2_2_46_1 doi: 10.1145/2259016.2259050 – volume-title: Linear-time computation of optimal subgraphs of decomposable graphs. J Algorithm year: 1987 ident: e_1_2_2_8_1 – ident: e_1_2_2_3_1 – volume-title: All Structured Programs Have Small Tree Width and Good Register Allocation. Information and Computation year: 1998 ident: e_1_2_2_54_1 – volume-title: Algorithm Engineering and Experiments ident: e_1_2_2_27_1 – ident: e_1_2_2_41_1 doi: 10.5555/271338.271343 – ident: e_1_2_2_35_1 doi: 10.1145/505241.505242 – ident: e_1_2_2_44_1 doi: 10.1145/195274.195287 – ident: e_1_2_2_32_1 doi: 10.1145/567532.567555 – ident: e_1_2_2_20_1 doi: 10.1145/1328438.1328460 – ident: e_1_2_2_60_1 doi: 10.1145/2001420.2001440 – ident: e_1_2_2_63_1 doi: 10.1137/0214010 – volume-title: CASCON ’99 ident: e_1_2_2_55_1 – ident: e_1_2_2_1_1 – ident: e_1_2_2_16_1 doi: 10.1145/2837614.2837624 – ident: e_1_2_2_43_1 doi: 10.1145/199448.199462 – ident: e_1_2_2_22_1 doi: 10.1145/158511.158639 – ident: e_1_2_2_30_1 doi: 10.1145/379605.379665 – volume-title: Graph minors. III. Planar tree-width. Journal of Combinatorial Theory year: 1984 ident: e_1_2_2_45_1 – ident: e_1_2_2_4_1 doi: 10.1109/FOCS.2014.53 – ident: e_1_2_2_11_1 doi: 10.1145/2259051.2259052 – ident: e_1_2_2_24_1 doi: 10.1016/0020-0190(76)90061-2 – ident: e_1_2_2_28_1 doi: 10.1109/LICS.1997.614960 – volume-title: Blackburn year: 2006 ident: e_1_2_2_10_1 – ident: e_1_2_2_52_1 doi: 10.1145/321879.321884 – ident: e_1_2_2_62_1 doi: 10.1145/298514.298576 – ident: e_1_2_2_61_1 doi: 10.1145/2001420.2001440 – volume-title: A partial k-arboretum of graphs with bounded treewidth. TCS year: 1998 ident: e_1_2_2_14_1 – ident: e_1_2_2_48_1 doi: 10.1007/978-3-642-36946-9_8 – ident: e_1_2_2_38_1 doi: 10.1145/186025.186041 – ident: e_1_2_2_50_1 doi: 10.1007/BF02165411 – ident: e_1_2_2_36_1 doi: 10.1007/11688839_5 – ident: e_1_2_2_37_1 doi: 10.1145/2968444 – volume-title: Zaroliagis year: 1995 ident: e_1_2_2_21_1 – ident: e_1_2_2_65_1 doi: 10.1145/2491956.2462159 – volume-title: 24th Annual European Symposium on Algorithms, ESA 2016 year: 2016 ident: e_1_2_2_19_1 – ident: e_1_2_2_51_1 doi: 10.1145/2676726.2676997 – ident: e_1_2_2_47_1 doi: 10.1145/1133255.1134027 – volume-title: Nonserial Dynamic Programming ident: e_1_2_2_9_1 – ident: e_1_2_2_33_1 doi: 10.1145/143095.143137 – ident: e_1_2_2_2_1 – ident: e_1_2_2_7_1 doi: 10.1016/0020-0190(80)90001-0 – ident: e_1_2_2_39_1 doi: 10.1145/360204.360208 – ident: e_1_2_2_34_1 doi: 10.1145/2608628.2608664 |
| SSID | ssj0001934839 |
| Score | 2.288441 |
| Snippet | A fundamental algorithmic problem at the heart of static analysis is Dyck reachability. The input is a graph where the edges are labeled with different types... |
| SourceID | crossref |
| SourceType | Enrichment Source Index Database |
| StartPage | 1 |
| Title | Optimal Dyck reachability for data-dependence and alias analysis |
| Volume | 2 |
| WOSCitedRecordID | wos000688016900030&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources (ISSN International Center) customDbUrl: eissn: 2475-1421 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0001934839 issn: 2475-1421 databaseCode: M~E dateStart: 20170101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV2_T9wwFLautEOXlhaq0gLyUHVBac-OHTsbcAIxFMhwA9vJcWwd5QjouDvBUvGn8xw7wVwrlQ5dosixkyjv8-eX5_cDoS8pTU2ZG5pQlcEPis1JUpZ9kRggxrSyKWeVbIpNiJMTeXaWF73efRsLs5iIupa3t_n1fxU1tIGwXejsP4i7uyk0wDkIHY4gdjg-S_CnQAKXjszu9MXO1DlL-lTc3jPTeYQmbeXbECzgTB0uVbNPTxKrq0W3vDUeH3uDY7e5EHy6Lp2VobV3dqr5YNxk7PzpHXwch4xreNj88frVvBorv3u_P1aLu25hKNTCMbGronTTOVuqJ4YJIiPDRMNflAmeEOYDoL-ZP7QFAqYRzorT4kfEpyRamP3-ze-Uz1x2jJRwSQKTP0mqvbTYdS6IPiCbj8LAF-glFTx3vHj8K7LS5SmTTTm67s195LUb-z2MjVSaSDcZrqI34acC73kwvEM9U79Hb9uCHTjw9xraDdjADhs4xgYGbOAlbGDABm6wgVtsrKPh4cFwcJSEEhqJplzOYN5loqTMGp7DxJPKypJp1lcsU5oRUExUVnFJlYB5mWsL2ie10lZcZSWvQJX9gFbqq9p8RNjwUoDuqqklGsYZaQTcup9VmVGSKLuBvrYfYaRDenlX5WQyWvrSGwh3Ha99RpXlLp_-3uUzev2IuU20MpvOzRZ6pRez85vpdiPEB96-auk |
| linkProvider | ISSN International Centre |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Optimal+Dyck+reachability+for+data-dependence+and+alias+analysis&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Chatterjee%2C+Krishnendu&rft.au=Choudhary%2C+Bhavya&rft.au=Pavlogiannis%2C+Andreas&rft.date=2018-01-01&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=2&rft.issue=POPL&rft.spage=1&rft.epage=30&rft_id=info:doi/10.1145%2F3158118&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_3158118 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon |