The fix is in: Computer science researcher creating system to help resolve bugs in software

"We are developing a modern, intelligent bug reporting system, using artificial intelligence and program analysis behind the scenes. It’s a different technique for analyzing potential problems in computer programs."

— Kevin Moran, assistant professor of computer science

Kevin Moran, an assistant professor in the Department of Computer Science, is developing a new system that could help fix technical problems in computer software more quickly and efficiently.

Tracking down bugs in software can be frustrating and time-consuming for engineers, but a Mason Engineering researcher is creating a new system that could help fix technical problems more quickly and efficiently.

Kevin Moran, an assistant professor in the Department of Computer Science, is researching a type of autofill system that would allow users to type in a few words about the issue they’re experiencing and then the system would attempt to pinpoint the problem in the code.

“Current software bug reporting systems have not kept up with the complexity of modern software, but our vision is that bugs will be uncovered and fixed using our proposed interactive BUg ReporTing (BURT) system,” he says.

Moran along with computer science professor Denys Poshyvanyk and assistant professor Oscar Chaparro at William & Mary and computer science professor Andrian Marcus at the University of Texas at Dallas received a $1.2 million award from the National Science Foundation for their research project, Bug Report Management 2.0,

Bug reporting systems serve an essential role in documenting problems during software development, Moran says.  

Current systems largely capture information using natural language or graphical information, such as screenshots. The restrictive nature of these interfaces makes it hard to get to the bottom of the problem, Moran says.

“We are developing a modern, intelligent bug reporting system, using artificial intelligence and program analysis behind the scenes. It’s a different technique for analyzing potential problems in computer programs,” he says.

The result: “With our system, the person reporting a problem would type in some text about the issue they are trying to solve with a piece of software, and the system, using machine learning, would predict what that person is describing and specific areas of the code that could be analyzed to resolve the issue,” Moran says.

David Rosenblum, chair of the Department of Computer Science, says, “developing and debugging software remains notoriously difficult, and with so much critical human activity being centered around complex software, it’s essential to give developers powerful tools to grapple with the detection, isolation, and elimination of bugs.

“The research of Kevin and his colleagues takes a very different approach to this problem by exploiting the power of machine learning in conjunction with more established forms of program analysis.  Their approach promises to significantly decrease the turnaround time for eliminating bugs in software,” he says.

Moran also received a $500,000 award from the National Science Foundation for his research project, Towards a Holistic Causal Model for Continuous Software Traceability, which is being conducted with researcher Denys Poshyvanyk at William & Mary.

This project is trying to automate the process of linking different pieces of code to descriptions of their functionality, Moran says. This process, called traceability, is a critical step in verifying software where safety or security is critical.

Moran is working on his research remotely during the coronavirus pandemic. “It has been a bit of an adjustment with virtual meetings and not discussing ideas on a whiteboard,” he says. “But we have gotten used to this new normal of vetting research ideas on Zoom.”