Parameterized Algorithms for Scalable Interprocedural Data-flow Analysis
Ahmed Khaled Zaher

TL;DR
This paper introduces a parameterized algorithm for interprocedural data-flow analysis that leverages program graph sparsity, achieving faster query responses and better scalability for large codebases.
Contribution
It presents the first algorithm exploiting both treewidth and treedepth parameters to improve on-demand IFDS analysis for general queries.
Findings
Achieves constant-time query answering after linear preprocessing.
Significantly outperforms classical IFDS in experiments.
Extends parameterized analysis to general, not just same-context, queries.
Abstract
Data-flow analysis is a general technique used to compute information of interest at different points of a program and is considered to be a cornerstone of static analysis. In this thesis, we consider interprocedural data-flow analysis as formalized by the standard IFDS framework, which can express many widely-used static analyses such as reaching definitions, live variables, and null-pointer. We focus on the well-studied on-demand setting in which queries arrive one-by-one in a stream and each query should be answered as fast as possible. While the classical IFDS algorithm provides a polynomial-time solution to this problem, it is not scalable in practice. Specifically, it either requires a quadratic-time preprocessing phase or takes linear time per query, both of which are untenable for modern huge codebases with hundreds of thousands of lines. Previous works have already shown that…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Advanced Data Storage Technologies
