Qingkai Shi, Ph.D.

Postdoc Research Associate Working with Prof. Xiangyu Zhang

Department of Computer Science, Purdue University, USA

Address: 305 N. University Street, West Lafayette, IN 47907

Email: shi553 AT purdue DOT edu       Twitter: @QingkaiS


My research interest centres around programming language, cybersecurity, and software engineering, focusing on the use of compiler techniques, including both static and dynamic program analysis, to ensure software security and reliability.

  • Static Code Analysis / Static Vulnerability Detection / Static Bug Finding

    Pinpoint static analyzer is an industrial-strength next-generation automated bug finding tool through static analysis. It has found over a hundred bugs, including many CVE-identified ones, in mature open-source systems, including Apache, MySQL, Firefox, and Python. Pinpoint has been successfully commercialized at Sourcebrella Inc (acquired by Ant Group in 2020) and has been deployed in daily operations for improving the quality of Alipay, a popular digital payment app with over a billion monthly active users. Interested readers can refer to my Ph.D. dissertation and follow-up works on static analysis: value-flow analysis (PLDI'18, ICSE'20a, ICSE'20b), path-sensitivity and SMT solving (ISSTA'20a, PLDI'21, OOPSLA'21), as well as detecting specific bug types (ICSE'19 , ISSTA'20b, ISSTA'20c).

  • Dynamic Vulnerability Analysis / Fuzz Testing

    Fuzz testing, also known as fuzzing, is an automated software testing technique that is conducted to reveal coding errors and security loopholes in software, networks, or operating systems. We are interested in leveraging our static analysis knowledge to optimize fuzz testers (S&P'20, S&P'22) and applying fuzz testers to domain-specific application scenarios, including testing black boxes with entropy (TRel'16, ISSTA'20d), testing multi-threading programs (TSE'16), and testing SMT solvers (ISSTA'21, ESEC/FSE'21).

Five representative papers on static analysis:

  1. Preprint: Indexing Context-Sensitive Reachability
    Qingkai Shi, Yongchao Wang, Charles Zhang
    arXiv preprint arXiv:2109.01321
  2. PLDI'21: Path-Sensitive Sparse Analysis without Path Conditions
    Qingkai Shi, Peisen Yao, Rongxin Wu, Charles Zhang
    The 42nd ACM SIGPLAN Conference on Programming Language Design and Implementation
  3. ICSE'20: Pipelining Bottom-up Data Flow Analysis
    Qingkai Shi, Charles Zhang
    The 42nd ACM/IEEE International Conference on Software Engineering
  4. ICSE'20: Conquering the Extensional Scalability Problem for Value-Flow Analysis Frameworks
    Qingkai Shi, Rongxin Wu, Gang Fan, Charles Zhang
    The 42nd ACM/IEEE International Conference on Software Engineering
  5. PLDI'18: Pinpoint: Fast and Precise Sparse Value Flow Analysis for Million Lines of Code
    Qingkai Shi, Xiao Xiao, Rongxin Wu, Jinguo Zhou, Gang Fan, Charles Zhang
    The 39th ACM SIGPLAN Conference on Programming Language Design and Implementation

Five representative papers on dynamic analysis:

  1. S&P'22: Beacon: Directed Grey-Box Fuzzing with Provable Path Pruning
    Heqing Huang, Yiyuan Guo, Qingkai Shi*, Peisen Yao, Rongxin Wu, Charles Zhang
    The 43rd IEEE Symposium on Security and Privacy
  2. S&P'20: Pangolin: Incremental Hybrid Fuzzing with Polyhedral Path Abstraction
    Heqing Huang, Peisen Yao, Rongxin Wu, Qingkai Shi*, Charles Zhang
    The 41st IEEE Symposium on Security and Privacy
  3. ISSTA'20: DeepGini: Prioritizing Massive Tests to Enhance the Robustness of Deep Neural Networks
    Yang Feng, Qingkai Shi*, Xinyu Gao, Jun Wan, Chunrong Fang, Zhenyu Chen
    The 29th ACM SIGSOFT International Symposium on Software Testing and Analysis
  4. TSE'16: Verifying Synchronization for Atomicity Violation Fixing
    Qingkai Shi, Jeff Huang, Zhenyu Chen, Baowen Xu
    The IEEE Transactions on Software Engineering, 42(3), 2016
  5. TRel'16: Measuring the Diversity of a Test Set with Distance Entropy
    Qingkai Shi, Zhenyu Chen, Chunrong Fang, Yang Feng, Baowen Xu
    The IEEE Transactions on Reliability, 65(1), 2016

My research has won me the following honors:

  • Overseas High-Caliber Personnel in Shenzhen (2021)
  • ACM SIGSOFT Distinguished Paper Award (2019)
  • Champion in NASAC Prototype Competition (2016, 2018a, 2018b)
  • Hong Kong Ph.D. Fellowship (2015)
  • China National Scholarship (2010, 2014)

Short Bio

Qingkai Shi is a Postdoc Research Associate in the department of computer science, Purdue University. His major research interest is the use of compiler techniques to ensure software reliability. He has published extensively at premium venues of programming languages (PLDI, OOPSLA), software engineering (ICSE, FSE, TSE, ISSTA), and cybersecurity (S&P). His research received many awards including ACM SIGSOFT Distinguished Paper Award and Hong Kong Ph.D. Fellowship. His research has led to the discovery of over a hundred software vulnerabilities in open-source software and has been successfully commercialized in Sourcebrella Inc, a static analysis tool vendor. Qingkai obtained his B.S. and Ph.D. from Nanjing University and the Hong Kong University of Science and Technology, respectively.