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...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Proceedings of ACM on programming languages Ročník 2; číslo POPL; s. 1 - 30
Hlavní autori: Chatterjee, Krishnendu, Choudhary, Bhavya, Pavlogiannis, Andreas
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