Graspan: A Single-machine Disk-based Graph System for Interprocedural Static Analyses of Large-scale Systems Code

被引:0
|
作者
Wang, Kai [1 ]
Hussain, Aftab [1 ]
Zuo, Zhiqiang [1 ]
Xu, Guoqing [1 ]
Sani, Ardalan Amiri [1 ]
机构
[1] Univ Calif Irvine, Irvine, CA 92697 USA
基金
美国国家科学基金会;
关键词
Static analysis; graph processing; disk-based systems;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
There is more than a decade-long history of using static analysis to find bugs in systems such as Linux. Most of the existing static analyses developed for these systems are simple checkers that find bugs based on pattern matching. Despite the presence of many sophisticated interprocedural analyses, few of them have been employed to improve checkers for systems code due to their complex implementations and poor scalability. In this paper, we revisit the scalability problem of interprocedural static analysis from a " BigData" perspective. That is, we turn sophisticated code analysis into Big Data analytics and leverage novel data processing techniques to solve this traditional programming language problem. We develop Graspan, a disk-based parallel graph system that uses an 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. Moreover, we show that these analyses can be used to augment the existing checkers; these augmented checkers uncovered 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.
引用
收藏
页码:389 / 404
页数:16
相关论文
共 50 条
  • [1] Graspan: A single-machine disk-based graph system for interprocedural static analyses of large-scale systems code
    Wang K.
    Hussain A.
    Zuo Z.
    Xu G.
    Amiri Sani A.
    1600, Association for Computing Machinery, 2 Penn Plaza, Suite 701, New York, NY 10121-0701, United States (52): : 389 - 404
  • [2] Graspan: A Single-machine Disk-based Graph System for Interprocedural Static Analyses of Large-scale Systems Code
    Wang, Kai
    Hussain, Aftab
    Zuo, Zhiqiang
    Xu, Guoqing
    Sani, Ardalan Amiri
    ACM SIGPLAN NOTICES, 2017, 52 (04) : 389 - 404
  • [3] Graspan: A Single-machine Disk-based Graph System for Interprocedural Static Analyses of Large-scale Systems Code
    Wang, Kai
    Hussain, Aftab
    Zuo, Zhiqiang
    Xu, Guoqing
    Sani, Ardalan Amiri
    TWENTY-SECOND INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXII), 2017, : 389 - 404
  • [4] Systemizing Interprocedural Static Analysis of Large-scale Systems Code with Graspan
    Zuo, Zhiqiang
    Wang, Kai
    Hussain, Aftab
    Sani, Ardalan Amiri
    Zhang, Yiyu
    Lu, Shenming
    Dou, Wensheng
    Wang, Linzhang
    Li, Xuandong
    Wang, Chenxi
    Xu, Guoqing Harry
    ACM TRANSACTIONS ON COMPUTER SYSTEMS, 2021, 38 (1-2):
  • [5] Grapple: A Graph System for Static Finite-State Property Checking of Large-Scale Systems Code
    Zuo, Zhiqiang
    Thorpe, John
    Wang, Yifei
    Pan, Qiuhong
    Lu, Shenming
    Wang, Kai
    Xu, Guoqing Harry
    Wang, Linzhang
    Li, Xuandong
    PROCEEDINGS OF THE FOURTEENTH EUROSYS CONFERENCE 2019 (EUROSYS '19), 2019,
  • [6] A Performance Study on Large-Scale Data Analytics Using Disk-Based and In-Memory Database Systems
    Chao, Pingfu
    He, Dan
    Sadiq, Shazia
    Zheng, Kai
    Zhou, Xiaofang
    2017 IEEE INTERNATIONAL CONFERENCE ON BIG DATA AND SMART COMPUTING (BIGCOMP), 2017, : 247 - 254
  • [7] Distributed block formation and layout for disk-based management of large-scale graphs
    Abdurrahman Yaşar
    Buğra Gedik
    Hakan Ferhatosmanoğlu
    Distributed and Parallel Databases, 2017, 35 : 23 - 53
  • [8] Distributed block formation and layout for disk-based management of large-scale graphs
    Yasar, Abdurrahman
    Gedik, Bugra
    Ferhatosmanoglu, Hakan
    DISTRIBUTED AND PARALLEL DATABASES, 2017, 35 (01) : 23 - 53
  • [9] QuickSquad: A new single-machine graph computing framework for detecting fake accounts in large-scale social networks
    Jiang, Xinyang
    Li, Qiang
    Ma, Zhen
    Dong, Mianxiong
    Wu, Jun
    Guo, Dong
    PEER-TO-PEER NETWORKING AND APPLICATIONS, 2019, 12 (05) : 1385 - 1402
  • [10] QuickSquad: A new single-machine graph computing framework for detecting fake accounts in large-scale social networks
    Xinyang Jiang
    Qiang Li
    Zhen Ma
    Mianxiong Dong
    Jun Wu
    Dong Guo
    Peer-to-Peer Networking and Applications, 2019, 12 : 1385 - 1402