Pengyu Nie obtained his PhD in 2023 and MSc in 2020 from The University of Texas at Austin, where he was advised by Milos Gligoric. He has a BSc from University of Science and Technology of China, which he received in 2017.
My research is mainly about improving the productivity of software developers from software development to maintenance to testing. My research projects typically start by identifying some real-world problems that developers are facing, such as writing tests which can be a tedious task. I then design the techniques, usually with machine learning and natural language processing models or by software engineering program analysis — usually using a combination of both — to solve the problem. The story ends by deploying the techniques in the real world. Do they improve the software development workflow?
At the beginning of my PhD, I started by focusing on the problems of generating and maintaining comments in code. Later, as we had more powerful machine learning and natural language processing models available, I expanded to more challenging problems, such as generating software tests and proofs. These targets are more challenging because they involve significantly more complex reasoning about code and domain expertise.
At Waterloo, I am further expanding this line of research under the umbrella of software engineering plus machine learning and natural language processing. For example, I’m looking at the training and inference of those machine learning models that are already being used in software engineering.
Read the full Q&A with Nie from Computer Science to learn more.