Chianina: an evolving graph system for flow- and context-sensitive analyses of million lines of C code
Zhiqiang Zuo, Yiyu Zhang, Qiuhong Pan, Shenming Lu, Yue Li, Linzhang Wang, Xuandong Li, Guoqing Harry Xu
Abstract
Sophisticated static analysis techniques often have complicated implementations, much of which provides logic for tuning and scaling rather than basic analysis functionalities. This tight coupling of basic algorithms with special treatments for scalability makes an analysis implementation hard to (1) make correct, (2) understand/work with, and (3) reuse for other clients. This paper presents Chianina, a graph system we developed for fully context- and flow-sensitive analysis of large C programs. Chianina overcomes these challenges by allowing the developer to provide only the basic algorithm of an analysis and pushing the tuning/scaling work to the underlying system. Key to the success of Chianina is (1) an evolving graph formulation of flow sensitivity and (2) the leverage of out-of-core, disk support to deal with memory blowup resulting from context sensitivity. We implemented three context- and flow-sensitive analyses on top of Chianina and scaled them to large C programs like Linux (17M LoC) on a single commodity PC.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 727ca9f1-e7f9-4a7b-8b9e-fbb512354cd7Cited by top-tier papers6
- BigDataflow: A Distributed Interprocedural Dataflow Analysis FrameworkZewen Sun, Duanchen Xu, Yiyu Zhang, Yun Qi et al.FSE 2023 · 10 citations
- Jasmine: A Static Analysis Framework for Spring Core TechnologiesMiao Chen, Tengfei Tu, Hua Zhang, Qiaoyan Wen et al.ASE 2022 · 9 citations
- DStream: A Streaming-Based Highly Parallel IFDS FrameworkXizao Wang, Zhiqiang Zuo, Lei Bu, Jianhua ZhaoICSE 2023 · 5 citations
- LibAlchemy: A Two-Layer Persistent Summary Design for Taming Third-Party Libraries in Static Bug-Finding SystemsRongxin Wu, Yuxuan He, Jiafeng Huang, Chengpeng Wang et al.ICSE 2024 · 5 citations
- Diatom: Polylithic Binary Lifting with Data-Flow Summaries and Type-Aware IR LinkingAnshunkang Zhou, Charles ZhangOOPSLA 2026 · 1 citation
Related papers
- GPU-Accelerated Flow-Sensitive Pointer Analysis for C/C++ ProgramsJiaqi He, Karim AliFSE 2026
- Falcon: A Fused Approach to Path-Sensitive Sparse Data Dependence AnalysisPeisen Yao, Jinguo Zhou, Xiao Xiao, Qingkai Shi et al.PLDI 2024 · 11 citations
- Return of CFA: call-site sensitivity can be superior to object sensitivity even for object-oriented programsMinseok Jeon, Hakjoo OhPOPL 2022 · 15 citations
- Context Debloating for Object-Sensitive Pointer AnalysisDongjie He, Jingbo Lu, Jingling XueASE 2021 · 10 citations
- Redefining Indirect Call Analysis with KallGraphGuoren Li, Manu Sridharan, Zhiyun QianS&P 2025
