Domain-Specific Languages for Algorithmic Graph Processing: A Systematic Literature Review
Abstract
1. Introduction
- A systematic review of DSLs for algorithmic graph processing and their domain-specific abstractions;
- An exploration of cost-effective approaches to DSL implementation,
- An overview of the scalability and performance of state-of-the-art DSLs for algorithmic graph processing;
- A reflection on the opportunities and challenges of using DSLs in industrial large-scale graph analytics.
2. Methodology
2.1. Research Questions
- RQ1. Which graph models are commonly employed by DSLs for algorithmic graph processing, and which model is predominant?
- RQ2. What common syntactic and semantic domain-specific abstractions do DSLs provide for this model?
- RQ3. What are the possible approaches for building a DSL for algorithmic graph processing?
- RQ4. How do existing DSLs for algorithmic graph processing compare in terms of supported platforms, scalability, and computational performance?
- RQ5. Can these DSLs integrate into third-party software or with other DSLs?
- RQ6. To what extent are these DSLs used in practice?
2.2. Eligibility Criteria
- IC1. The paper describes a DSL for algorithmic graph processing.
- IC2. The paper implements a compiler for an algorithmic graph processing DSL.
- IC3. The paper describes research, case study, or experience report involving an existing DSL for algorithmic graph processing.
- EC1. The paper does not relate to graph analytics.
- EC2. The paper does not describe a DSL for graph algorithms.
- EC3. The paper describes a query-based DSL for graph algorithms.
2.3. Search Strategy
2.4. Selection Process
2.5. Data Collection Process
3. Results
3.1. Study Selection
3.2. Result Synthesis
3.2.1. RQ1. Graph Model Taxonomy
- The property graph model [50], which associates nodes and edges of the graph with arbitrary properties as key-value pairs. This model was the subject of the ISO standards for SQL/PGQ, which defines a way of building property graphs over relational data, and for GQL, a property graph query language [5].
- The GraphBLAS specification [51], which defines building blocks for graph algorithms in linear algebra.
3.2.2. RQ2. Domain-Specific Abstractions for Property Graphs
- Domain-specific types embody graph-related notions, such as graphs, nodes (also called vertices), edges, graph properties, or collections of graph elements.
- Graph iterations are constructs for iterating over a set of graph elements (i.e., set of nodes or set of edges). In other words, they are loops specified for graph elements. These loops can be sequential, parallel, or a specific graph traversal (breadth-first search or depth-first search).
- Aggregations are constructs that perform a reduction operation (such as sum, average, max, or min) over a set of graph elements. For example, a sum aggregation over a set N of graph nodes equates to performing a mathematical sum over elements of N.
- And finally, property operations allow users to read the value of a property or update the value of a property. A property update can be performed for a single node or edge (single-point property update) or for a set of nodes or edges (batch property update).
3.2.3. RQ3. Approaches for DSL Implementation
3.2.4. RQ4. Target Platforms, Scalability, and Computational Performance
3.2.5. RQ5. Third-Party Integration
Integration into Larger Toolkits for Graph Analytics
Integration into Larger Data Processing Pipelines
Integration into General-Purpose Languages
DSL Interoperability and Reuse
3.2.6. RQ6. Usability and Real-Life Adoption
3.3. Reporting Biases
4. Discussion
4.1. Our Findings’ Highlights
4.1.1. Prevalence of the Property Graph Model
4.1.2. Common Domain-Abstractions for Graph Algorithms
4.1.3. Performance and Scalability as Key Factors for DSL Validation
4.1.4. Between Research Prototypes and Real-Life Adoption
4.2. DSLs for Industrial Large-Scale Graph Analytics: Opportunities and Open Challenges
4.2.1. Potential of the DSL Approach
Productivity
Proven Benefit Gains
Tools for Cost-Efficient DSL Implementation
4.2.2. Usability and Adoption Challenges
Uncertain Futures
Lack of Documentation and User Support
Redundant Effort
4.3. Insights and Recommendations for Future Research
4.3.1. Academia/Industry Collaboration
4.3.2. A Standard for Algorithmic Graph Processing
4.3.3. Graphs for Machine Learning
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Abbreviations
DSL | Domain-Specific Language |
ML | Machine Learning |
GenAI | Generative Artificial Intelligence |
References
- Hegeman, T.; Iosup, A. Survey of Graph Analysis Applications. arXiv 2018, arXiv:1807.00382v1. [Google Scholar]
- Francis, N.; Green, A.; Guagliardo, P.; Libkin, L.; Lindaaker, T.; Marsault, V.; Plantikow, S.; Rydberg, M.; Selmer, P.; Taylor, A. Cypher: An Evolving Query Language for Property Graphs. In Proceedings of the SIGMOD ’18: 2018 International Conference on Management of Data, Houston, TX, USA, 10–15 June 2018; pp. 1433–1445. [Google Scholar] [CrossRef]
- van Rest, O.; Hong, S.; Kim, J.; Meng, X.; Chafi, H. PGQL: A Property Graph Query Language. In Proceedings of the GRADES ’16: Fourth International Workshop on Graph Data Management Experiences and Systems, Redwood Shores, CA, USA, 24 June 2016. [Google Scholar] [CrossRef]
- Deutsch, A.; Xu, Y.; Wu, M.; Lee, V.E. Aggregation Support for Modern Graph Analytics in TigerGraph. In Proceedings of the SIGMOD ’20: 2020 ACM SIGMOD International Conference on Management of Data, Portland, OR, USA, 14–19 June 2020; pp. 377–392. [Google Scholar] [CrossRef]
- Deutsch, A.; Francis, N.; Green, A.; Hare, K.; Li, B.; Libkin, L.; Lindaaker, T.; Marsault, V.; Martens, W.; Michels, J.; et al. Graph Pattern Matching in GQL and SQL/PGQ. In Proceedings of the SIGMOD ’22: 2022 International Conference on Management of Data, Philadelphia, PA, USA, 12–17 June 2022; pp. 2246–2258. [Google Scholar] [CrossRef]
- Edelkamp, S.; Schrödl, S. Basic Search Algorithms. In Heuristic Search; Edelkamp, S., Schrödl, S., Eds.; Morgan Kaufmann: San Francisco, CA, USA, 2012; pp. 47–87. [Google Scholar] [CrossRef]
- Browet, A. Algorithms for Community and Role Detection in Networks. Ph.D. Thesis, Catholic University of Louvain, Louvain-la-Neuve, Belgium, 2014. [Google Scholar]
- Brin, S.; Page, L. The anatomy of a large-scale hypertextual web search engine. Comput. Netw. Isdn Syst. 1998, 30, 107–117. [Google Scholar] [CrossRef]
- Chung, J. Graph Data Science Use Cases: Fraud and Anomaly Detection; White Paper; Neo4j: San Mateo, CA, USA, 2022. [Google Scholar]
- Yan, D.; Bu, Y.; Tian, Y.; Deshpande, A. Big Graph Analytics Platforms. Found. Trends Databases 2017, 7, 1–195. [Google Scholar] [CrossRef]
- Sahu, S.; Mhedhbi, A.; Salihoglu, S.; Lin, J.; Özsu, M.T. The ubiquity of large graphs and surprising challenges of graph processing. Proc. VLDB Endow. 2017, 11, 420–431. [Google Scholar] [CrossRef]
- Heidari, S.; Simmhan, Y.; Calheiros, R.N.; Buyya, R. Scalable Graph Processing Frameworks: A Taxonomy and Open Challenges. ACM Comput. Surv. 2018, 51, 60. [Google Scholar] [CrossRef]
- Shi, X.; Zheng, Z.; Zhou, Y.; Jin, H.; He, L.; Liu, B.; Hua, Q.S. Graph Processing on GPUs: A Survey. ACM Comput. Surv. 2018, 50, 81. [Google Scholar] [CrossRef]
- Sahu, S.; Mhedhbi, A.; Salihoglu, S.; Lin, J.; Özsu, M.T. The ubiquity of large graphs and surprising challenges of graph processing: Extended survey. VLDB J. 2020, 29, 595–618. [Google Scholar] [CrossRef]
- Besta, M.; Gerstenberger, R.; Peter, E.; Fischer, M.; Podstawski, M.; Barthels, C.; Alonso, G.; Hoefler, T. Demystifying Graph Databases: Analysis and Taxonomy of Data Organization, System Designs, and Graph Queries. ACM Comput. Surv. 2023, 56, 31. [Google Scholar] [CrossRef]
- Singh, K.; Singh, V. Graph pattern matching: A brief survey of challenges and research directions. In Proceedings of the 2016 3rd International Conference on Computing for Sustainable Global Development (INDIACom), New Delhi, India, 16–18 March 2016; pp. 199–204. [Google Scholar]
- Angles, R.; Arenas, M.; Barceló, P.; Hogan, A.; Reutter, J.; Vrgoč, D. Foundations of Modern Query Languages for Graph Databases. ACM Comput. Surv. 2017, 50, 68. [Google Scholar] [CrossRef]
- Bhowmick, S.S.; Choi, B.; Li, C. Graph Querying Meets HCI: State of the Art and Future Directions. In Proceedings of the SIGMOD ’17: 2017 ACM International Conference on Management of Data, New York, NY, USA, 14–19 May 2017; pp. 1731–1736. [Google Scholar] [CrossRef]
- Bouhenni, S.; Yahiaoui, S.; Nouali-Taboudjemat, N.; Kheddouci, H. A Survey on Distributed Graph Pattern Matching in Massive Graphs. ACM Comput. Surv. 2021, 54, 36. [Google Scholar] [CrossRef]
- Page, M.J.; McKenzie, J.E.; Bossuyt, P.M.; Boutron, I.; Hoffmann, T.C.; Mulrow, C.D.; Shamseer, L.; Tetzlaff, J.M.; Akl, E.A.; Brennan, S.E.; et al. The PRISMA 2020 statement: An updated guideline for reporting systematic reviews. BMJ 2021, 372, n71. [Google Scholar] [CrossRef] [PubMed]
- Hong, S.; Chafi, H.; Sedlar, E.; Olukotun, K. Green-Marl: A DSL for Easy and Efficient Graph Analysis. In Proceedings of the ASPLOS XVII: Seventeenth International Conference on Architectural Support for Programming Languages and Operating Systems, London, England, UK, 3–7 March 2012; pp. 349–362. [Google Scholar] [CrossRef]
- Prountzos, D.; Manevich, R.; Pingali, K. Elixir: A system for synthesizing concurrent graph programs. In Proceedings of the OOPSLA ’12: ACM International Conference on Object Oriented Programming Systems Languages and Applications, Tucson, AZ, USA, 19–26 October 2012; pp. 375–394. [Google Scholar] [CrossRef]
- Cheramangalath, U.; Nasre, R.; Srikant, Y.N. Falcon: A Graph Manipulation Language for Heterogeneous Systems. ACM Trans. Archit. Code Optim. 2015, 12, 54. [Google Scholar] [CrossRef]
- Cheramangalath, U.; Nasre, R.; Srikant, Y.N. DH-Falcon: A Language for Large-Scale Graph Processing on Distributed Heterogeneous Systems. In Proceedings of the 2017 IEEE International Conference on Cluster Computing (CLUSTER), Honolulu, HI, USA, 5–8 September 2017; pp. 439–450. [Google Scholar] [CrossRef]
- Cheramangalath, U.; Nasre, R.; Srikant, Y.N. Falcon: A Domain Specific Language for Graph Analytics. In Distributed Graph Analytics: Programming, Languages, and Their Compilation; Springer International Publishing: Cham, Switzerland, 2020; pp. 153–179. [Google Scholar] [CrossRef]
- Cheramangalath, U. Falcon: A Graph Manipulation Language for Distributed Heterogeneous Systems. Ph.D. Thesis, Indian Institute of Science, Bengaluru, India, 2017. [Google Scholar]
- Oracle. Graph Developer’s Guide for Property Graph; Oracle: Austin, TX, USA, 2024. [Google Scholar]
- Zhang, Y.; Ko, H.S.; Hu, Z. Palgol: A High-Level DSL for Vertex-Centric Graph Processing with Remote Data Access. In Programming Languages and Systems; Chang, B.Y.E., Ed.; Springer: Cham, Switzerland, 2017; pp. 301–320. [Google Scholar]
- Zhang, Y.; Yang, M.; Baghdadi, R.; Kamil, S.; Shun, J.; Amarasinghe, S. GraphIt: A High-Performance Graph DSL. Proc. ACM Program. Lang. 2018, 2, 121. [Google Scholar] [CrossRef]
- Zhang, Y. GraphIt: Optimizing the Performance and Improving the Programmability of Graph Algorithms. Ph.D. Thesis, Massachusetts Institute of Technology, Cambridge, MA, USA, 2020. [Google Scholar]
- Zhang, Y. GraphIt—A High-Performance Domain Specific Language for Graph Analytics. 2024. Available online: https://graphit-lang.org/ (accessed on 3 July 2025).
- Chamberlin, J.; Zalewski, M.; McMillan, S.; Lumsdaine, A. PyGB: GraphBLAS DSL in Python with Dynamic Compilation Into Efficient C++. In Proceedings of the 2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), Vancouver, BC, Canada, 21–25 May 2018; pp. 310–319. [Google Scholar] [CrossRef]
- Peng, Z.; Ashraf, R.A.; Guo, L.; Tian, R.; Kestor, G. Automatic Code Generation for High-Performance Graph Algorithms. In Proceedings of the 2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT), Vienna, Austria, 21–25 October 2023; pp. 14–26. [Google Scholar] [CrossRef]
- Emoto, K.; Matsuzaki, K.; Hu, Z.; Morihata, A.; Iwasaki, H. Think like a vertex, behave like a function! A functional DSL for vertex-centric big graph processing. SIGPLAN Not. 2016, 51, 200–213. [Google Scholar] [CrossRef]
- Emoto, K.; Sadahira, F. A DSL for graph parallel programming with vertex subsets. J. Supercomput. 2020, 76, 4998–5015. [Google Scholar] [CrossRef]
- Iwasaki, H.; Emoto, K.; Morihata, A.; Matsuzaki, K.; Hu, Z. Fregel: A functional domain-specific language for vertex-centric large-scale graph processing. J. Funct. Program. 2022, 32, e4. [Google Scholar] [CrossRef]
- Behera, N.; Kumar, A.; Rajadurai T, E.; Nitish, S.; M, R.P.; Nasre, R. StarPlat: A versatile DSL for graph analytics. J. Parallel Distrib. Comput. 2024, 194, 104967. [Google Scholar] [CrossRef]
- Hong, S.; Van Der Lugt, J.; Welc, A.; Raman, R.; Chafi, H. Early experiences in using a domain-specific language for large-scale graph analysis. In Proceedings of the GRADES ’13: First International Workshop on Graph Data Management Experiences and Systems, New York, NY, USA, 23 June 2013. [Google Scholar] [CrossRef]
- Sevenich, M.; Hong, S.; Welc, A.; Chafi, H. Fast In-Memory Triangle Listing for Large Real-World Graphs. In Proceedings of the SNAKDD’14: 8th Workshop on Social Network Mining and Analysis, New York, NY, USA, 24–27 August 2014. [Google Scholar] [CrossRef]
- Sevenich, M.; Hong, S.; van Rest, O.; Wu, Z.; Banerjee, J.; Chafi, H. Using Domain-Specific Languages for Analytic Graph Databases. Proc. VLDB Endow. 2016, 9, 1257–1268. [Google Scholar] [CrossRef]
- Rajendran, A.; Nandivada, V.K. DisGCo: A Compiler for Distributed Graph Analytics. ACM Trans. Archit. Code Optim. 2020, 17, 28. [Google Scholar] [CrossRef]
- Boukham, H.; Wachsmuth, G.; Hartman, T.; Boucherit, H.; van Rest, O.; Chafi, H.; Hong, S.; Dwars, M.; Delamare, A.; Chiadmi, D. Spoofax at Oracle: Domain-Specific Language Engineering for Large-Scale Graph Analytics. In Proceedings of the Eelco Visser Commemorative Symposium (EVCS 2023), Delft, The Netherlands, 6 April 2022; Lämmel, R., Mosses, P.D., Steimann, F., Eds.; Open Access Series in Informatics (OASIcs). Dagstuhl: Wadern, Germany, 2023; Volume 109, pp. 5:1–5:8. [Google Scholar] [CrossRef]
- Upadhyay, N.; Patel, P.; Cheramangalath, U.; Srikant, Y.N. Large Scale Graph Processing in a Distributed Environment. In Euro-Par 2017: Parallel Processing Workshops; Heras, D.B., Bougé, L., Mencagli, G., Jeannot, E., Sakellariou, R., Badia, R.M., Barbosa, J.G., Ricci, L., Scott, S.L., Lankes, S., et al., Eds.; Springer: Cham, Switzerland, 2018; pp. 465–477. [Google Scholar]
- Boukham, H.; Wachsmuth, G.; Dwars, M.; Chiadmi, D. A Multi-target, Multi-paradigm DSL Compiler for Algorithmic Graph Processing. In Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering (SLE ’22), Auckland, New Zealand, 6–7 December 2022; Association for Computing Machinery: New York, NY, USA, 2022. [Google Scholar] [CrossRef]
- Pai, S.; Pingali, K. A Compiler for Throughput Optimization of Graph Algorithms on GPUs. SIGPLAN Not. 2016, 51, 1–19. [Google Scholar] [CrossRef]
- Brahmakshatriya, A.; Furst, E.; Ying, V.A.; Hsu, C.; Hong, C.; Ruttenberg, M.; Zhang, Y.; Jung, D.C.; Richmond, D.; Taylor, M.B.; et al. Taming the Zoo: The Unified GraphIt Compiler Framework for Novel Architectures. In Proceedings of the 48th Annual International Symposium in Computer Architecture (ISCA), Spain (virtual event), 14–19 June 2021. [Google Scholar]
- Wendt, N.; Austin, T.; Bertacco, V. PriMax: Maximizing DSL application performance with selective primitive acceleration. In Proceedings of the DAC ’22, 59th ACM/IEEE Design Automation Conference, San Francisco, CA, USA, 10–14 June 2022; pp. 139–144. [Google Scholar] [CrossRef]
- Brahmakshatriya, A.; Amarasinghe, S. GraphIt to CUDA Compiler in 2021 LOC: A Case for High-Performance DSL Implementation via Staging with BuilDSL. In Proceedings of the 2022 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), Republic of Korea (virtual event), 2–6 April 2022; pp. 53–65. [Google Scholar] [CrossRef]
- Nguyen, D.; Lenharth, A.; Pingali, K. A lightweight infrastructure for graph analytics. In Proceedings of the SOSP ’13: Twenty-Fourth ACM Symposium on Operating Systems Principles, Farminton, PA, USA, 3–6 November 2013; pp. 456–471. [Google Scholar] [CrossRef]
- Green, A.; Guagliardo, P.; Libkin, L. Property Graphs and Paths in GQL: Mathematical Definitions; Technical Reports TR-2021-01; Linked Data Benchmark Council (LDBC): London, UK, 2021. [Google Scholar] [CrossRef]
- Kepner, J.; Aaltonen, P.; Bader, D.; Buluç, A.; Franchetti, F.; Gilbert, J.; Hutchison, D.; Kumar, M.; Lumsdaine, A.; Meyerhenke, H.; et al. Mathematical foundations of the GraphBLAS. In Proceedings of the 2016 IEEE High Performance Extreme Computing Conference (HPEC), Waltham, MA, USA, 13–15 September 2016; pp. 1–9. [Google Scholar] [CrossRef]
- Kalavri, V.; Vlassov, V.; Haridi, S. High-Level Programming Abstractions for Distributed Graph Processing. IEEE Trans. Knowl. Data Eng. 2018, 30, 305–324. [Google Scholar] [CrossRef]
- Malewicz, G.; Austern, M.H.; Bik, A.J.; Dehnert, J.C.; Horn, I.; Leiser, N.; Czajkowski, G. Pregel: A system for large-scale graph processing. In Proceedings of the SIGMOD ’10: 2010 ACM SIGMOD International Conference on Management of Data, Indianapolis, IN, USA, 6–10 June 2010; pp. 135–146. [Google Scholar] [CrossRef]
- Arenas, M.; Gutierrez, C.; Pérez, J. Foundations of RDF Databases. In Reasoning Web. Semantic Technologies for Information Systems, Proceedings of the 5th International Summer School 2009, Brixen-Bressanone, Italy, 30 August–4 September 2009; Tessaris, S., Franconi, E., Eiter, T., Gutierrez, C., Handschuh, S., Rousset, M.C., Schmidt, R.A., Eds.; Tutorial Lectures; Springer: Berlin/Heidelberg, Germany, 2009; pp. 158–204. [Google Scholar] [CrossRef]
- Fowler, M. Language Workbenches: The Killer-App for Domain Specific Languages. 2005. Available online: https://martinfowler.com/articles/languageWorkbench.html (accessed on 3 July 2025).
- Schuts, M. Industrial Experiences in Applying Domain Specific Languages for System Evolution. Ph.D. Thesis, Radboud University, Nijmegen, The Netherlands, 2017. [Google Scholar]
- Ratiu, D.; Nehls, H.; Joanni, A.; Rothbauer, S. Use MPS to Unleash the Creativity of Domain Experts: Language Engineering Is a Key Enabler for Bringing Innovation in Industry. In Domain-Specific Languages in Practice: With JetBrains MPS; Bucchiarone, A., Cicchetti, A., Ciccozzi, F., Pierantonio, A., Eds.; Springer International Publishing: Cham, Switzerland, 2021; pp. 25–52. [Google Scholar] [CrossRef]
- Voelter, M.; Koščejev, S.; Riedel, M.; Deitsch, A.; Hinkelmann, A. A Domain-Specific Language for Payroll Calculations: An Experience Report from DATEV. In Domain-Specific Languages in Practice: With JetBrains MPS; Bucchiarone, A., Cicchetti, A., Ciccozzi, F., Pierantonio, A., Eds.; Springer International Publishing: Cham, Switzerland, 2021; pp. 93–130. [Google Scholar] [CrossRef]
- Stotz, N.; Birken, K. Migrating Insurance Calculation Rule Descriptions from Word to MPS. In Domain-Specific Languages in Practice: With JetBrains MPS; Bucchiarone, A., Cicchetti, A., Ciccozzi, F., Pierantonio, A., Eds.; Springer International Publishing: Cham, Switzerland, 2021; pp. 165–194. [Google Scholar] [CrossRef]
- Denkers, J. A longitudinal field study on creation and use of domain-specific languages in industry. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Tallinn, Estonia, 26–30 August 2019; pp. 1152–1155. [Google Scholar]
- Voelter, M.; Kolb, B.; Szabó, T.; Ratiu, D.; Deursen, A. Lessons learned from developing mbeddr: A case study in language engineering with MPS. Softw. Syst. Model. 2019, 18, 585–630. [Google Scholar] [CrossRef]
- Bunte, O.; Denkers, J.; van Gool, L.C.M.; Vinju, J.J.; Visser, E.; Willemse, T.A.C.; Zaidman, A. OIL: An industrial case study in language engineering with Spoofax: OIL: An industrial case study in language engineering with Spoofax. Softw. Syst. Model. 2024, 24, 139–182. [Google Scholar] [CrossRef]
- Campagne, F. The MPS Language Workbench Volume I, 1st ed.; CreateSpace Independent Publishing Platform: North Charleston, SC, USA, 2014. [Google Scholar]
- Eysholdt, M.; Behrens, H. Xtext: Implement Your Language Faster than the Quick and Dirty Way. In Proceedings of the OOPSLA ’10: ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion, Reno-Tahoe, NV, USA, 17–21 October 2010; pp. 307–309. [Google Scholar] [CrossRef]
- Klint, P.; Van Der Storm, T.; Vinju, J. Rascal, 10 years later. In Proceedings of the 2019 IEEE 19th International Working Conference on Source Code Analysis and Manipulation (SCAM), Cleveland, OH, USA, 30 September–1 October 2019; p. 139. [Google Scholar]
- Kats, L.C.; Visser, E. The Spoofax Language Workbench. In Proceedings of the OOPSLA ’10: ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion, Reno-Tahoe, NV, USA, 17–21 October 2010; pp. 237–238. [Google Scholar] [CrossRef]
- Lattner, C.; Adve, V. LLVM: A compilation framework for lifelong program analysis & transformation. In Proceedings of the International Symposium on Code Generation and Optimization, 2004, Palo Alto, CA, USA, 20–24 March 2004; pp. 75–86. [Google Scholar] [CrossRef]
- Appel, A.W. SSA is functional programming. ACM Sigplan Not. 1998, 33, 17–20. [Google Scholar] [CrossRef]
- Lattner, C.; Amini, M.; Bondhugula, U.; Cohen, A.; Davis, A.; Pienaar, J.; Riddle, R.; Shpeisman, T.; Vasilache, N.; Zinenko, O. MLIR: Scaling Compiler Infrastructure for Domain Specific Computation. In Proceedings of the 2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), Seoul, Republic of Korea (virtual event), 27 February–3 March 2021; pp. 2–14. [Google Scholar] [CrossRef]
- Wilson, C.; Sala, A.; Puttaswamy, K.P.N.; Zhao, B.Y. Beyond Social Graphs: User Interactions in Online Social Networks and their Implications. ACM Trans. Web 2012, 6, 17. [Google Scholar] [CrossRef]
- Watts, D.J.; Strogatz, S.H. Collective dynamics of `small-world’ networks. Nature 1998, 393, 440–442. [Google Scholar] [CrossRef]
- Bollobás, B.; Borgs, C.; Chayes, J.; Riordan, O. Directed scale-free graphs. In Proceedings of the SODA ’03: Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms, Baltimore, MD, USA, 12–14 January 2003; pp. 132–139. [Google Scholar]
- Choromański, K.; Matuszak, M.; Miekisz, J. Scale-Free Graph with Preferential Attachment and Evolving Internal Vertex Structure. J. Stat. Phys. 2013, 151, 1175–1183. [Google Scholar] [CrossRef]
- Nettleton, D.F. Data mining of social networks represented as graphs. Comput. Sci. Rev. 2013, 7, 1–34. [Google Scholar] [CrossRef]
- Albert, R.; Jeong, H.; Barabási, A.L. Diameter of the World-Wide Web. Nature 1999, 401, 130–131. [Google Scholar] [CrossRef]
- Chakrabarti, D.; Faloutsos, C. The RMat (Recursive MATrix) Graph Generator. In Graph Mining: Laws, Tools, and Case Studies; Springer International Publishing: Cham, Switzerland, 2012; pp. 81–86. [Google Scholar] [CrossRef]
- Erdös, P.; Rényi, A. On the evolution of random graphs. In The Structure and Dynamics of Networks; Princeton University Press: Princeton, NJ, USA, 2006; pp. 38–82. [Google Scholar] [CrossRef]
- Guo, Y.; Varbanescu, A.L.; Iosup, A.; Martella, C.; Willke, T.L. Benchmarking graph-processing platforms: A vision. In Proceedings of the ICPE ’14: 5th ACM/SPEC International Conference on Performance Engineering, Dublin, Ireland, 22–26 March 2014; pp. 289–292. [Google Scholar] [CrossRef]
- Mehrotra, P.; Anand, V.; Margo, D.; Hajidehi, M.R.; Seltzer, M. SoK: The Faults in our Graph Benchmarks. arXiv 2024, arXiv:2404.00766v1. [Google Scholar]
- Sridhar, U.; Blanco, M.P.; Mayuranath, R.; Spampinato, D.G.; Low, T.M.; McMillan, S. Delta-Stepping SSSP: From Vertices and Edges to GraphBLAS Implementations. In Proceedings of the 2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), Rio de Janeiro, Brazil, 20–24 May 2019; pp. 241–250. [Google Scholar] [CrossRef]
- Hohnka, M.J.; Miller, J.A.; Dacumos, K.M.; Fritton, T.J.; Erdley, J.D.; Long, L.N. Evaluation of Compiler-Induced Vulnerabilities. J. Aerosp. Inf. Syst. 2019, 16, 409–426. [Google Scholar] [CrossRef]
- Li, C.; Wu, Y.; Shen, W.; Zhao, Z.; Chang, R.; Liu, C.; Liu, Y.; Ren, K. Demystifying Compiler Unstable Feature Usage and Impacts in the Rust Ecosystem. In Proceedings of the ICSE ’24: IEEE/ACM 46th International Conference on Software Engineering, Lisbon, Portugal, 14–20 April 2024. [Google Scholar] [CrossRef]
- Subagdja, B.; Shanthoshigaa, D.; Wang, Z.; Tan, A.H. Machine Learning for Refining Knowledge Graphs: A Survey. ACM Comput. Surv. 2024, 56, 156. [Google Scholar] [CrossRef]
- Tian, Y. The World of Graph Databases from An Industry Perspective. SIGMOD Rec. 2023, 51, 60–67. [Google Scholar] [CrossRef]
- Francis, N.; Gheerbrant, A.; Guagliardo, P.; Libkin, L.; Marsault, V.; Martens, W.; Murlak, F.; Peterfreund, L.; Rogova, A.; Vrgoč, D. A Researcher’s Digest of GQL. In Proceedings of the 26th International Conference on Database Theory (ICDT 2023), Ioannina, Greece, 28–31 March 2023; Geerts, F., Vandevoort, B., Eds.; Leibniz International Proceedings in Informatics (LIPIcs). Dagstuhl: Wadern, Germany, 2023; Volume 255, pp. 1:1–1:22. [Google Scholar] [CrossRef]
- Gray, J.; Fisher, K.; Consel, C.; Karsai, G.; Mernik, M.; Tolvanen, J.P. DSLs: The good, the bad, and the ugly. In Proceedings of the OOPSLA Companion ’08: Companion to the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications, Nashville, TN, USA, 19–23 October 2008; pp. 791–794. [Google Scholar] [CrossRef]
- Bucchiarone, A.; Cicchetti, A.; Ciccozzi, F.; Pierantonio, A. Domain-Specific Languages in Practice: With JetBrains MPS; Springer Nature: Berlin/Heidelberg, Germany, 2021. [Google Scholar]
- Wachsmuth, G.H.; Konat, G.D.; Visser, E. Language Design with the Spoofax Language Workbench. IEEE Softw. 2014, 31, 35–43. [Google Scholar] [CrossRef]
- Angles, R.; Bonifati, A.; Dumbrava, S.; Fletcher, G.; Green, A.; Hidders, J.; Li, B.; Libkin, L.; Marsault, V.; Martens, W.; et al. PG-Schema: Schemas for Property Graphs. Proc. ACM Manag. Data 2023, 1, 198. [Google Scholar] [CrossRef]
- ISO/IEC 39075:2024; Information Technology—Database Languages SQL—Part 16: Property Graph Queries (SQL/PGQ). ISO: Geneva, Switzerland, 2024.
- ISO/IEC 9075-16; Information Technology—Database Languages—GQL. ISO: Geneva, Switzerland, 2023.
- Sakr, S.; Bonifati, A.; Voigt, H.; Iosup, A.; Ammar, K.; Angles, R.; Aref, W.; Arenas, M.; Besta, M.; Boncz, P.A.; et al. The future is big graphs: A community view on graph processing systems. Commun. ACM 2021, 64, 62–71. [Google Scholar] [CrossRef]
- Bonifati, A.; Özsu, M.T.; Tian, Y.; Voigt, H.; Yu, W.; Zhang, W. The Future of Graph Analytics. In Proceedings of the SIGMOD/PODS ’24: Companion of the 2024 International Conference on Management of Data, Santiago, Chile, 9–15 June 2024; pp. 544–545. [Google Scholar] [CrossRef]
- Bonifati, A.; Ozsu, M.T.; Tian, Y.; Voigt, H.; Yu, W.; Zhang, E. A Roadmap to Graph Analytics. SIGMOD Rec. 2025, 53, 43–51. [Google Scholar] [CrossRef]
- Ju, W.; Fang, Z.; Gu, Y.; Liu, Z.; Long, Q.; Qiao, Z.; Qin, Y.; Shen, J.; Sun, F.; Xiao, Z.; et al. A Comprehensive Survey on Deep Graph Representation Learning. Neural Netw. 2024, 173, 106207. [Google Scholar] [CrossRef]
- Pan, S.; Luo, L.; Wang, Y.; Chen, C.; Wang, J.; Wu, X. Unifying Large Language Models and Knowledge Graphs: A Roadmap. IEEE Trans. Knowl. Data Eng. 2024, 36, 3580–3599. [Google Scholar] [CrossRef]
- Leather, H.; Cummins, C. Machine Learning in Compilers: Past, Present and Future. In Proceedings of the 2020 Forum for Specification and Design Languages (FDL), Kiel, Germany, 15–17 September 2020; pp. 1–8. [Google Scholar] [CrossRef]
- Seeker, V.; Cummins, C.; Cole, M.; Franke, B.; Hazelwood, K.; Leather, H. Revealing Compiler Heuristics Through Automated Discovery and Optimization. In Proceedings of the 2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), Edinburgh, Scotland, UK, 2–6 March 2024; pp. 55–66. [Google Scholar] [CrossRef]
- Cummins, C.; Seeker, V.; Grubisic, D.; Roziere, B.; Gehring, J.; Synnaeve, G.; Leather, H. LLM Compiler: Foundation Language Models for Compiler Optimization. In Proceedings of the CC ’25: 34th ACM SIGPLAN International Conference on Compiler Construction, Las Vegas, NV, USA, 1–2 March 2025; pp. 141–153. [Google Scholar] [CrossRef]
Property Graph Model | GraphBLAS Model | Vertex-Centric Model |
---|---|---|
GreenMarl [21] | PyGB [32] | Palgol [28] |
Elixir [22] | Peng et al. [33] | Fregel [36] |
Falcon [23] | ||
GraphIt [29] | ||
PGX Algorithm [27] | ||
StarPlat [37] |
Elixir | Green-Marl | Falcon | GraphIt | PGX Algorithm | StarPlat | ||
domain-specific types | graph | Graph | graph | Graph | PgxGraph | Graph | |
node | node | vertex | Point | Element | PgxVertex | node | |
edge | edge | edge | Edge | Element | PgxEdge | edge | |
property | implicit | vertexProperty edgeProperty | implicit | Vector | VertexProperty EdgeProperty | propNode propEdge | |
collection | Set Collection | VertexSet EdgeSet | VertexSequence EdgeSequence VertexSet EdgeSet | ||||
graph iteration | sequential | for | for | for | for | for | for |
parallel | foreach | foreach | foreach | in scheduling language | foreach | forall | |
fixed point | iterate | fixedPoint | |||||
BFS | inBFS | Traversal.inBFS | |||||
DFS | inDFS | Traversal.inDFS | |||||
aggregation operations | numeric | sum product max min avg | ReduxSum ReduxMul | Sum Max | sum max min avg | ||
boolean | any all | anyMatch allMatch | |||||
property operations | property read | n.p e.p | n.p e.p | p[n] p[src, dst] | p.get(n) p.get(e) | n.p e.p | |
single-point update | a rewrite rule, [nodes(node n, prop p)] → [p = 0] | n.p = v; e.p = v; | n.p = v; e.p = v; | p[n] = v; p[src, dst] = v; | p.set(n, v); p.set(e, v); | n.p = v; e.p = v; | |
batch update | iteration matching the update operator against the graph | iteration updating every element | iteration updating every element | function applied to set | iteration updating every element | iteration updating every element |
DSL | Target Language | Target Memory Architecture | |||||
---|---|---|---|---|---|---|---|
C/C++ | CUDA | Java | PL/SQL | Shared-Memory | Distributed | RDBMS | |
Elixir | ✓ | ✓ | |||||
Green-Marl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Falcon | ✓ | ✓ | ✓ | ✓ | |||
GraphIt | ✓ | ✓ | ✓ | ||||
StarPlat | ✓ | ✓ | ✓ | ✓ | |||
PyGB | ✓ | ✓ | |||||
[33] | ✓ | ✓ | |||||
Palgol | ✓ | ✓ | |||||
Fregel | ✓ | ✓ | ✓ |
DSL | Target Platform | Graph Types Used | Largest Graph Used in Evaluation | ||||||
---|---|---|---|---|---|---|---|---|---|
Social Network | Web Graph | R-MAT | Road Network | Random Graph | Graph Type | #N | #E | ||
Elixir | single-machine | ✓ | ✓ | ✓ | random graph | 8.3 M | 33.5 M | ||
Green-Marl | single-machine | ✓ | ✓ | social network | 41.6 M | 1.4 B | |||
distributed | ✓ | ✓ | ✓ | web graph | 77.7 M | 2.9 B | |||
Falcon | single-machine | ✓ | ✓ | ✓ | R-MAT | 80 M | 256 M | ||
distributed | ✓ | ✓ | ✓ | R-MAT | 1.2 B | 12 B | |||
GraphIt | single-machine | ✓ | ✓ | ✓ | social network | 65.6 M | 3.6 B | ||
StarPlat | single-machine | ✓ | ✓ | ✓ | ✓ | ✓ | social network | 21.2 M | 262 M |
PyGB | linear algebra | ✓ | 2048 | 92682 | |||||
[33] | linear algebra | ✓ | ✓ | ✓ | social network | 3.9 M | 69.3 M | ||
Palgol | distributed | ✓ | ✓ | ✓ | ✓ | social network | 59.2 M | 185 M | |
Fregel | distributed | ✓ | random graph | 10 M | 80 M |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Boukham, H.; Younsi Dahbi, K.; Chiadmi, D. Domain-Specific Languages for Algorithmic Graph Processing: A Systematic Literature Review. Algorithms 2025, 18, 445. https://doi.org/10.3390/a18070445
Boukham H, Younsi Dahbi K, Chiadmi D. Domain-Specific Languages for Algorithmic Graph Processing: A Systematic Literature Review. Algorithms. 2025; 18(7):445. https://doi.org/10.3390/a18070445
Chicago/Turabian StyleBoukham, Houda, Kawtar Younsi Dahbi, and Dalila Chiadmi. 2025. "Domain-Specific Languages for Algorithmic Graph Processing: A Systematic Literature Review" Algorithms 18, no. 7: 445. https://doi.org/10.3390/a18070445
APA StyleBoukham, H., Younsi Dahbi, K., & Chiadmi, D. (2025). Domain-Specific Languages for Algorithmic Graph Processing: A Systematic Literature Review. Algorithms, 18(7), 445. https://doi.org/10.3390/a18070445