On-the-Fly Static Analysis via Dynamic Bidirected Dyck Reachability
Dyck reachability is a principled, graph-based formulation of a plethora of static analyses. Bidirected graphs are used for capturing dataflow through mutable heap data, and are usual formalisms of demand-driven points-to and alias analyses. The best (offline) algorithm runs in O(m+n · α(n)) time, w...
Saved in:
Published in | Proceedings of ACM on programming languages Vol. 8; no. POPL; pp. 1239 - 1268 |
---|---|
Main Authors | , , , |
Format | Journal Article |
Language | English |
Published |
New York, NY, USA
ACM
02.01.2024
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | Dyck reachability is a principled, graph-based formulation of a plethora of static analyses. Bidirected graphs are used for capturing dataflow through mutable heap data, and are usual formalisms of demand-driven points-to and alias analyses. The best (offline) algorithm runs in O(m+n · α(n)) time, where n is the number of nodes and m is the number of edges in the flow graph, which becomes O(n2) in the worst case. In the everyday practice of program analysis, the analyzed code is subject to continuous change, with source code being added and removed. On-the-fly static analysis under such continuous updates gives rise to dynamic Dyck reachability, where reachability queries run on a dynamically changing graph, following program updates. Naturally, executing the offline algorithm in this online setting is inadequate, as the time required to process a single update is prohibitively large. In this work we develop a novel dynamic algorithm for bidirected Dyck reachability that has O(n · α(n)) worst-case performance per update, thus beating the O(n2) bound, and is also optimal in certain settings. We also implement our algorithm and evaluate its performance on on-the-fly data-dependence and alias analyses, and compare it with two best known alternatives, namely (i) the optimal offline algorithm, and (ii) a fully dynamic Datalog solver. Our experiments show that our dynamic algorithm is consistently, and by far, the top performing algorithm, exhibiting speedups in the order of 1000X. The running time of each update is almost always unnoticeable to the human eye, making it ideal for the on-the-fly analysis setting. |
---|---|
AbstractList | Dyck reachability is a principled, graph-based formulation of a plethora of static analyses. Bidirected graphs are used for capturing dataflow through mutable heap data, and are usual formalisms of demand-driven points-to and alias analyses. The best (offline) algorithm runs in O(m+n · α(n)) time, where n is the number of nodes and m is the number of edges in the flow graph, which becomes O(n2) in the worst case. In the everyday practice of program analysis, the analyzed code is subject to continuous change, with source code being added and removed. On-the-fly static analysis under such continuous updates gives rise to dynamic Dyck reachability, where reachability queries run on a dynamically changing graph, following program updates. Naturally, executing the offline algorithm in this online setting is inadequate, as the time required to process a single update is prohibitively large. In this work we develop a novel dynamic algorithm for bidirected Dyck reachability that has O(n · α(n)) worst-case performance per update, thus beating the O(n2) bound, and is also optimal in certain settings. We also implement our algorithm and evaluate its performance on on-the-fly data-dependence and alias analyses, and compare it with two best known alternatives, namely (i) the optimal offline algorithm, and (ii) a fully dynamic Datalog solver. Our experiments show that our dynamic algorithm is consistently, and by far, the top performing algorithm, exhibiting speedups in the order of 1000X. The running time of each update is almost always unnoticeable to the human eye, making it ideal for the on-the-fly analysis setting. Dyck reachability is a principled, graph-based formulation of a plethora of static analyses. Bidirected graphs are used for capturing dataflow through mutable heap data, and are usual formalisms of demand-driven points-to and alias analyses. The best (offline) algorithm runs in O ( m + n · α ( n ) ) time, where n is the number of nodes and m is the number of edges in the flow graph, which becomes O ( n 2 ) in the worst case. In the everyday practice of program analysis, the analyzed code is subject to continuous change, with source code being added and removed. On-the-fly static analysis under such continuous updates gives rise to dynamic Dyck reachability , where reachability queries run on a dynamically changing graph, following program updates. Naturally, executing the offline algorithm in this online setting is inadequate, as the time required to process a single update is prohibitively large. In this work we develop a novel dynamic algorithm for bidirected Dyck reachability that has O ( n · α ( n ) ) worst-case performance per update, thus beating the O ( n 2 ) bound, and is also optimal in certain settings. We also implement our algorithm and evaluate its performance on on-the-fly data-dependence and alias analyses, and compare it with two best known alternatives, namely (i) the optimal offline algorithm, and (ii) a fully dynamic Datalog solver. Our experiments show that our dynamic algorithm is consistently, and by far, the top performing algorithm, exhibiting speedups in the order of 1000X. The running time of each update is almost always unnoticeable to the human eye, making it ideal for the on-the-fly analysis setting. |
ArticleNumber | 42 |
Author | Krishna, Shankaranarayanan Lal, Aniket Tuppe, Omkar Pavlogiannis, Andreas |
Author_xml | – sequence: 1 givenname: Shankaranarayanan orcidid: 0000-0003-0925-398X surname: Krishna fullname: Krishna, Shankaranarayanan email: krishnas@cse.iitb.ac.in organization: IIT Bombay, Mumbai, India – sequence: 2 givenname: Aniket orcidid: 0009-0007-2581-2856 surname: Lal fullname: Lal, Aniket email: aniketlal@cse.iitb.ac.in organization: IIT Bombay, Mumbai, India – sequence: 3 givenname: Andreas orcidid: 0000-0002-8943-0722 surname: Pavlogiannis fullname: Pavlogiannis, Andreas email: pavlogiannis@cs.au.dk organization: Aarhus University, Aarhus, Denmark – sequence: 4 givenname: Omkar orcidid: 0009-0004-1197-5556 surname: Tuppe fullname: Tuppe, Omkar email: omkarvtuppe@cse.iitb.ac.in organization: IIT Bombay, Mumbai, India |
BookMark | eNptkM1LAzEUxINUsNbi3dPePEWTbHaze6zVqlAo-HFeXt4mNLofkgRh_3u3tIqIpxnm_XgMc0omXd8ZQs45u-JcZtdpnoqikEdkKqTKKJeCT375EzIP4Y0xxstUFmk5JctNR-PW0FUzJM8RosNk0UEzBBeSTwfJ7dBBO4Y3rnbeYDT1GOF78mQAt6Bd4-JwRo4tNMHMDzojr6u7l-UDXW_uH5eLNQWhVKSccaGBlTlgxkHwXCsJOROpLjjWozEa0CjQFqGwmFsppCxUxqTI0Cqdzgjd_0Xfh-CNrdDtKvdd9OCairNqN0J1GGHkL__wH9614Id_yIs9Cdj-QN_HL-0JZD0 |
CitedBy_id | crossref_primary_10_1145_3725214 |
Cites_doi | 10.1145/1167473.1167488 10.1145/3498702 10.1145/3290361 10.1145/3385412.3386021 10.1145/3360574 10.1145/3531130.3533345 10.1145/502874.502888 10.1145/3093333.3009848 10.1016/S0747-7171(89)80018-5 10.1145/2771783.2771803 10.1145/2970276.2970298 10.1145/1328897.1328460 10.1109/ASE.2019.00091 10.1007/3540543961_22 10.1145/2676726.2676979 10.1145/237721.237727 10.1145/141471.141542 10.1109/ASE.2015.9 10.1007/978-1-4615-2207-2_8 10.1145/3498724 10.1145/3293606 10.1145/3428193 10.1145/2914770.2837624 10.1145/378795.378802 10.4230/LIPIcs.ICALP.2022.124 10.1109/32.56098 10.1145/3428246 10.1145/3428195 10.1145/3498673 10.1145/2568225.2568243 10.1016/j.ipl.2021.106135 10.1145/502090.502095 10.1145/1639949.1640108 10.1145/3434315 10.1145/265910.265914 10.1145/3571252 10.1145/3583660.3583664 10.1145/1328438.1328464 10.1145/2259051.2259052 10.1145/199448.199462 10.1145/2491956.2462159 10.1007/978-3-642-11970-5_8 10.1145/360204.360208 10.1145/345099.345137 10.1007/978-3-642-03013-0_6 10.1145/3158118 10.1007/978-3-031-24950-1_9 10.1007/978-3-662-54434-1_33 10.1145/1133255.1134027 10.1109/LICS.1997.614960 10.1145/1094811.1094817 10.1145/2676726.2676997 10.1145/2259016.2259050 10.1145/298514.298576 10.1007/978-3-030-44914-8_5 10.1145/2001420.2001440 10.1145/215465.215466 10.5555/525066 10.1145/222132.222146 10.1007/11688839_5 10.1145/195274.195287 |
ContentType | Journal Article |
Copyright | Owner/Author |
Copyright_xml | – notice: Owner/Author |
DBID | AAYXX CITATION |
DOI | 10.1145/3632884 |
DatabaseName | CrossRef |
DatabaseTitle | CrossRef |
DatabaseTitleList | CrossRef |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 2475-1421 |
EndPage | 1268 |
ExternalDocumentID | 10_1145_3632884 3632884 |
GrantInformation_xml | – fundername: SERB MATRICS grantid: MTR/2019/000095 – fundername: VILLUM FONDEN grantid: VIL42117 |
GroupedDBID | AAKMM AAYFX ACM AEFXT AEJOY AIKLT AKRVB ALMA_UNASSIGNED_HOLDINGS GUFHI LHSKQ M~E OK1 ROL AAYXX CITATION |
ID | FETCH-LOGICAL-a277t-1012ba096ac51a216b74a6023b81cd602ebace7abfca8fc6f42448750425cf7b3 |
ISSN | 2475-1421 |
IngestDate | Thu Jul 10 08:23:25 EDT 2025 Thu Apr 24 23:07:49 EDT 2025 Mon Jul 07 16:40:28 EDT 2025 |
IsDoiOpenAccess | true |
IsOpenAccess | true |
IsPeerReviewed | true |
IsScholarly | true |
Issue | POPL |
Keywords | static analysis dynamic algorithms CFL reachability |
Language | English |
License | This work is licensed under a Creative Commons Attribution International 4.0 License. |
LinkModel | OpenURL |
MergedId | FETCHMERGED-LOGICAL-a277t-1012ba096ac51a216b74a6023b81cd602ebace7abfca8fc6f42448750425cf7b3 |
ORCID | 0009-0004-1197-5556 0000-0003-0925-398X 0009-0007-2581-2856 0000-0002-8943-0722 |
OpenAccessLink | https://dl.acm.org/doi/10.1145/3632884 |
PageCount | 30 |
ParticipantIDs | crossref_citationtrail_10_1145_3632884 crossref_primary_10_1145_3632884 acm_primary_3632884 |
PublicationCentury | 2000 |
PublicationDate | 2024-01-02 |
PublicationDateYYYYMMDD | 2024-01-02 |
PublicationDate_xml | – month: 01 year: 2024 text: 2024-01-02 day: 02 |
PublicationDecade | 2020 |
PublicationPlace | New York, NY, USA |
PublicationPlace_xml | – name: New York, NY, USA |
PublicationTitle | Proceedings of ACM on programming languages |
PublicationTitleAbbrev | ACM PACMPL |
PublicationYear | 2024 |
Publisher | ACM |
Publisher_xml | – name: ACM |
References | (bib69) 2008 (bib5) 2006 (bib62) 2009 (bib6) 2012 (bib13) 2015 (bib7) 2009; 44 (bib22) 1991 (bib32) 2006 (bib63) 2011 (bib46) 1997 (bib56) 1996 (bib40) 2018 (bib68) 2017; 52 (bib1) 2003 (bib34) 2020 (bib54) 2006; 41 (bib37) 2020; 4 (bib52) 2012 (bib8) 1990; 16 (bib59) 2015 (bib17) 2022b (bib25) 1995 (bib42) 2020; 4 (bib16) 1997; 44 (bib65) 2009 (bib67) 2013 (bib43) 2023; 9 (bib15) 2022; 6 (bib48) 1995 (bib2) 2008 (bib33) 2022; 6 (bib41) 2010 (bib60) 2020 (bib12) 2020 (bib24) 2001; 48 (bib61) 2019 (bib4) 2014 (bib49) 1994; 19 (bib51) 2019 (bib35) 2019; 41 (bib66) 1984 (bib3) 1996 (bib53) 2019; 3 (bib64) 1990 (bib21) 2001 (bib11) 2016; 51 (bib44) 2001 (bib10) 2018; 2 (bib28) 2022; 6 (bib58) 2017 (bib19) 2023 (bib18) 2022a (bib45) 1995a (bib23) 1992 (bib38) 2021; 5 (bib39) 2020; 4 (bib50) 1995b (bib57) 2016 (bib29) 2023; 7 (bib26) 2015 (bib47) 2000; 22 (bib9) 2021; 171 (bib31) 2015 (bib55) 2005 (bib20) 1997 (bib14) 2008; 43 (bib27) 1989; 7 (bib30) 2023 (bib36) 2019; 3 Reps Thomas (e_1_3_1_47_1) 1997 e_1_3_1_60_1 e_1_3_1_22_1 e_1_3_1_45_1 e_1_3_1_24_1 Yuan Hao (e_1_3_1_66_1) 2009 e_1_3_1_68_1 e_1_3_1_8_1 e_1_3_1_62_1 e_1_3_1_20_1 e_1_3_1_43_1 e_1_3_1_64_1 e_1_3_1_4_1 e_1_3_1_6_1 e_1_3_1_26_1 e_1_3_1_49_1 e_1_3_1_28_1 e_1_3_1_2_1 e_1_3_1_70_1 e_1_3_1_34_1 e_1_3_1_55_1 e_1_3_1_36_1 e_1_3_1_57_1 e_1_3_1_30_1 e_1_3_1_51_1 e_1_3_1_11_1 e_1_3_1_32_1 e_1_3_1_53_1 e_1_3_1_17_1 e_1_3_1_15_1 e_1_3_1_38_1 e_1_3_1_19_1 e_1_3_1_61_1 e_1_3_1_44_1 e_1_3_1_67_1 e_1_3_1_23_1 e_1_3_1_69_1 e_1_3_1_25_1 e_1_3_1_46_1 e_1_3_1_9_1 e_1_3_1_40_1 Møller Anders (e_1_3_1_41_1) 2018 e_1_3_1_63_1 e_1_3_1_42_1 e_1_3_1_65_1 e_1_3_1_21_1 e_1_3_1_5_1 e_1_3_1_7_1 e_1_3_1_27_1 e_1_3_1_48_1 e_1_3_1_3_1 e_1_3_1_29_1 Ryzhyk Leonid (e_1_3_1_52_1) 2019 e_1_3_1_50_1 Tang Hao (e_1_3_1_59_1) 2017 e_1_3_1_10_1 e_1_3_1_33_1 e_1_3_1_56_1 e_1_3_1_35_1 e_1_3_1_58_1 Chatterjee Krishnendu (e_1_3_1_13_1) 2020 e_1_3_1_14_1 e_1_3_1_12_1 e_1_3_1_31_1 e_1_3_1_54_1 e_1_3_1_18_1 e_1_3_1_16_1 e_1_3_1_37_1 e_1_3_1_39_1 |
References_xml | – start-page: 169 year: 2006 end-page: 190 ident: bib5 publication-title: OOPSLA ’06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-Oriented Programing, Systems, Languages, and Applications doi: 10.1145/1167473.1167488 – start-page: 880 year: 2017 end-page: 908 ident: bib58 publication-title: Programming Languages and Systems – volume: 6 start-page: 29 year: 2022 ident: bib15 publication-title: Proc. ACM Program. Lang doi: 10.1145/3498702 – volume: 3 start-page: 29 year: 2019 ident: bib53 publication-title: Proc. ACM Program. Lang doi: 10.1145/3290361 – start-page: 56 year: 2019 end-page: 67 ident: bib51 article-title: Differential Datalog publication-title: Datalog 2.0 2019 - 3rd International Workshop on the Resurgence of Datalog in Academia and Industry (CEUR Workshop Proceedings, Vol. 2368) – volume: 22 start-page: 162 issue: 1 year: 2000 end-page: 186 ident: bib47 article-title: Undecidability of Context-sensitive Data-dependence Analysis publication-title: ACM Trans. Program. Lang. Syst – volume: 19 start-page: 11 issue: 5 year: 1994 end-page: 20 ident: bib49 article-title: Speeding Up Slicing publication-title: SIGSOFT Softw. Eng. Notes – volume: 41 start-page: 387 issue: 6 year: 2006 end-page: 400 ident: bib54 article-title: Refinement-based Context-sensitive Points-to Analysis for Java publication-title: SIGPLAN Not – year: 2005 ident: bib55 article-title: Demand-driven Points-to Analysis for Java publication-title: OOPSLA – start-page: 112 year: 2020 end-page: 140 ident: bib12 publication-title: Programming Languages and Systems – start-page: 780 year: 2020 end-page: 793 ident: bib34 publication-title: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (London, UK) (PLDI 2020) doi: 10.1145/3385412.3386021 – year: 2012 ident: bib6 publication-title: SOAP – start-page: 98 year: 2009 end-page: 122 ident: bib62 article-title: Scaling CFL-Reachability-Based Points-To Analysis Using Context-Sensitive Must-Not-Alias Analysis publication-title: Proceedings of the 23rd European Conference on ECOOP 2009 — Object-Oriented Programming (Genoa) – volume: 3 start-page: 29 year: 2019 ident: bib36 publication-title: Proc. ACM Program. Lang doi: 10.1145/3360574 – start-page: 1 year: 2022a end-page: 15 ident: bib18 publication-title: Proceedings of the 37th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS ’22) doi: 10.1145/3531130.3533345 – start-page: 132 year: 1984 end-page: 143 ident: bib66 publication-title: Proceedings of the 1984 SIGPLAN Symposium on Compiler Construction (Montreal, Canada) (SIGPLAN ’84) doi: 10.1145/502874.502888 – start-page: 177 year: 2023 end-page: 202 ident: bib19 publication-title: Verification, Model Checking, and Abstract Interpretation – start-page: 175 year: 2009 end-page: 189 ident: bib65 article-title: An Efficient Algorithm for Solving the Dyck-CFL Reachability Problem on Trees publication-title: Proceedings of the 18th European Symposium on Programming Languages and Systems: Held As Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009 (ESOP) – year: 2013 ident: bib67 – year: 1996 ident: bib3 publication-title: Software Change Impact Analysis – volume: 52 start-page: 344 issue: 1 year: 2017 end-page: 358 ident: bib68 article-title: Context-Sensitive Data-Dependence Analysis via Linear Conjunctive Language Reachability publication-title: SIGPLAN Not doi: 10.1145/3093333.3009848 – year: 2018 ident: bib40 publication-title: Static Program Analysis – volume: 7 start-page: 427 issue: 3-4 year: 1989 end-page: 444 ident: bib27 article-title: On the Relationship of Congruence Closureand Unification publication-title: Journal of Symbolic Computation doi: 10.1016/S0747-7171(89)80018-5 – start-page: 106 year: 2015 end-page: 117 ident: bib26 publication-title: Proceedings of the 2015 International Symposium on Software Testing and Analysis (Baltimore, MD, USA) (ISSTA 2015) doi: 10.1145/2771783.2771803 – start-page: 320 year: 2016 end-page: 331 ident: bib57 publication-title: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (Singapore, Singapore) (ASE ’16) doi: 10.1145/2970276.2970298 – volume: 43 start-page: 159 issue: 1 year: 2008 end-page: 169 ident: bib14 article-title: Subcubic Algorithms for Recursive State Machines publication-title: SIGPLAN Not doi: 10.1145/1328897.1328460 – year: 2008 ident: bib2 article-title: SPECjvm2008 Benchmark Suit – start-page: 936 year: 2019 end-page: 948 ident: bib61 publication-title: Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (San Diego, California) (ASE ’19) doi: 10.1109/ASE.2019.00091 – start-page: 448 year: 1991 end-page: 472 ident: bib22 publication-title: Functional Programming Languages and Computer Architecture (Lecture Notes in Computer Science) doi: 10.1007/3540543961_22 – start-page: 230 year: 1990 end-page: 242 ident: bib64 article-title: Graph-theoretic Methods in Database Theory publication-title: Proceedings of the Ninth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (PODS) – start-page: 97 year: 2015 end-page: 109 ident: bib13 publication-title: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages doi: 10.1145/2676726.2676979 – start-page: 32 year: 1996 end-page: 41 ident: bib56 publication-title: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (St. Petersburg Beach, Florida, USA) (POPL ’96) doi: 10.1145/237721.237727 – start-page: 205 year: 1992 end-page: 215 ident: bib23 publication-title: Proceedings of the 1992 ACM Conference on LISP and Functional Programming (LFP ’92) doi: 10.1145/141471.141542 – start-page: 54 year: 2001 end-page: 66 ident: bib44 article-title: Type-base Flow Analysis: From Polymorphic Subtyping to CFL-reachability publication-title: Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) – start-page: 83 year: 2015 end-page: 95 ident: bib59 article-title: Summary-Based Context-Sensitive Data-Dependence Analysis in Presence of Callbacks publication-title: Proceedings of the 42Nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL) – start-page: 619 year: 2015 end-page: 629 ident: bib31 publication-title: Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (Lincoln, Nebraska) (ASE ’15) doi: 10.1109/ASE.2015.9 – start-page: 47 year: 2006 end-page: 64 ident: bib32 article-title: Context-Sensitive Points-to Analysis: Is It Worth It? publication-title: Proceedings of the 15th International Conference on Compiler Construction (CC) – start-page: 163 year: 1995b end-page: 196 ident: bib50 publication-title: Demand Interprocedural Program Analysis Using Logic Databases doi: 10.1007/978-1-4615-2207-2_8 – year: 2003 ident: bib1 article-title: T. J. Watson Libraries for Analysis (WALA) – volume: 6 start-page: 29 year: 2022 ident: bib33 publication-title: Proc. ACM Program. Lang doi: 10.1145/3498724 – year: 2020 ident: bib60 article-title: Dynamic connectivity data structure by Holm, de Lichtenberg, and Thorup – volume: 41 start-page: 31 issue: 1 year: 2019 ident: bib35 article-title: Rethinking Incremental and Parallel Pointer Analysis publication-title: ACM Trans. Program. Lang. Syst doi: 10.1145/3293606 – start-page: 197 year: 2008 end-page: 208 ident: bib69 publication-title: Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’08) – volume: 4 start-page: 28 pages year: 2020 ident: bib37 publication-title: Proc. ACM Program. Lang doi: 10.1145/3428193 – volume: 51 start-page: 733 issue: 1 year: 2016 end-page: 747 ident: bib11 article-title: Algorithms for Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components publication-title: SIGPLAN Not doi: 10.1145/2914770.2837624 – start-page: 5 year: 1997 end-page: 19 ident: bib46 article-title: Program Analysis via Graph Reachability publication-title: Proceedings of the 1997 International Symposium on Logic Programming (ILPS) – start-page: 24 year: 2001 end-page: 34 ident: bib21 publication-title: Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation doi: 10.1145/378795.378802 – start-page: 124:1 year: 2022b end-page: 124:20 ident: bib17 publication-title: 49th International Colloquium on Automata, Languages, and Programming (ICALP 2022) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 229) doi: 10.4230/LIPIcs.ICALP.2022.124 – year: 1995 ident: bib48 publication-title: POPL – year: 2023 ident: bib30 article-title: On-The-Fly Static Analysis via Dynamic Bidirected Dyck Reachability – volume: 16 start-page: 723 issue: 7 year: 1990 end-page: 728 ident: bib8 article-title: A critical analysis of incremental iterative data flow analysis algorithms publication-title: IEEE Transactions on Software Engineering doi: 10.1109/32.56098 – volume: 4 start-page: 29 year: 2020 ident: bib39 article-title: FlowCFL: Generalized Type-Based Reachability Analysis: Graph Reduction and Equivalence of CFL-Based and Type-Based Reachability publication-title: Proc. ACM Program. Lang doi: 10.1145/3428246 – volume: 4 start-page: 28 year: 2020 ident: bib42 publication-title: Proc. ACM Program. Lang doi: 10.1145/3428195 – volume: 6 start-page: 26 year: 2022 ident: bib28 publication-title: Proc. ACM Program. Lang doi: 10.1145/3498673 – start-page: 1 year: 1995a end-page: 11 ident: bib45 publication-title: Proceedings of the 1995 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-based Program Manipulation (PEPM ’95) – volume: 2 start-page: 30 year: 2018 ident: bib10 publication-title: Proc. ACM Program. Lang – start-page: 342 year: 1997 ident: bib20 publication-title: Proceedings of the 12th Annual IEEE Symposium on Logic in Computer Science (LICS ’97) – start-page: 264 year: 2012 end-page: 274 ident: bib52 publication-title: Proceedings of the Tenth International Symposium on Code Generation and Optimization (CGO ’12) – start-page: 288 year: 2014 end-page: 298 ident: bib4 publication-title: Proceedings of the 36th International Conference on Software Engineering (Hyderabad, India) (ICSE 2014) doi: 10.1145/2568225.2568243 – start-page: 155 year: 2011 end-page: 165 ident: bib63 article-title: Demand-driven Context-sensitive Alias Analysis for Java publication-title: Proceedings of the 2011 International Symposium on Software Testing and Analysis (ISSTA) – start-page: 124 year: 2010 end-page: 144 ident: bib41 publication-title: Compiler Construction – volume: 171 year: 2021 ident: bib9 article-title: Tight bounds for reachability problems on one-counter and pushdown systems publication-title: Inform. Process. Lett doi: 10.1016/j.ipl.2021.106135 – volume: 48 start-page: 723 issue: 4 year: 2001 end-page: 760 ident: bib24 article-title: Poly-Logarithmic Deterministic Fully-Dynamic Algorithms for Connectivity, Minimum Spanning Tree, 2-Edge, and Biconnectivity publication-title: J. ACM doi: 10.1145/502090.502095 – volume: 44 start-page: 243 issue: 10 year: 2009 end-page: 262 ident: bib7 article-title: Strictly Declarative Specification of Sophisticated Points-to Analyses publication-title: SIGPLAN Not doi: 10.1145/1639949.1640108 – year: 1995 ident: bib25 article-title: Demand Interprocedural Dataflow Analysis publication-title: SIGSOFT Softw. Eng. Notes – volume: 5 start-page: 29 pages year: 2021 ident: bib38 publication-title: Proc. ACM Program. Lang doi: 10.1145/3434315 – volume: 44 start-page: 669 issue: 5 year: 1997 end-page: 696 ident: bib16 article-title: Sparsification—a Technique for Speeding up Dynamic Graph Algorithms publication-title: J. ACM doi: 10.1145/265910.265914 – volume: 7 start-page: 27 year: 2023 ident: bib29 publication-title: Proc. ACM Program. Lang doi: 10.1145/3571252 – volume: 9 start-page: 5 issue: 4 year: 2023 end-page: 25 ident: bib43 article-title: CFL/Dyck Reachability: An Algorithmic Perspective publication-title: ACM SIGLOG News doi: 10.1145/3583660.3583664 – ident: e_1_3_1_27_1 doi: 10.1145/2771783.2771803 – ident: e_1_3_1_24_1 doi: 10.1145/141471.141542 – ident: e_1_3_1_28_1 doi: 10.1016/S0747-7171(89)80018-5 – ident: e_1_3_1_17_1 doi: 10.1145/265910.265914 – ident: e_1_3_1_36_1 doi: 10.1145/3293606 – ident: e_1_3_1_39_1 doi: 10.1145/3434315 – ident: e_1_3_1_57_1 doi: 10.1145/237721.237727 – ident: e_1_3_1_70_1 doi: 10.1145/1328438.1328464 – ident: e_1_3_1_2_1 – ident: e_1_3_1_7_1 doi: 10.1145/2259051.2259052 – ident: e_1_3_1_49_1 doi: 10.1145/199448.199462 – ident: e_1_3_1_23_1 doi: 10.1007/3540543961_22 – ident: e_1_3_1_51_1 doi: 10.1007/978-1-4615-2207-2_8 – ident: e_1_3_1_68_1 doi: 10.1145/2491956.2462159 – ident: e_1_3_1_42_1 doi: 10.1007/978-3-642-11970-5_8 – ident: e_1_3_1_19_1 doi: 10.1145/3531130.3533345 – ident: e_1_3_1_45_1 doi: 10.1145/360204.360208 – start-page: 175 year: 2009 ident: e_1_3_1_66_1 article-title: An Efficient Algorithm for Solving the Dyck-CFL Reachability Problem on Trees publication-title: Proceedings of the 18th European Symposium on Programming Languages and Systems: Held As Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009 (ESOP) – ident: e_1_3_1_40_1 doi: 10.1145/3428246 – ident: e_1_3_1_48_1 doi: 10.1145/345099.345137 – start-page: 5 year: 1997 ident: e_1_3_1_47_1 article-title: Program Analysis via Graph Reachability publication-title: Proceedings of the 1997 International Symposium on Logic Programming (ILPS) – ident: e_1_3_1_32_1 doi: 10.1109/ASE.2015.9 – ident: e_1_3_1_62_1 doi: 10.1109/ASE.2019.00091 – ident: e_1_3_1_63_1 doi: 10.1007/978-3-642-03013-0_6 – ident: e_1_3_1_11_1 doi: 10.1145/3158118 – ident: e_1_3_1_69_1 doi: 10.1145/3093333.3009848 – volume-title: Static Program Analysis year: 2018 ident: e_1_3_1_41_1 – ident: e_1_3_1_37_1 doi: 10.1145/3360574 – ident: e_1_3_1_25_1 doi: 10.1145/502090.502095 – ident: e_1_3_1_12_1 doi: 10.1145/2914770.2837624 – ident: e_1_3_1_20_1 doi: 10.1007/978-3-031-24950-1_9 – start-page: 880 volume-title: Programming Languages and Systems year: 2017 ident: e_1_3_1_59_1 doi: 10.1007/978-3-662-54434-1_33 – ident: e_1_3_1_55_1 doi: 10.1145/1133255.1134027 – ident: e_1_3_1_21_1 doi: 10.1109/LICS.1997.614960 – ident: e_1_3_1_34_1 doi: 10.1145/3498724 – ident: e_1_3_1_8_1 doi: 10.1145/1639949.1640108 – ident: e_1_3_1_61_1 – ident: e_1_3_1_56_1 doi: 10.1145/1094811.1094817 – ident: e_1_3_1_60_1 doi: 10.1145/2676726.2676997 – ident: e_1_3_1_18_1 doi: 10.4230/LIPIcs.ICALP.2022.124 – ident: e_1_3_1_53_1 doi: 10.1145/2259016.2259050 – ident: e_1_3_1_65_1 doi: 10.1145/298514.298576 – ident: e_1_3_1_22_1 doi: 10.1145/378795.378802 – ident: e_1_3_1_58_1 doi: 10.1145/2970276.2970298 – ident: e_1_3_1_38_1 doi: 10.1145/3428193 – start-page: 112 volume-title: Programming Languages and Systems year: 2020 ident: e_1_3_1_13_1 doi: 10.1007/978-3-030-44914-8_5 – ident: e_1_3_1_16_1 doi: 10.1145/3498702 – start-page: 56 year: 2019 ident: e_1_3_1_52_1 article-title: Differential Datalog publication-title: Datalog 2.0 2019 - 3rd International Workshop on the Resurgence of Datalog in Academia and Industry (CEUR Workshop Proceedings, Vol. 2368) – ident: e_1_3_1_64_1 doi: 10.1145/2001420.2001440 – ident: e_1_3_1_9_1 doi: 10.1109/32.56098 – ident: e_1_3_1_14_1 doi: 10.1145/2676726.2676979 – ident: e_1_3_1_46_1 doi: 10.1145/215465.215466 – ident: e_1_3_1_5_1 doi: 10.1145/2568225.2568243 – ident: e_1_3_1_6_1 doi: 10.1145/1167473.1167488 – ident: e_1_3_1_67_1 doi: 10.1145/502874.502888 – ident: e_1_3_1_54_1 doi: 10.1145/3290361 – ident: e_1_3_1_4_1 doi: 10.5555/525066 – ident: e_1_3_1_10_1 doi: 10.1016/j.ipl.2021.106135 – ident: e_1_3_1_26_1 doi: 10.1145/222132.222146 – ident: e_1_3_1_44_1 doi: 10.1145/3583660.3583664 – ident: e_1_3_1_3_1 – ident: e_1_3_1_31_1 – ident: e_1_3_1_35_1 doi: 10.1145/3385412.3386021 – ident: e_1_3_1_43_1 doi: 10.1145/3428195 – ident: e_1_3_1_30_1 doi: 10.1145/3571252 – ident: e_1_3_1_33_1 doi: 10.1007/11688839_5 – ident: e_1_3_1_15_1 doi: 10.1145/1328897.1328460 – ident: e_1_3_1_50_1 doi: 10.1145/195274.195287 – ident: e_1_3_1_29_1 doi: 10.1145/3498673 |
SSID | ssj0001934839 |
Score | 2.2429388 |
Snippet | Dyck reachability is a principled, graph-based formulation of a plethora of static analyses. Bidirected graphs are used for capturing dataflow through mutable... |
SourceID | crossref acm |
SourceType | Enrichment Source Index Database Publisher |
StartPage | 1239 |
SubjectTerms | Program analysis Software and its engineering Software verification and validation Theory and algorithms for application domains Theory of computation |
SubjectTermsDisplay | Software and its engineering -- Software verification and validation Theory of computation -- Program analysis Theory of computation -- Theory and algorithms for application domains |
Title | On-the-Fly Static Analysis via Dynamic Bidirected Dyck Reachability |
URI | https://dl.acm.org/doi/10.1145/3632884 |
Volume | 8 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV3db9MwELfKeOEFxgBRYMgPiJfJY0mcxH3cOqYJUVqJTtpbdXYSUXXNqtFO6h72yr-9u9hJvDKJj4dYkWVbie90dz7f3Y-xD3j0z5XSINJMFZSSEwk8RihhZCJ7GZrYpqrOP_iWnJ7JL-fxeafzy4taWi31vrl5MK_kf6iKfUhXypL9B8o2i2IHviN9sUUKY_tXNB6WAu03cXKxrozGqWlrjFxPYe_Yos3vHU2t4kLb8nhtqIIsGFef-96l7qhRZlV8x2F_QFcJLoJrTj6F2rvZ3gARQL1NK_v-A8oZoOrDZ41tG-sDNhCgnM78bOtrkrqEmPSzCayEZt3xarGoXK3D-QyufNdEKCvXhOetDGUai0DaFOj9_IE-J4KVx2mj4eirJ1FRs_Y87RyEFoXnd8kvqUhGlEShsphz92trb-i8JhLR5mXHEzfxEXsc4nmDoDAGt56zrhdJVaHSNZ9vE7Bp7ic3l-wbM_fsG89QGW-zp-6EwQ8tuzxnnbzcYc9q9A7uhPkL1m-5h1vu4TX3cOQe7riHt9zDiXu4zz0v2dnJ53H_VDhIDQH4X0tB1dw04LEVTBxAGCQ6lZCg3aZVYDJ8yTWYPAVdGFCFSQrKg1QEARDGpkh19IptlZdl_ppxSZY2aCpzrSX0CGggB5TmBGGQHRxkXbaD2zFZ2KIp9QZ32cd6eybGVaEnMJSLyQYluow3A-s1Noa8-fOQt-xJy5jv2NbyapXvohW51O8rCt8Bhvlvnw |
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=On-the-Fly+Static+Analysis+via+Dynamic+Bidirected+Dyck+Reachability&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Krishna%2C+Shankaranarayanan&rft.au=Lal%2C+Aniket&rft.au=Pavlogiannis%2C+Andreas&rft.au=Tuppe%2C+Omkar&rft.date=2024-01-02&rft.issn=2475-1421&rft.eissn=2475-1421&rft.volume=8&rft.issue=POPL&rft.spage=1239&rft.epage=1268&rft_id=info:doi/10.1145%2F3632884&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_3632884 |
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 |