SILVA: A Scalable Incremental Layered Sparse Value-Flow Analysis
Layered sparse value-flow analysis (SVFA) is a prominent static analysis for resolving program dependencies. Despite the significant progress, SVFA still suffers from scalability issue. In light of the natural, continuous evolution of software, we introduce SILVA , the first incremental layered SVFA that scales to large, real-world programs efficiently. At the core of SILVA lies a novel incremental pointer analysis and incremental Mod-Ref analysis. Our extensive experiments on large-scale, real-world C/C++ programs demonstrate its effectiveness: SILVA achieves nearly a 7× speedup over SVF , the state-of-the-art layered SVFA, without losing any precision. Moreover, our incremental pointer and Mod-Ref analysis algorithms are 12× and 5× faster than existing methods, respectively. Regarding the impact of the size of the code changes on SILVA ’s effectiveness, we find that SILVA outperforms SVF for changes up to 10K lines—well beyond the typical scope of code commits in real-world software development.
Authors
- Ke Wang (ORCID: https://orcid.org/0000-0003-0844-5023)
- Linzhang Wang (ORCID: https://orcid.org/0000-0003-4794-1652)
- Yu Wang (ORCID: https://orcid.org/0000-0002-7216-6929)
- Jiayi Wang (ORCID: https://orcid.org/0009-0002-9109-0285)
Institutions
- Visa (United States) (US)
- Nanjing University (CN)
Publication Details
- Journal
- ACM Transactions on Software Engineering and Methodology
- Published
- 2025-03-20
- DOI
- https://doi.org/10.1145/3725214
- Citations
- 3
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 6.81