Practical Program Analysis: Principles and Techniques
Biography: Qirun Zhang is a postdoctoral fellow at the University of California, Davis, before which he was a postdoctoral fellow at the Hong Kong University of Science and Technology. He received his Ph.D. in Computer Science and Engineering from The Chinese University of Hong Kong and his B.E. in Computer Science from Zhejiang University. His main area of research is programming languages, focusing on program analysis and testing. His work has appeared in top venues (e.g., PLDI, POPL, OOPSLA, and ICSE), and led to new analysis foundations and algorithms, and high-impact practical results.
Abstract: Software reliability is critical and challenging, for which program analysis offers a principled methodology. However, developing practical program analyses that are scalable and precise is difficult, both conceptually and engineering-wise. This talk highlights two lines of my research that significantly advance the state-of-the-art of program analysis. First, I will present a new reachability-based analysis framework and asymptotically faster algorithms that drastically outperform existing frameworks/algorithms in both speed and precision. The popular LLVM compiler infrastructure has adopted the techniques for fast, precise alias analysis. Second, I will describe a principled, scalable program enumeration framework for rigorous compiler testing. This work has led to 300+ confirmed/fixed bugs in important production/research compilers (such as GCC/LLVM/CompCert, Scala, and Rust) and enjoyed wide public acknowledgments from the compiler developer community. I will conclude the talk by discussing my research vision and plan for building reliable and performant software.