Graspan - A Big Data System for analyzing Large-scale Systems Code
Kai Wang, Aftab Hussain, Zhiqiang Zuo, Harry Xu, Ardalan
Amiri Sani, John Thorpe, Sung-Soo Son, Khanh Ngyuen
Programming Languages and Systems Group
Department of Computer Science
University of California, Irvine
Supported by National Science Foundation, ACM
2015 to 2017
Return to Projects
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs. We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Download:
Paper
Poster
Tutorial
View:
Source code