Qingkai Shi, PhD


~ Learn and Live ~


Department of Computer Science and Engineering

Hong Kong University of Science and Technology

Email: qingkaishi AT gmail DOT com



Highlights

  • New 02/21: The paper on Fusion, our new-generation static code analyzer, got accepted by PLDI!
  • 04/20: Sourcebrella, where my research (known as Pinpoint) was commercialized, has been acquired by Ant Group!
  • 01/20: Our paper on fuzz testing got accepted by Oakland!
  • 12/19: Two papers on static bug finding got accepted by ICSE!
  • 04/19: Our paper on static memory leak detection received the ACM SIGSOFT Distinguished Paper award!
  • 02/18: Our Paper on Pinpoint static analyzer got accepted by PLDI!

Research

My research interest centres around programming language and software engineering. More specifically, I focus on the use of compiler techniques, including both static and dynamic program analysis, to hunt software bugs and ensure software reliability.

  • Static Program Analysis

    Pinpoint/Fusion static analyzer is an industrial-strength next-generation automated bug finding tool through static analysis. It has found over a hundred bugs in many mature open-source projects, including Apache, MySQL, Firefox, and Python. Many of the detected bugs have been assigned CVE identifiers due to their impacts. This project is commercialized at Sourcebrella Inc, which has been acquired by Ant Group. For more information, interested readers can refer to my PhD thesis or technical papers: value-flow analysis (PLDI 2018, ICSE 2020b), type-state analysis (ICSE 2019 ), parallelization (ICSE 2020a), building system errors (ISSTA 2020b), code clone detection (ISSTA 2020c), path-sensitivity (ISSTA 2020a, PLDI 2021).

  • Dynamic Program Analysis

    For dynamic program analysis, we focus on the use of fuzz testing to find software bugs. We proposed an incremental technique to improve hybrid fuzzing (S&P 2020). We are also interested in domain-specific criteria that guide testing for different applications, such as concurrent programs (TSE 2016), black-box testing (TRel 2016), intelligent software (ISSTA 2020d), and SMT solver (ISSTA 2021).

Publications

  1. ISSTA'21: Fuzzing SMT Solvers via Two-Dimensional Input Space Exploration
    Peisen Yao, Heqing Huang, Wensheng Tang, Qingkai Shi, Rongxin Wu, Charles Zhang
    The 30th ACM SIGSOFT International Symposium on Software Testing and Analysis
  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. ISSTA'20: Fast Bit-Vector Satisfiability
    Peisen Yao, Qingkai Shi*, Heqing Huang, Charles Zhang
    The 29th ACM SIGSOFT International Symposium on Software Testing and Analysis
  4. ISSTA'20: Escaping Dependency Hell: Finding Build Dependency Errors with the Unified Dependency Graph
    Gang Fan, Chengpeng Wang, Rongxin Wu, Xiao Xiao, Qingkai Shi, Charles Zhang
    The 29th ACM SIGSOFT International Symposium on Software Testing and Analysis
  5. ISSTA'20: DeepGini: Prioritizing Massive Tests to Enhance the Robustness of Deep Neural Networks.
    Yang Feng, Qingkai Shi*, Xinyu Gao, Jun Wan, Chunrong Fang, and Zhenyu Chen
    The 29th ACM SIGSOFT International Symposium on Software Testing and Analysis
  6. ISSTA'20: Functional Code Clone Detection with Syntax and Semantics Fusion Learning.
    Chunrong Fang, Zixi Liu, Yangyang Shi, Jeff Huang, and Qingkai Shi
    The 29th ACM SIGSOFT International Symposium on Software Testing and Analysis
  7. ICSE'20: Pipelining Bottom-up Data Flow Analysis
    Qingkai Shi, Charles Zhang
    The 42nd ACM/IEEE International Conference on Software Engineering
    (Slides)
  8. 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
    (Slides)
  9. ICSE'19: Smoke: Scalable Path-Sensitive Memory Leak Detection for Millions of Lines of Code
    Gang Fan, Rongxin Wu, Qingkai Shi, Xiao Xiao, Jinguo Zhou, Charles Zhang
    The 41st ACM/IEEE International Conference on Software Engineering
    ACM SIGSOFT Distinguished Paper Award
  10. 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
    (Slides) (Artifact Evaluation) (Media)
  11. 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
  12. 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

Teaching

  • TA for COMP4111: Software Engineering Practices (Fall 2016, Spring 2018)
  • TA for COMP3111/3111H: Software Engineering (Fall 2018)

Honors

  • ACM SIGSOFT Distinguished Paper Award (2019)
  • Champion in NASAC Prototype Competition (2016, 2018a, 2018b)
  • Hong Kong Phd Fellowship (2015)
  • China National Scholarship (2010, 2014)