Co-led by Department of Electrical Engineering & Computer Science professors Song Wang and Alvine Boaye-Belle, with assistance from former master's student Mohammad Mahdi Mohajer, the project explores how ChatGPT - OpenAI's tex-generating artificial intelligence (AI) chatbot - can be leveraged to support software development. Specifically, the research team evaluated how ChatGPT can assist in enhancing and automating debugging and static analysis, both key processes in software development.
"Static analysis is one of the most effective ways to detect bugs in code," says Mohajer. "To the best of our knowledge, we are the first to explore the use of large language models, like ChatGPT, to facilitate this process. Our ultimate goal is to fully automate code analysis."
Identifying bugs in code before it runs is crucial for ensuring software functions as intended. For software developers, reducing these errors is essential for maintaining smooth operation of applications.
The team's research explored various experimental approaches to determine the most effective combination of models and strategies for identifying two specific types of bugs in code. The results were promising, with ChatGPT enhancing traditional static analysis techniques and even outperforming state-of-the-art methods for filtering out false positive alerts generated by static analysis tools.
"This study focused on a specific set of strategies," says Mohajer, "and although we achieved promising results, we're planning on exploring additional approaches to further improve accuracy."
This research is only the beginning of a larger, collaborative effort to harness the power of AI for automating software development tasks. In the future, the research team plans to expand their work, targeting a wider range of bug types and experimenting with different large language models.
By pushing the boundaries of what AI can achieve, this research offers a glimpse into a future where intelligent systems like ChatGPT could play a key role in software development processes, making them faster and more efficient.
This story was originally featured in YFile, York University's community newsletter.