Hunting for software bugs that might be hidden in millions of lines of code can be a painstaking and expensive task. Even the best automated testing and debugging systems cannot detect and fix all possible mistakes, which can affect everything from phone apps to aircraft safety.

Dr. Lingming Zhang

Dr. Lingming Zhang, assistant professor of computer science in the Erik Jonsson School of Engineering and Computer Science at The University of Texas at Dallas, has received a National Science Foundation (NSF) Faculty Early Career Development (CAREER) Award for his work to advance automated debugging technology.

The $520,000, five-year grant supports Zhang’s project, “Maximal and Scalable Unified Debugging for the JVM Ecosystem,” which involves developing a process for diagnosing and fixing errors in software written in Java, one of the most popular programming languages.

“Our goal is to make it easier for developers to debug software systems automatically,” Zhang said.

Flaws in software programs can have serious consequences — for example, causing a self-driving car to drive through a stop sign. Software errors cost U.S. corporations $2.8 trillion in 2018 in repair costs and in canceled or delayed projects, according to the Consortium for Information & Software Quality, an industry group.

Zhang’s project aims to unify two areas that have been the focus of previous automated software debugging research: fault localization, which works to find the precise location of the bug so the developer can manually fix it; and program repair, which aims to fix bugs automatically without human intervention. With program repair, a developer might not discover a bug’s location.

“Our goal is to make it easier for developers to debug software systems automatically.”

Dr. Lingming Zhang, assistant professor of computer science in the Erik Jonsson School of Engineering and Computer Science

The techniques have limited effectiveness. Zhang said even the best program repair technique can only fix a small ratio, less than 20%, of real-world bugs. His project proposes leveraging the method to provide feedback to help identify all possible bugs, instead of only those that can be automatically fixed.

“In this way, this project not only opens a new dimension for more powerful fault localization, but also extends the application scope of program repair to all possible bugs,” Zhang said.

The UT Dallas researcher also aims to employ machine learning techniques, which allow the debugging system to learn from examples of how developers have resolved bugs in the past.

“We also developed automated technology to learn from the millions of historical bug fixes that developers made before,” Zhang said. “If developers fixed a bug a certain way, our technology can learn from that.”

About CAREER Awards

The Faculty Early Career Development Program supports early-career faculty who exemplify the role of teacher-scholars through outstanding research and excellent education. The highly selective program is the National Science Foundation’s most prestigious award for early-career faculty who are considered likely to become leaders in their fields.

Zhang’s new NSF-sponsored project also focuses on making the debugging process more efficient and expanding the system to include a myriad of Java variants, such as Scala. Hundreds of languages based on Java Virtual Machine (JVM) are used for developing a wide range of products, including Android apps.

Last year, Zhang and fellow researchers developed various practical debugging systems, called PraPR, HoBuFF and DeepFL, winning two Association for Computing Machinery SIGSOFT Distinguished Paper Awards at the 28th ACM International Symposium on Software Testing and Analysis (ISSTA). This year, Zhang is scheduled to present aspects of his recent research on unified debugging at the 29th ISSTA conference in July.

“Dr. Zhang has made significant contributions toward building systems that can predict, detect, localize and fix software bugs automatically,” said Dr. Gopal Gupta, professor of computer science and holder of the Erik Jonsson Chair at UT Dallas. “This CAREER award provides support to advance his research even further, with the potential to transform automated bug-detection technology.”

Zhang said he developed an interest in software testing and analysis as a student. He said he enjoys the challenge of hunting for hidden errors, and the reward of finding and fixing them.

“I became interested in software bugs because they’re so impactful,” Zhang said. “I feel joyful when I’m able to find and fix unknown bugs for software developers or in commercial products.”