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
account_balance Supported by National Science Foundation, ACM
event Accepted at The 22nd ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2017) Xi'an, China
construction Skills used: Java, big graph processing, scheduling
arrow_backReturn to Projects
Programming Languages and Systems Group
Department of Computer Science
University of California, Irvine
account_balance Supported by National Science Foundation, ACM
event Accepted at The 22nd ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2017) Xi'an, China
construction Skills used: Java, big graph processing, scheduling
arrow_backReturn 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.
- 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.