ChatGPT takes a byte out of code: How Lassonde researchers are using AI to support software development
Tags:
From writing essays and solving complex equations, to creating the perfect travel itinerary or planning a birthday party – ChatGPT seems to do it all. This powerful artificial intelligence (AI) platform is a large language model that sifts through vast amounts of data to generate human-like responses to a seemingly endless array of inquiries. But its capabilities don’t end there. Recent research in the Electrical Engineering and Computer Science department at York University’s Lassonde School of Engineering explored how ChatGPT can be leveraged to support software development, particularly focusing on code analysis and debugging.
This project was led by Song Wang, associate professor, and co-led by Alvine Boaye-Belle, assistant professor. Mohammad Mahdi Mohajer, a former master’s student was also instrumental to this work and has been sharing its success with academic and industry members. Together, the research team evaluated how ChatGPT can assist in enhancing and automating debugging and static analysis – a key process 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, and although we achieved promising results, we’re planning on exploring additional approaches to further improve accuracy,” says Mohajer.
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 at Lassonde offers a glimpse into a future where intelligent systems like ChatGPT could play a key role in software development processes, making them more rapid and efficient than ever imagined.