Universal Scalability in Declarative Program Analysis (with Choice-Based Combination Pruning)
Datalog engines for fixpoint evaluation have brought great benefits to static program analysis over the past decades. A Datalog specification of an analysis allows a declarative, easy-to-maintain specification, without sacrificing performance, and indeed often achieving significant speedups compared...
Uložené v:
| Vydané v: | Proceedings of ACM on programming languages Ročník 9; číslo OOPSLA2; s. 2199 - 2226 |
|---|---|
| Hlavní autori: | , , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
New York, NY, USA
ACM
09.10.2025
|
| Predmet: | |
| 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 | Datalog engines for fixpoint evaluation have brought great benefits to static program analysis over the past decades. A Datalog specification of an analysis allows a declarative, easy-to-maintain specification, without sacrificing performance, and indeed often achieving significant speedups compared to hand-coded algorithms. However, these benefits come with a certain loss of control. Datalog evaluation is bottom-up, meaning that all inferences (from a set of initial facts) are performed and all their conclusions are outputs of the computation. In practice, virtually every program analysis expressed in Datalog becomes unscalable for some inputs, due to the worst-case blowup of computing all results, even when a partial answer would have been perfectly satisfactory. In this work, we present a simple, uniform, and elegant solution to the problem, with great practical effectiveness and application to virtually any Datalog-based analysis. The approach consists of leveraging the choice construct, supported natively in modern Datalog engines like Souffle. The choice construct allows the definition of functional dependencies in a relation and has been used in the past for expressing worklist algorithms. We show a near-universal construction that allows the choice construct to flexibly limit evaluation of predicates. The technique is applicable to practically any analysis architecture imaginable, since it adaptively prunes evaluation results when a (programmer-controlled) projection of a relation exceeds a desired cardinality. We apply the technique to probably the largest, pre-existing Datalog analysis frameworks in existence: Doop (for Java bytecode) and the main client analyses from the Gigahorse framework (for Ethereum smart contracts). Without needing to understand the existing analysis logic and with minimal, local-only changes, the performance of each framework increases dramatically, by over 20x for the hardest inputs, with near-negligible sacrifice in completeness. |
|---|---|
| AbstractList | Datalog engines for fixpoint evaluation have brought great benefits to static program analysis over the past decades. A Datalog specification of an analysis allows a declarative, easy-to-maintain specification, without sacrificing performance, and indeed often achieving significant speedups compared to hand-coded algorithms. However, these benefits come with a certain loss of control. Datalog evaluation is bottom-up, meaning that all inferences (from a set of initial facts) are performed and all their conclusions are outputs of the computation. In practice, virtually every program analysis expressed in Datalog becomes unscalable for some inputs, due to the worst-case blowup of computing all results, even when a partial answer would have been perfectly satisfactory. In this work, we present a simple, uniform, and elegant solution to the problem, with great practical effectiveness and application to virtually any Datalog-based analysis. The approach consists of leveraging the choice construct, supported natively in modern Datalog engines like Souffle. The choice construct allows the definition of functional dependencies in a relation and has been used in the past for expressing worklist algorithms. We show a near-universal construction that allows the choice construct to flexibly limit evaluation of predicates. The technique is applicable to practically any analysis architecture imaginable, since it adaptively prunes evaluation results when a (programmer-controlled) projection of a relation exceeds a desired cardinality. We apply the technique to probably the largest, pre-existing Datalog analysis frameworks in existence: Doop (for Java bytecode) and the main client analyses from the Gigahorse framework (for Ethereum smart contracts). Without needing to understand the existing analysis logic and with minimal, local-only changes, the performance of each framework increases dramatically, by over 20x for the hardest inputs, with near-negligible sacrifice in completeness. Datalog engines for fixpoint evaluation have brought great benefits to static program analysis over the past decades. A Datalog specification of an analysis allows a declarative, easy-to-maintain specification, without sacrificing performance, and indeed often achieving significant speedups compared to hand-coded algorithms. However, these benefits come with a certain loss of control. Datalog evaluation is bottom-up, meaning that all inferences (from a set of initial facts) are performed and all their conclusions are outputs of the computation. In practice, virtually every program analysis expressed in Datalog becomes unscalable for some inputs, due to the worst-case blowup of computing all results, even when a partial answer would have been perfectly satisfactory. In this work, we present a simple, uniform, and elegant solution to the problem, with great practical effectiveness and application to virtually any Datalog-based analysis. The approach consists of leveraging the choice construct, supported natively in modern Datalog engines like Souffle. The choice construct allows the definition of functional dependencies in a relation and has been used in the past for expressing worklist algorithms. We show a near-universal construction that allows the choice construct to flexibly limit evaluation of predicates. The technique is applicable to practically any analysis architecture imaginable, since it adaptively prunes evaluation results when a (programmer-controlled) projection of a relation exceeds a desired cardinality. We apply the technique to probably the largest, pre-existing Datalog analysis frameworks in existence: Doop (for Java bytecode) and the main client analyses from the Gigahorse framework (for Ethereum smart contracts). Without needing to understand the existing analysis logic and with minimal, local-only changes, the performance of each framework increases dramatically, by over 20x for the hardest inputs, with near-negligible sacrifice in completeness. |
| ArticleNumber | 351 |
| Author | Grech, Neville Antoniadis, Anastasios Tsatiris, Ilias Smaragdakis, Yannis |
| Author_xml | – sequence: 1 givenname: Anastasios orcidid: 0009-0004-1605-967X surname: Antoniadis fullname: Antoniadis, Anastasios email: anantoni@di.uoa.gr organization: University of Athens, Athens, Greece – sequence: 2 givenname: Ilias orcidid: 0000-0002-1788-053X surname: Tsatiris fullname: Tsatiris, Ilias email: ilias@dedaub.com organization: Dedaub, Athens, Greece – sequence: 3 givenname: Neville orcidid: 0000-0002-6790-2872 surname: Grech fullname: Grech, Neville email: me@nevillegrech.com organization: University of Malta, Msida, Malta, Dedaub, San Gwann, Malta – sequence: 4 givenname: Yannis orcidid: 0000-0002-0499-0182 surname: Smaragdakis fullname: Smaragdakis, Yannis email: smaragd@di.uoa.gr organization: University of Athens, Athens, Greece, Dedaub, Athens, Greece |
| BookMark | eNpNkEtLAzEUhYNUsNbi3lV26mJ0bjKPZlnHJxQUtEsZ7k2TNjKTkaQq_feOtIqrc-H7uHDOIRv4zhvGjiG9AMjyS1kWEoTaY0ORlXkCmYDBv_uAjWN8S9MUlMwmUg3Z69y7TxMiNvxZY4PkGrfecOf5tdENBlz3mD-Fbhmw5VOPzSa6yM--3HrFq1XntEmuMJoFr7qWnO_9zvf-h3d-eX7E9i020Yx3OWLz25uX6j6ZPd49VNNZgpAXKrHCasJMkdAlLWRhFGWAhbCSCpuDFqBAGpqUOfXQUt9ECrNQQIZyKrUcsdPtXx26GIOx9XtwLYZNDWn9M0y9G6Y3T7Ym6vZP-oXfw_BfvA |
| Cites_doi | 10.1145/1065167.1065169 10.1145/1094811.1094817 10.1145/2950290.2950296 10.4230/LIPIcs.ECOOP.2024.10 10.1145/2908080.2908096 10.1145/2491956.2462191 10.1145/1044834.1044835 10.1145/3276510 10.1145/3498720 10.1007/11575467_11 10.1145/3385412.3386026 10.1145/2491411.2491417 10.1145/3453483.3454026 10.1145/2594291.2594320 10.4230/LIPIcs.ECOOP.2016.22 10.1145/3591242 10.1093/logcom/2.4.511 10.1109/ICSE.2019.00120 10.1145/2594291.2594318 10.1145/3133924 10.1007/978-3-642-03237-0_15 10.1145/2147769.2147770 10.1145/2001420.2001440 10.1145/2644805 10.1145/3213846.3213847 10.1145/3276509 10.1145/3133926 10.1145/3656417 10.1007/11575467_8 10.1007/3-540-55015-1_7 10.1145/1133981.1134018 10.1145/3037697.3037744 10.4230/LIPIcs.ECOOP.2018.26 10.1145/1926385.1926390 10.1145/2594291.2594327 10.1145/3434315 10.1145/3485524 10.1145/2259016.2259050 10.1145/3236024.3236041 10.1145/3485540 10.1145/3510003.3510046 10.1145/1640089.1640108 10.1145/378795.378802 10.1145/3381915 10.1145/1167473.1167488 10.5281/zenodo.15723754 10.1145/93597.93621 10.1145/1328438.1328464 |
| ContentType | Journal Article |
| Copyright | Owner/Author |
| Copyright_xml | – notice: Owner/Author |
| DBID | AAYXX CITATION |
| DOI | 10.1145/3763129 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2475-1421 |
| EndPage | 2226 |
| ExternalDocumentID | 10_1145_3763129 3763129 |
| GroupedDBID | AAKMM AAYFX ACM AEFXT AEJOY AIKLT AKRVB ALMA_UNASSIGNED_HOLDINGS GUFHI LHSKQ M~E OK1 ROL AAYXX CITATION |
| ID | FETCH-LOGICAL-a1569-f2fcba49b2c7bd36e9b41a62f3b6f51c21913eb875b36efb42132ed91beb5b7c3 |
| ISSN | 2475-1421 |
| IngestDate | Thu Oct 16 04:37:24 EDT 2025 Mon Oct 13 16:30:15 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | OOPSLA2 |
| Keywords | logic programming optimization Static analysis program analysis datalog |
| Language | English |
| License | This work is licensed under Creative Commons Attribution International 4.0. |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a1569-f2fcba49b2c7bd36e9b41a62f3b6f51c21913eb875b36efb42132ed91beb5b7c3 |
| ORCID | 0000-0002-6790-2872 0009-0004-1605-967X 0000-0002-1788-053X 0000-0002-0499-0182 |
| OpenAccessLink | https://dl.acm.org/doi/10.1145/3763129 |
| PageCount | 28 |
| ParticipantIDs | crossref_primary_10_1145_3763129 acm_primary_3763129 |
| PublicationCentury | 2000 |
| PublicationDate | 20251009 2025-10-09 |
| PublicationDateYYYYMMDD | 2025-10-09 |
| PublicationDate_xml | – month: 10 year: 2025 text: 20251009 day: 09 |
| 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 | 2025 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| References | Neville Grech, Lexi Brent, Bernhard Scholz, and Yannis Smaragdakis. 2019. Gigahorse: Thorough, Declarative Decompilation of Smart Contracts. In Proceedings of the 41st International Conference on Software Engineering (ICSE ’19). IEEE Press, Piscataway, NJ, USA. 1176–1186. https://doi.org/10.1109/ICSE.2019.00120 10.1109/ICSE.2019.00120 Minseok Jeon, Sehun Jeong, and Hakjoo Oh. 2018. Precise and scalable points-to analysis via data-driven context tunneling. Proc. ACM Program. Lang., 2, OOPSLA (2018), Article 140, oct, 29 pages. https://doi.org/10.1145/3276510 10.1145/3276510 Raf Venken. 1984. lhe Interaction between Prolog and Relational Databases. Internal Report BIM-prolog IR6.. Tian Tan, Yue Li, Xiaoxing Ma, Chang Xu, and Yannis Smaragdakis. 2021. Making pointer analysis more precise by unleashing the power of selective context sensitivity. Proc. ACM Program. Lang., 5, OOPSLA (2021), Article 147, oct, 27 pages. https://doi.org/10.1145/3485524 10.1145/3485524 Minseok Jeon and Hakjoo Oh. 2022. Return of CFA: call-site sensitivity can be superior to object sensitivity even for object-oriented programs. Proc. ACM Program. Lang., 6, POPL (2022), Article 58, jan, 29 pages. https://doi.org/10.1145/3498720 10.1145/3498720 Magnus Madsen, Ming-Ho Yee, and Ondrej Lhoták. 2016. From Datalog to flix: a declarative language for fixed points on lattices. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2016, Santa Barbara, CA, USA, June 13-17, 2016, Chandra Krintz and Emery D. Berger (Eds.). ACM, 194–208. https://doi.org/10.1145/2908080.2908096 10.1145/2908080.2908096 Anastasios Antoniadis, Nikos Filippakis, Paddy Krishnan, Raghavendra Ramesh, Nicholas Allen, and Yannis Smaragdakis. 2020. Static analysis of Java enterprise applications: frameworks and caches, the elephants in the room. In Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2020, London, UK, June 15-20, 2020, Alastair F. Donaldson and Emina Torlak (Eds.). ACM, 794–807. https://doi.org/10.1145/3385412.3386026 10.1145/3385412.3386026 Stephen M. Blackburn, Robin Garner, Chris Hoffmann, Asjad M. Khan, Kathryn S. McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin Hirzel, Antony L. Hosking, Maria Jump, Han Bok Lee, J. Eliot B. Moss, Aashish Phansalkar, Darko Stefanovic, Thomas VanDrunen, Daniel von Dincklage, and Ben Wiedermann. 2006. The DaCapo benchmarks: Java benchmarking development and analysis. In Proc. of the 21st Annual ACM SIGPLAN Conf. on Object Oriented Programming, Systems, Languages, and Applications (OOPSLA ’06). ACM, New York, NY, USA. 169–190. isbn:1-59593-348-4 https://doi.org/10.1145/1167473.1167488 10.1145/1167473.1167488 Yannis Smaragdakis, Neville Grech, Sifis Lagouvardos, Konstantinos Triantafyllou, and Ilias Tsatiris. 2021. Symbolic Value-Flow Static Analysis: Deep, Precise, Complete Modeling of Ethereum Smart Contracts. Proc. ACM Program. Lang., 5, OOPSLA (2021), Article 163, oct, 30 pages. https://doi.org/10.1145/3485540 10.1145/3485540 Anders Alnor Mathiasen and Andreas Pavlogiannis. 2021. The fine-grained and parallel complexity of andersen’s pointer analysis. Proc. ACM Program. Lang., 5, POPL (2021), Article 34, Jan., 29 pages. https://doi.org/10.1145/3434315 10.1145/3434315 Yue Li, Tian Tan, Anders Møller, and Yannis Smaragdakis. 2020. A Principled Approach to Selective Context Sensitivity for Pointer Analysis. ACM Trans. Program. Lang. Syst., 42, 2 (2020), Article 10, may, 40 pages. issn:0164-0925 https://doi.org/10.1145/3381915 10.1145/3381915 Yannis Smaragdakis, George Kastrinis, and George Balatsouras. 2014. Introspective analysis: context-sensitivity, across the board. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’14). Association for Computing Machinery, New York, NY, USA. 485–495. isbn:9781450327848 https://doi.org/10.1145/2594291.2594320 10.1145/2594291.2594320 Dacong Yan, Guoqing (Harry) Xu, and Atanas Rountev. 2011. Demand-driven context-sensitive alias analysis for Java. In Proceedings of the 20th International Symposium on Software Testing and Analysis, ISSTA 2011, Toronto, ON, Canada, July 17-21, 2011. ACM, 155–165. https://doi.org/10.1145/2001420.2001440 10.1145/2001420.2001440 Sergio Greco and Carlo Zaniolo. 1998. Greedy Algorithms in Datalog with Choice and Negation. In IJCSLP. https://api.semanticscholar.org/CorpusID:15290518 Benjamin Livshits, Manu Sridharan, Yannis Smaragdakis, Ondřej Lhoták, J. Nelson Amaral, Bor-Yuh Evan Chang, Samuel Z. Guyer, Uday P. Khedker, Anders Møller, and Dimitrios Vardoulakis. 2015. In defense of soundiness: a manifesto. Commun. ACM, 58, 2 (2015), Jan., 44–46. issn:0001-0782 https://doi.org/10.1145/2644805 10.1145/2644805 Yannis Smaragdakis and Martin Bravenboer. 2011. Using Datalog for Fast and Easy Program Analysis. In Datalog Reloaded, Oege de Moor, Georg Gottlob, Tim Furche, and Andrew Sellers (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 245–251. isbn:978-3-642-24206-9 Madhurima Chakraborty, Aakash Gnanakumar, Manu Sridharan, and Anders Møller. 2024. Indirection-Bounded Call Graph Analysis. In 38th European Conference on Object-Oriented Programming (ECOOP 2024), Jonathan Aldrich and Guido Salvaneschi (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 313). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 10:1–10:22. isbn:978-3-95977-341-6 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2024.10 10.4230/LIPIcs.ECOOP.2024.10 Fosca Giannotti, Dino Pedreschi, Domenico Saccà, and Carlo Zaniolo. 1991. Non-determinism in deductive databases. Springer Berlin Heidelberg, 129–146. isbn:9783540466468 issn:1611-3349 https://doi.org/10.1007/3-540-55015-1_7 10.1007/3-540-55015-1_7 S. Kunifuji and H. Yokota. 1982. Prolog and Relational Databases for 5th Generation Computer Systems. In Proceedings of the Workrhop on Logical Bases for Data Bases. Magnus Madsen and Ondrej Lhoták. 2018. Safe and sound program analysis with Flix. In Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2018, Amsterdam, The Netherlands, July 16-21, 2018, Frank Tip and Eric Bodden (Eds.). ACM, 38–48. https://doi.org/10.1145/3213846.3213847 10.1145/3213846.3213847 Chris Martens, Robert J. Simmons, and Michael Arntzenius. 2024. Finite-Choice Logic Programming. arxiv:2405.19040. arxiv:2405.19040 Mayur Naik, Alex Aiken, and John Whaley. 2006. Effective static race detection for Java. In Proc. of the 2006 ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI ’06). ACM, New York, NY, USA. 308–319. isbn:1-59593-320-4 https://doi.org/10.1145/1133981.1134018 10.1145/1133981.1134018 Hakjoo Oh, Wonchan Lee, Kihong Heo, Hongseok Yang, and Kwangkeun Yi. 2014. Selective context-sensitivity guided by impact pre-analysis. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’14). Association for Computing Machinery, New York, NY, USA. 475–484. isbn:9781450327848 https://doi.org/10.1145/2594291.2594318 10.1145/2594291.2594318 Yue Li, Tian Tan, Anders Møller, and Yannis Smaragdakis. 2018. Scalability-first pointer analysis with self-tuning context-sensitivity. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018). Association for Computing Machinery, New York, NY, USA. 129–140. isbn:9781450355735 https://doi.org/10.1145/3236024.3236041 10.1145/3236024.3236041 Martin Bravenboer and Yannis Smaragdakis. 2009. Strictly Declarative Specification of Sophisticated Points-to Analyses. In OOPSLA ’09: Proceedings of the 24th annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. Yannis Smaragdakis, Martin Bravenboer, and Ondřej Lhoták. 2011. Pick Your Contexts Well: Understanding Object-Sensitivity. In Proc. of the 38th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages (POPL ’11). ACM, New York, NY, USA. 17–30. isbn:978-1-4503-0490-0 Neville Grech and Yannis Smaragdakis. 2017. P/Taint: unified points-to and taint analysis. Proc. ACM Program. Lang., 1, OOPSLA (2017), Article 102, Oct., 28 pages. https://doi.org/10.1145/3133926 10.1145/3133926 Magnus Madsen, Benjamin Livshits, and Michael Fanning. 2013. Practical Static Analysis of JavaScript Applications in the Presence of Frameworks and Libraries. In Proceedings of the ACM SIGSOFT International Symposium on the Foundations of Software Engineering. Christian Wimmer, Codrut Stancu, David Kozak, and Thomas Würthinger. 2024. Scaling Type-Based Points-to Analysis with Saturation. Proc. ACM Program. Lang., 8, PLDI (2024), Article 187, June, 24 pages. https://doi.org/10.1145/3656417 10.1145/3656417 Tamás Szabó, Gábor Bergmann, Sebastian Erdweg, and Markus Voelter. 2018. Incrementalizing lattice-based program analyses in Datalog. Proc. ACM Program. Lang., 2, OOPSLA (2018), 139:1–139:29. https://doi.org/10.1145/3276509 10.1145/3276509 ISO/IEC. 2003. Information Technology—Database Languages—SQL—Part 2: Foundation (SQL/Foundation). International Standard ISO/IEC 9075-2:2003. Manu Sridharan and Rastislav Bodik. 2006. Refinement-based context-sensitive points-to analysis for Java. In PLDI ’06: Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation. 387–400. issn:0362-1340 Anastasios Antoniadis, Ilias Tsatiris, Neville Grech, and Yannis Smaragdakis. 2025. Artifact: Universal Scalability in Declarative Program Analysis (with Choice-Based Combination Pruning). https://doi.org/10.5281/zenodo.15723754 10.5281/zenodo.15723754 Patrick Cousot and Radhia Cousot. 1992. Abstract Interpretation Frameworks. Journal of Logic and Computation, 2, 4 (1992), 511–547. Lei Shang, Xinwei Xie, and Jingling Xue. 2012. On-demand dynamic summary-based points-to anal Andersen Lars O. (e_1_2_1_1_1) e_1_2_1_20_1 e_1_2_1_41_1 e_1_2_1_24_1 e_1_2_1_45_1 e_1_2_1_22_1 e_1_2_1_43_1 e_1_2_1_28_1 e_1_2_1_49_1 e_1_2_1_26_1 e_1_2_1_47_1 Naik Mayur (e_1_2_1_34_1) 2011 Tsur Shalom (e_1_2_1_51_1) 1986 IEC. (e_1_2_1_16_1) 2003; 9075 Kunifuji S. (e_1_2_1_21_1) e_1_2_1_31_1 e_1_2_1_54_1 e_1_2_1_8_1 e_1_2_1_56_1 e_1_2_1_6_1 Hu Xiaowen (e_1_2_1_15_1) e_1_2_1_12_1 e_1_2_1_35_1 e_1_2_1_50_1 e_1_2_1_4_1 e_1_2_1_10_1 e_1_2_1_33_1 e_1_2_1_52_1 e_1_2_1_2_1 e_1_2_1_14_1 e_1_2_1_37_1 Smaragdakis Yannis (e_1_2_1_39_1) e_1_2_1_58_1 e_1_2_1_18_1 e_1_2_1_42_1 e_1_2_1_40_1 e_1_2_1_23_1 e_1_2_1_46_1 e_1_2_1_27_1 e_1_2_1_25_1 e_1_2_1_48_1 e_1_2_1_29_1 Sridharan Manu (e_1_2_1_44_1) 2006 e_1_2_1_7_1 e_1_2_1_30_1 e_1_2_1_55_1 e_1_2_1_5_1 e_1_2_1_57_1 e_1_2_1_3_1 e_1_2_1_13_1 e_1_2_1_11_1 e_1_2_1_32_1 e_1_2_1_53_1 e_1_2_1_17_1 e_1_2_1_38_1 e_1_2_1_36_1 e_1_2_1_59_1 e_1_2_1_9_1 e_1_2_1_19_1 |
| References_xml | – reference: Monica S. Lam, John Whaley, V. Benjamin Livshits, Michael C. Martin, Dzintars Avots, Michael Carbin, and Christopher Unkel. 2005. Context-sensitive program analysis as database queries. In Proc. of the 24th Symp. on Principles of Database Systems (PODS ’05). ACM, New York, NY, USA. 1–12. isbn:1-59593-062-0 https://doi.org/10.1145/1065167.1065169 10.1145/1065167.1065169 – reference: Anders Alnor Mathiasen and Andreas Pavlogiannis. 2021. The fine-grained and parallel complexity of andersen’s pointer analysis. Proc. ACM Program. Lang., 5, POPL (2021), Article 34, Jan., 29 pages. https://doi.org/10.1145/3434315 10.1145/3434315 – reference: Lei Shang, Xinwei Xie, and Jingling Xue. 2012. On-demand dynamic summary-based points-to analysis. In 10th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2012, San Jose, CA, USA, March 31 - April 04, 2012. ACM, 264–274. https://doi.org/10.1145/2259016.2259050 10.1145/2259016.2259050 – reference: John Whaley, Dzintars Avots, Michael Carbin, and Monica S. Lam. 2005. Using Datalog with Binary Decision Diagrams for Program Analysis. In Proc. of the 3rd Asian Symp. on Programming Languages and Systems. Springer, 97–118. https://doi.org/10.1007/11575467_8 10.1007/11575467_8 – reference: Johannes Späth, Lisa Nguyen Quang Do, Karim Ali, and Eric Bodden. 2016. Boomerang: Demand-Driven Flow- and Context-Sensitive Pointer Analysis for Java. In 30th European Conference on Object-Oriented Programming, ECOOP 2016, July 18-22, 2016, Rome, Italy. 22:1–22:26. https://doi.org/10.4230/LIPIcs.ECOOP.2016.22 10.4230/LIPIcs.ECOOP.2016.22 – reference: Benjamin Livshits, Manu Sridharan, Yannis Smaragdakis, Ondřej Lhoták, J. Nelson Amaral, Bor-Yuh Evan Chang, Samuel Z. Guyer, Uday P. Khedker, Anders Møller, and Dimitrios Vardoulakis. 2015. In defense of soundiness: a manifesto. Commun. ACM, 58, 2 (2015), Jan., 44–46. issn:0001-0782 https://doi.org/10.1145/2644805 10.1145/2644805 – reference: Stephen M. Blackburn, Robin Garner, Chris Hoffmann, Asjad M. Khan, Kathryn S. McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin Hirzel, Antony L. Hosking, Maria Jump, Han Bok Lee, J. Eliot B. Moss, Aashish Phansalkar, Darko Stefanovic, Thomas VanDrunen, Daniel von Dincklage, and Ben Wiedermann. 2006. The DaCapo benchmarks: Java benchmarking development and analysis. In Proc. of the 21st Annual ACM SIGPLAN Conf. on Object Oriented Programming, Systems, Languages, and Applications (OOPSLA ’06). ACM, New York, NY, USA. 169–190. isbn:1-59593-348-4 https://doi.org/10.1145/1167473.1167488 10.1145/1167473.1167488 – reference: Magnus Madsen and Ondrej Lhoták. 2018. Safe and sound program analysis with Flix. In Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2018, Amsterdam, The Netherlands, July 16-21, 2018, Frank Tip and Eric Bodden (Eds.). ACM, 38–48. https://doi.org/10.1145/3213846.3213847 10.1145/3213846.3213847 – reference: Sergio Greco and Carlo Zaniolo. 1998. Greedy Algorithms in Datalog with Choice and Negation. In IJCSLP. https://api.semanticscholar.org/CorpusID:15290518 – reference: Tamás Szabó, Sebastian Erdweg, and Gábor Bergmann. 2021. Incremental whole-program analysis in Datalog with lattices. In PLDI ’21: 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, Virtual Event, Canada, June 20-25, 2021, Stephen N. Freund and Eran Yahav (Eds.). ACM, 1–15. https://doi.org/10.1145/3453483.3454026 10.1145/3453483.3454026 – reference: Xin Zhang, Ravi Mangal, Radu Grigore, Mayur Naik, and Hongseok Yang. 2014. On Abstraction Refinement for Program Analyses in Datalog. In Proc. of the 2014 ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI ’14). ACM, New York, NY, USA. 239–248. isbn:978-1-4503-2784-8 https://doi.org/10.1145/2594291.2594327 10.1145/2594291.2594327 – reference: Tian Tan, Yue Li, Xiaoxing Ma, Chang Xu, and Yannis Smaragdakis. 2021. Making pointer analysis more precise by unleashing the power of selective context sensitivity. Proc. ACM Program. Lang., 5, OOPSLA (2021), Article 147, oct, 27 pages. https://doi.org/10.1145/3485524 10.1145/3485524 – reference: Yannis Smaragdakis, George Kastrinis, and George Balatsouras. 2014. Introspective analysis: context-sensitivity, across the board. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’14). Association for Computing Machinery, New York, NY, USA. 485–495. isbn:9781450327848 https://doi.org/10.1145/2594291.2594320 10.1145/2594291.2594320 – reference: H. L. Berghel. 1985. Simplified integration of Prolog with RDBMS. SIGMIS Database, 16, 3 (1985), April, 3–12. issn:0095-0033 https://doi.org/10.1145/2147769.2147770 10.1145/2147769.2147770 – reference: Akshay Utture and Jens Palsberg. 2022. Fast and precise application code analysis using a partial library. In Proceedings of the 44th International Conference on Software Engineering (ICSE ’22). Association for Computing Machinery, New York, NY, USA. 934–945. isbn:9781450392211 https://doi.org/10.1145/3510003.3510046 10.1145/3510003.3510046 – reference: Christian Wimmer, Codrut Stancu, David Kozak, and Thomas Würthinger. 2024. Scaling Type-Based Points-to Analysis with Saturation. Proc. ACM Program. Lang., 8, PLDI (2024), Article 187, June, 24 pages. https://doi.org/10.1145/3656417 10.1145/3656417 – reference: S. Kunifuji and H. Yokota. 1982. Prolog and Relational Databases for 5th Generation Computer Systems. In Proceedings of the Workrhop on Logical Bases for Data Bases. – reference: Minseok Jeon and Hakjoo Oh. 2022. Return of CFA: call-site sensitivity can be superior to object sensitivity even for object-oriented programs. Proc. ACM Program. Lang., 6, POPL (2022), Article 58, jan, 29 pages. https://doi.org/10.1145/3498720 10.1145/3498720 – reference: Minseok Jeon, Sehun Jeong, and Hakjoo Oh. 2018. Precise and scalable points-to analysis via data-driven context tunneling. Proc. ACM Program. Lang., 2, OOPSLA (2018), Article 140, oct, 29 pages. https://doi.org/10.1145/3276510 10.1145/3276510 – reference: Yannis Smaragdakis, Martin Bravenboer, and Ondřej Lhoták. 2011. Pick Your Contexts Well: Understanding Object-Sensitivity. In Proc. of the 38th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages (POPL ’11). ACM, New York, NY, USA. 17–30. isbn:978-1-4503-0490-0 – reference: Neville Grech, Lexi Brent, Bernhard Scholz, and Yannis Smaragdakis. 2019. Gigahorse: Thorough, Declarative Decompilation of Smart Contracts. In Proceedings of the 41st International Conference on Software Engineering (ICSE ’19). IEEE Press, Piscataway, NJ, USA. 1176–1186. https://doi.org/10.1109/ICSE.2019.00120 10.1109/ICSE.2019.00120 – reference: Manu Sridharan, Denis Gopan, Lexin Shan, and Rastislav Bodík. 2005. Demand-driven points-to analysis for Java. In Proc. of the 20th Annual ACM SIGPLAN Conf. on Object Oriented Programming, Systems, Languages, and Applications (OOPSLA ’05). ACM, New York, NY, USA. 59–76. isbn:1-59593-031-0 https://doi.org/10.1145/1094811.1094817 10.1145/1094811.1094817 – reference: Manu Sridharan and Stephen J. Fink. 2009. The Complexity of Andersen’s Analysis in Practice. In Proc. of the 16th International Symp. on Static Analysis (SAS ’09). Springer, 205–221. isbn:978-3-642-03236-3 https://doi.org/10.1007/978-3-642-03237-0_15 10.1007/978-3-642-03237-0_15 – reference: Raf Venken. 1984. lhe Interaction between Prolog and Relational Databases. Internal Report BIM-prolog IR6.. – reference: Yannis Smaragdakis and Martin Bravenboer. 2011. Using Datalog for Fast and Easy Program Analysis. In Datalog Reloaded, Oege de Moor, Georg Gottlob, Tim Furche, and Andrew Sellers (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 245–251. isbn:978-3-642-24206-9 – reference: Yannis Smaragdakis, Neville Grech, Sifis Lagouvardos, Konstantinos Triantafyllou, and Ilias Tsatiris. 2021. Symbolic Value-Flow Static Analysis: Deep, Precise, Complete Modeling of Ethereum Smart Contracts. Proc. ACM Program. Lang., 5, OOPSLA (2021), Article 163, oct, 30 pages. https://doi.org/10.1145/3485540 10.1145/3485540 – reference: Mayur Naik, Alex Aiken, and John Whaley. 2006. Effective static race detection for Java. In Proc. of the 2006 ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI ’06). ACM, New York, NY, USA. 308–319. isbn:1-59593-320-4 https://doi.org/10.1145/1133981.1134018 10.1145/1133981.1134018 – reference: Magnus Madsen, Ming-Ho Yee, and Ondrej Lhoták. 2016. From Datalog to flix: a declarative language for fixed points on lattices. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2016, Santa Barbara, CA, USA, June 13-17, 2016, Chandra Krintz and Emery D. Berger (Eds.). ACM, 194–208. https://doi.org/10.1145/2908080.2908096 10.1145/2908080.2908096 – reference: Ana Milanova, Atanas Rountev, and Barbara G. Ryder. 2005. Parameterized object sensitivity for points-to analysis for Java. ACM Trans. Softw. Eng. Methodol., 14, 1 (2005), 1–41. – reference: Fosca Giannotti, Dino Pedreschi, Domenico Saccà, and Carlo Zaniolo. 1991. Non-determinism in deductive databases. Springer Berlin Heidelberg, 129–146. isbn:9783540466468 issn:1611-3349 https://doi.org/10.1007/3-540-55015-1_7 10.1007/3-540-55015-1_7 – reference: Neville Grech and Yannis Smaragdakis. 2017. P/Taint: unified points-to and taint analysis. Proc. ACM Program. Lang., 1, OOPSLA (2017), Article 102, Oct., 28 pages. https://doi.org/10.1145/3133926 10.1145/3133926 – reference: Anastasios Antoniadis, Ilias Tsatiris, Neville Grech, and Yannis Smaragdakis. 2025. Artifact: Universal Scalability in Declarative Program Analysis (with Choice-Based Combination Pruning). https://doi.org/10.5281/zenodo.15723754 10.5281/zenodo.15723754 – reference: Yue Li, Tian Tan, Anders Møller, and Yannis Smaragdakis. 2018. Scalability-first pointer analysis with self-tuning context-sensitivity. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018). Association for Computing Machinery, New York, NY, USA. 129–140. isbn:9781450355735 https://doi.org/10.1145/3236024.3236041 10.1145/3236024.3236041 – reference: ISO/IEC. 2003. Information Technology—Database Languages—SQL—Part 2: Foundation (SQL/Foundation). International Standard ISO/IEC 9075-2:2003. – reference: Hakjoo Oh, Wonchan Lee, Kihong Heo, Hongseok Yang, and Kwangkeun Yi. 2014. Selective context-sensitivity guided by impact pre-analysis. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’14). Association for Computing Machinery, New York, NY, USA. 475–484. isbn:9781450327848 https://doi.org/10.1145/2594291.2594318 10.1145/2594291.2594318 – reference: Shalom Tsur and Carlo Zaniolo. 1986. LDL: A Logic-Based Data Language. In Proceedings of the 12th International Conference on Very Large Data Bases (VLDB ’86). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. 33–41. isbn:0934613184 – reference: Madhurima Chakraborty, Aakash Gnanakumar, Manu Sridharan, and Anders Møller. 2024. Indirection-Bounded Call Graph Analysis. In 38th European Conference on Object-Oriented Programming (ECOOP 2024), Jonathan Aldrich and Guido Salvaneschi (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 313). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 10:1–10:22. isbn:978-3-95977-341-6 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2024.10 10.4230/LIPIcs.ECOOP.2024.10 – reference: Kai Wang, Aftab Hussain, Zhiqiang Zuo, Guoqing Xu, and Ardalan Amiri Sani. 2017. Graspan: A Single-machine Disk-based Graph System for Interprocedural Static Analyses of Large-scale Systems Code. In Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’17). ACM, New York, NY, USA. 389–404. isbn:978-1-4503-4465-4 https://doi.org/10.1145/3037697.3037744 10.1145/3037697.3037744 – reference: Wenjie Ma, Shengyuan Yang, Tian Tan, Xiaoxing Ma, Chang Xu, and Yue Li. 2023. Context Sensitivity without Contexts: A Cut-Shortcut Approach to Fast and Precise Pointer Analysis. Proc. ACM Program. Lang., 7, PLDI (2023), 539–564. https://doi.org/10.1145/3591242 10.1145/3591242 – reference: Manu Sridharan and Rastislav Bodik. 2006. Refinement-based context-sensitive points-to analysis for Java. In PLDI ’06: Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation. 387–400. issn:0362-1340 – reference: Lars O. Andersen. 1994. Program Analysis and Specialization for the C Programming Language. Ph. D. Dissertation. DIKU, University of Copenhagen. – reference: Patrick Cousot and Radhia Cousot. 1992. Abstract Interpretation Frameworks. Journal of Logic and Computation, 2, 4 (1992), 511–547. – reference: Yulei Sui and Jingling Xue. 2016. On-demand Strong Update Analysis via Value-flow Refinement. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2016). ACM, New York, NY, USA. 460–473. isbn:978-1-4503-4218-6 https://doi.org/10.1145/2950290.2950296 10.1145/2950290.2950296 – reference: Sehun Jeong, Minseok Jeon, Sungdeok Cha, and Hakjoo Oh. 2017. Data-driven context-sensitivity for points-to analysis. Proc. ACM Program. Lang., 1, OOPSLA (2017), Article 100, oct, 28 pages. https://doi.org/10.1145/3133924 10.1145/3133924 – reference: Chris Martens, Robert J. Simmons, and Michael Arntzenius. 2024. Finite-Choice Logic Programming. arxiv:2405.19040. arxiv:2405.19040 – reference: Tamás Szabó, Gábor Bergmann, Sebastian Erdweg, and Markus Voelter. 2018. Incrementalizing lattice-based program analyses in Datalog. Proc. ACM Program. Lang., 2, OOPSLA (2018), 139:1–139:29. https://doi.org/10.1145/3276509 10.1145/3276509 – reference: Neville Grech, George Kastrinis, and Yannis Smaragdakis. 2018. Efficient Reflection String Analysis via Graph Coloring. In 32nd European Conference on Object-Oriented Programming (ECOOP 2018), Todd Millstein (Ed.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 109). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 26:1–26:25. isbn:978-3-95977-079-8 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2018.26 10.4230/LIPIcs.ECOOP.2018.26 – reference: Xin Zheng and Radu Rugina. 2008. Demand-driven alias analysis for C. In Proc. of the 35th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages (POPL ’08). ACM, New York, NY, USA. 197–208. isbn:978-1-59593-689-9 https://doi.org/10.1145/1328438.1328464 10.1145/1328438.1328464 – reference: Benjamin Livshits, John Whaley, and Monica S. Lam. 2005. Reflection Analysis for Java. In Proc. of the 3rd Asian Symp. on Programming Languages and Systems. Springer, 139–160. https://doi.org/10.1007/11575467_11 10.1007/11575467_11 – reference: Dacong Yan, Guoqing (Harry) Xu, and Atanas Rountev. 2011. Demand-driven context-sensitive alias analysis for Java. In Proceedings of the 20th International Symposium on Software Testing and Analysis, ISSTA 2011, Toronto, ON, Canada, July 17-21, 2011. ACM, 155–165. https://doi.org/10.1145/2001420.2001440 10.1145/2001420.2001440 – reference: Anastasios Antoniadis, Nikos Filippakis, Paddy Krishnan, Raghavendra Ramesh, Nicholas Allen, and Yannis Smaragdakis. 2020. Static analysis of Java enterprise applications: frameworks and caches, the elephants in the room. In Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2020, London, UK, June 15-20, 2020, Alastair F. Donaldson and Emina Torlak (Eds.). ACM, 794–807. https://doi.org/10.1145/3385412.3386026 10.1145/3385412.3386026 – reference: Xiaowen Hu, Joshua Karp, David Zhao, Abdul Zreika, Xi Wu, and Bernhard Scholz. 2021. The Choice Construct in the Soufflé Language. In Programming Languages and Systems, Hakjoo Oh (Ed.). Springer International Publishing, Cham. 163–181. isbn:978-3-030-89051-3 – reference: Yue Li, Tian Tan, Anders Møller, and Yannis Smaragdakis. 2020. A Principled Approach to Selective Context Sensitivity for Pointer Analysis. ACM Trans. Program. Lang. Syst., 42, 2 (2020), Article 10, may, 40 pages. issn:0164-0925 https://doi.org/10.1145/3381915 10.1145/3381915 – reference: Magnus Madsen, Benjamin Livshits, and Michael Fanning. 2013. Practical Static Analysis of JavaScript Applications in the Presence of Frameworks and Libraries. In Proceedings of the ACM SIGSOFT International Symposium on the Foundations of Software Engineering. – reference: Mayur Naik. 2011. Chord: A Versatile Platform for Program Analysis. In 2011 ACM SIGPLAN Conf. on Programming Language Design and Implementation. Tutorial – reference: Nevin Heintze and Olivier Tardieu. 2001. Demand-Driven Pointer Analysis. In Proc. of the 2001 ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI ’01). ACM, New York, NY, USA. 24–34. isbn:1-58113-414-2 https://doi.org/10.1145/378795.378802 10.1145/378795.378802 – reference: Yeh-Heng Shen. 1990. IDLOG: extending the expressive power of deductive database languages. In Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data (SIGMOD ’90). Association for Computing Machinery, New York, NY, USA. 54–63. isbn:0897913655 https://doi.org/10.1145/93597.93621 10.1145/93597.93621 – reference: Martin Bravenboer and Yannis Smaragdakis. 2009. Strictly Declarative Specification of Sophisticated Points-to Analyses. In OOPSLA ’09: Proceedings of the 24th annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. – reference: George Kastrinis and Yannis Smaragdakis. 2013. Hybrid context-sensitivity for points-to analysis. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’13). Association for Computing Machinery, New York, NY, USA. 423–434. isbn:9781450320146 https://doi.org/10.1145/2491956.2462191 10.1145/2491956.2462191 – ident: e_1_2_1_22_1 doi: 10.1145/1065167.1065169 – ident: e_1_2_1_46_1 doi: 10.1145/1094811.1094817 – volume-title: Program Analysis and Specialization for the C Programming Language. Ph. D. Dissertation. DIKU ident: e_1_2_1_1_1 – ident: e_1_2_1_47_1 doi: 10.1145/2950290.2950296 – ident: e_1_2_1_7_1 doi: 10.4230/LIPIcs.ECOOP.2024.10 – ident: e_1_2_1_30_1 doi: 10.1145/2908080.2908096 – ident: e_1_2_1_20_1 doi: 10.1145/2491956.2462191 – ident: e_1_2_1_33_1 doi: 10.1145/1044834.1044835 – ident: e_1_2_1_17_1 doi: 10.1145/3276510 – ident: e_1_2_1_18_1 doi: 10.1145/3498720 – ident: e_1_2_1_26_1 doi: 10.1007/11575467_11 – ident: e_1_2_1_2_1 doi: 10.1145/3385412.3386026 – ident: e_1_2_1_29_1 doi: 10.1145/2491411.2491417 – ident: e_1_2_1_49_1 doi: 10.1145/3453483.3454026 – ident: e_1_2_1_42_1 doi: 10.1145/2594291.2594320 – ident: e_1_2_1_43_1 doi: 10.4230/LIPIcs.ECOOP.2016.22 – ident: e_1_2_1_27_1 doi: 10.1145/3591242 – ident: e_1_2_1_8_1 doi: 10.1093/logcom/2.4.511 – ident: e_1_2_1_10_1 doi: 10.1109/ICSE.2019.00120 – ident: e_1_2_1_36_1 doi: 10.1145/2594291.2594318 – ident: e_1_2_1_19_1 doi: 10.1145/3133924 – ident: e_1_2_1_45_1 doi: 10.1007/978-3-642-03237-0_15 – ident: e_1_2_1_4_1 doi: 10.1145/2147769.2147770 – ident: e_1_2_1_53_1 – ident: e_1_2_1_57_1 doi: 10.1145/2001420.2001440 – ident: e_1_2_1_25_1 doi: 10.1145/2644805 – ident: e_1_2_1_28_1 doi: 10.1145/3213846.3213847 – volume: 9075 start-page: 2003 year: 2003 ident: e_1_2_1_16_1 article-title: Information Technology—Database Languages—SQL—Part 2: Foundation (SQL/Foundation) publication-title: International Standard ISO/IEC – ident: e_1_2_1_13_1 – ident: e_1_2_1_48_1 doi: 10.1145/3276509 – ident: e_1_2_1_12_1 doi: 10.1145/3133926 – ident: e_1_2_1_56_1 doi: 10.1145/3656417 – ident: e_1_2_1_55_1 doi: 10.1007/11575467_8 – ident: e_1_2_1_9_1 doi: 10.1007/3-540-55015-1_7 – volume-title: Chord: A Versatile Platform for Program Analysis. In 2011 ACM SIGPLAN Conf. on Programming Language Design and Implementation. Tutorial year: 2011 ident: e_1_2_1_34_1 – ident: e_1_2_1_35_1 doi: 10.1145/1133981.1134018 – start-page: 0362 volume-title: Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation. 387–400 year: 2006 ident: e_1_2_1_44_1 – ident: e_1_2_1_54_1 doi: 10.1145/3037697.3037744 – ident: e_1_2_1_11_1 doi: 10.4230/LIPIcs.ECOOP.2018.26 – volume-title: Using Datalog for Fast and Easy Program Analysis ident: e_1_2_1_39_1 – ident: e_1_2_1_31_1 – ident: e_1_2_1_40_1 doi: 10.1145/1926385.1926390 – ident: e_1_2_1_58_1 doi: 10.1145/2594291.2594327 – ident: e_1_2_1_32_1 doi: 10.1145/3434315 – ident: e_1_2_1_50_1 doi: 10.1145/3485524 – volume-title: Proceedings of the Workrhop on Logical Bases for Data Bases. ident: e_1_2_1_21_1 – ident: e_1_2_1_37_1 doi: 10.1145/2259016.2259050 – volume-title: Proceedings of the 12th International Conference on Very Large Data Bases (VLDB ’86) year: 1986 ident: e_1_2_1_51_1 – ident: e_1_2_1_23_1 doi: 10.1145/3236024.3236041 – ident: e_1_2_1_41_1 doi: 10.1145/3485540 – ident: e_1_2_1_52_1 doi: 10.1145/3510003.3510046 – ident: e_1_2_1_6_1 doi: 10.1145/1640089.1640108 – ident: e_1_2_1_14_1 doi: 10.1145/378795.378802 – ident: e_1_2_1_24_1 doi: 10.1145/3381915 – ident: e_1_2_1_5_1 doi: 10.1145/1167473.1167488 – ident: e_1_2_1_3_1 doi: 10.5281/zenodo.15723754 – ident: e_1_2_1_38_1 doi: 10.1145/93597.93621 – volume-title: Programming Languages and Systems ident: e_1_2_1_15_1 – ident: e_1_2_1_59_1 doi: 10.1145/1328438.1328464 |
| SSID | ssj0001934839 |
| Score | 2.3057659 |
| Snippet | Datalog engines for fixpoint evaluation have brought great benefits to static program analysis over the past decades. A Datalog specification of an analysis... |
| SourceID | crossref acm |
| SourceType | Index Database Publisher |
| StartPage | 2199 |
| SubjectTerms | Constraint and logic programming Program analysis Theory of computation |
| SubjectTermsDisplay | Theory of computation -- Constraint and logic programming Theory of computation -- Program analysis |
| Title | Universal Scalability in Declarative Program Analysis (with Choice-Based Combination Pruning) |
| URI | https://dl.acm.org/doi/10.1145/3763129 |
| Volume | 9 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources 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/eLvHCXMwtV1Lb9NAEF6FwoELlAKiQNEeOMDBwl6vs9ljSMtDalNLDVIvqNonWHKcKn2oJ_4Gf5fZh92N1AMcuFiRx7GUnU8z30zmgdBbDSFFniuITZiiGXh8kUnGdKbA-bpxvkWufaPwIZvPJ6envB6Nfve9MNct67rJzQ0__6-qhnugbNc6-w_qHl4KN-AzKB2uoHa4_pXiY6mFn_Ih2jCG2zf37RvV9oO-61CWdTuTBIimT8nOfq7AdGQfwblpZywgcA4QqddXnd9_wlM-Ww_-z5eETGdH7t-HWPS1dGmIPiE6cPep21rcCB33IHcC-OlFsxrkC1dftA7Sr20jBsFnMM4-CTQHZ962AyJPlvCrfmhHhb1DcVuYNrIZxE9BzXmCv1gh7y0goQweoKGFujfXPEHl8XF9cjglmwaYJ84c2M_4bkdB3UwNZ12LeG6bU7ej5B66T1jFXa3g0a8kecdLCswyNGG7d32IzzuOo5YJx0nIymIbPYpRBp4GdDxBI9PtoMf9Bg8cDfpT9H0AC07AgpsOJ2DBESy4Bwt-56CCU6jgBCo4QuX9M_Tt08Fi9iWLCzcyAWE8zyyxSgrKJVFM6nJsuKSFGBNbyrGtCgWHW5RGQogrQWglaKYkRvNCGllJpsrnaKtbdeYFwrqidmINz81EUMkZN5bkJbHAP8tcGbmLduCgzs7DSJWzeHy7CPcHN4hC53zVP_Lyzi--Qg9v0fQabV2ur8weeqCuL5uL9RuvvD8cVnMa |
| 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=Universal+Scalability+in+Declarative+Program+Analysis+%28with+Choice-Based+Combination+Pruning%29&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Antoniadis%2C+Anastasios&rft.au=Tsatiris%2C+Ilias&rft.au=Grech%2C+Neville&rft.au=Smaragdakis%2C+Yannis&rft.date=2025-10-09&rft.pub=ACM&rft.eissn=2475-1421&rft.volume=9&rft.issue=OOPSLA2&rft.spage=2199&rft.epage=2226&rft_id=info:doi/10.1145%2F3763129&rft.externalDocID=3763129 |
| 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 |