Hierarchical Data-Flow Graphs

Authors José Pereira, Vitor Vieira, Alberto Simões

Thumbnail PDF


  • Filesize: 0.5 MB
  • 9 pages

Document Identifiers

Author Details

José Pereira
  • Checkmarx, Braga, Portugal
Vitor Vieira
  • Checkmarx, Braga, Portugal
Alberto Simões
  • Checkmarx, Braga, Portugal
  • 2Ai, School of Technology, IPCA, Barcelos, Portugal

Cite AsGet BibTex

José Pereira, Vitor Vieira, and Alberto Simões. Hierarchical Data-Flow Graphs. In 12th Symposium on Languages, Applications and Technologies (SLATE 2023). Open Access Series in Informatics (OASIcs), Volume 113, pp. 11:1-11:9, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)


Data-Flows are crucial to detect the dependency of statements and expressions in a programming language program. In the context of Static Application Security Testing (SAST), they are heavily used in different aspects, from detecting tainted data to understanding code dependency. In Checkmarx, these data flows are currently computed on the fly, but their efficiency is not the desired, especially when dealing with large projects. With this in mind, a new caching mechanism is being developed, based on hierarchical graphs. In this document, we discuss the basic idea behind this approach, the challenges found and the decisions put in place for the implementation. We will also share the first insights on speed improvements for a proof of concept implementation.

Subject Classification

ACM Subject Classification
  • Theory of computation → Grammars and context-free languages
  • Software and its engineering → Compilers
  • Theory of computation → Graph algorithms analysis
  • Data Flow
  • Static Application Security Testing
  • Hierarchical Graphs


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. F. E. Allen and J. Cocke. A program data flow analysis procedure. Communications of the ACM, 19(3):137, March 1976. URL: https://doi.org/10.1145/360018.360025.
  2. Harri Antikainen. Using the hierarchical pathfinding a∗ algorithm in GIS to find paths through rasters with nonuniform traversal cost. ISPRS International Journal of Geo-Information, 2(4):996-1014, October 2013. URL: https://doi.org/10.3390/ijgi2040996.
  3. Adi Botea, Martin Müller, and Jonathan Schaeffer. Near optimal hierarchical path-finding. Journal of Game Development, 1(1):1-22, 2004. Google Scholar
  4. Lloyd D. Fosdick and Leon J. Osterweil. Data flow analysis in software reliability. ACM Computing Surveys, 8(3):305-330, September 1976. URL: https://doi.org/10.1145/356674.356676.
  5. Matthias Grundmann, Vivek Kwatra, Mei Han, and Irfan Essa. Efficient hierarchical graph-based video segmentation. In 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pages 2141-2148, 2010. URL: https://doi.org/10.1109/CVPR.2010.5539893.
  6. Uday P. Khedker, Amitabha Sanyal, and Bageshri Karkare. Data Flow Analysis: Theory and Practice. CRC Press, March 2009. Google Scholar
  7. Flemming Nielson, Hanne Riis Nielson, and Chris Hankin. Data flow analysis. In Principles of Program Analysis, pages 35-139. Springer Berlin Heidelberg, 1999. URL: https://doi.org/10.1007/978-3-662-03811-6_2.
  8. Flemming Nielson, Hanne Riis Nielson, and Chris Hankin. Principles of Program Analysis. Springer Berlin Heidelberg, 1999. URL: https://doi.org/10.1007/978-3-662-03811-6.
  9. Nuria Pelechano and Carlos Fuentes. Hierarchical path-finding for navigation meshes (HNA⁎). Computers & Graphics, 59:68-78, October 2016. URL: https://doi.org/10.1016/j.cag.2016.05.023.
  10. Micha Sharir and Amir Pnueli. Two approaches to interprocedural data flow analysis. In Steven S Muchnick and Neil D Jones, editors, Programme Flow Analysis, pages 189-233. Prentice Hall, April 1981. Google Scholar
  11. Edgar-Philipp Stoffel, Korbinian Schoder, and Hans Jürgen Ohlbach. Applying hierarchical graphs to pedestrian indoor navigation. In Proceedings of the 16th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, GIS '08, New York, NY, USA, 2008. Association for Computing Machinery. URL: https://doi.org/10.1145/1463434.1463499.
Questions / Remarks / Feedback

Feedback for Dagstuhl Publishing

Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail