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

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Proceedings of ACM on programming languages Ročník 9; číslo OOPSLA2; s. 2199 - 2226
Hlavní autori: Antoniadis, Anastasios, Tsatiris, Ilias, Grech, Neville, Smaragdakis, Yannis
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