Software errors harbour dangers and cost a lot of money. To fix them, Stuttgart-based computer scientist Michael Pradel relies on AI-automated tools. He and his team have already developed the technologies for this as part of the ERC Starting Grant project “LearnBugs”. The European Research Council (ERC) is now funding the first steps on the way to the market with a Proof of Concept Grant.
“We all interact with complex software systems on a daily basis. Whether in communication, shopping or banking, in road transport or in healthcare: Unreliable, inefficient and insecure software wastes precious time and can cause serious harm to millions of people”, says Prof Michael Pradel, Managing Director of the Institute of Software Engineering (ISTE) at the University of Stuttgart. Pradel is using new tools to better identify and repair errors in programme code, so-called bugs, in the future. They are based on artificial intelligence and deep learning.
To detect software errors, developers previously used testing software written by humans, which only finds known errors. In their “Learning to Find Software Bugs” project, Pradel and his team are developing artificial intelligence that provides a remedy. They are able to automatically find and repair errors in the programme. And they learn from the errors they find. This means tracking the development process and predicting where new errors will occur in the future, or making targeted suggestions for repairing and completing a programme code. “These technologies are particularly powerful - especially when it comes to errors that conventional software tools overlook”, explains Pradel.
Society better protected
The aim is to further develop the research prototypes created and tested as part of “LearnBugs” for use in the software industry. If the software is made available to a wide range of users, it will be ready for future commercialisation. “We want to support software developers in their daily work”, says Pradel.
Successful transfer into practice depends on the quality of the underlying techniques. On the one hand, “BugGPT” addresses the question of where in the code and how bug fixes should be managed. On the other hand, the market potential and practical implementation as well as possible business models are to be analysed.
“The project has the potential to have a significant impact on the software industry”, says Pradel. “If we are successful, our new tools can better protect society from serious software errors that lead to crashes, security breaches and data loss, while at the same time reducing the cost of software development.”
In addition to his position as Managing Director of the Institute for Software Engineering (ISTE), the computer scientist and engineer heads the Software Lab at the University of Stuttgart and holds the Chair of Programming Languages at ISTE. Pradel has been awarded an ERC Starting Grant.