Jingling Xue is a Scientia Professor in the School of Computer Science and Engineering at UNSW.
His research focuses on programming languages, compilers, and program analysis, with an emphasis on developing advanced compiler techniques and program analysis tools for improving the performance, safety and security of large software applications (with millions of lines of code).
This year, at CGO’21 (2021 International Symposium on Code Generation and Optimization), one of his papers (Hongtao Yu, Jingling Xue, Wei Huo, Xiaobing Feng, Zhaoqing Zhang.
Level by Level: Making Flow- and Context-Sensitive Pointer Analysis Scalable for Millions of Lines of Code, CGO’10) has received the CGO Test of Time award. CGO is the premium conference on compilers.
This Test-of-Time award is given to a paper from 10-12 years ago that has had a lasting impact on the field. In this year selected paper, Scientia Professor Jingling Xue, together with his collaborators, introduced a new "level-by-level" pointer analysis algorithm for computing the points-to, i.e., alias information in million-line-scale C programs.
Pointer analysis is a fundamental yet challenging compile-time analysis that attempts to determine information on the values of pointer variables or expressions in programming languages with pointers, such as C, C++ and Java.
As such, pointer analysis affects significantly the precision and efficiency of a wide range of program analyses that require points-to information for a variety of application domains, such as compiler optimisation, program verification, program understanding, bug detection, and security analysis.
This new “level-by-level” algorithm can significantly improve the efficiency of pointer analysis for million-line-scale C programs while achieving highly useful precision. Scientia Professor Xue has graduated 15 PhD students working in program analysis and released a dozen of open-source program analysis tools, including SVF (https://svf-tools.github.io/SVF/), a pointer analysis tool widely used for performing pointer/alias analysis in C/C++ programs.