Motivation: In today’s increasingly digitalised world, software defects are enormously expensive. In 2018, the Consortium for IT Software Quality reported that software defects cost the global economy $2.84 trillion dollars and affected more than 4 billion people. The average annual cost of software defects on Australian businesses is A$29 billion per year. Thus, failure to eliminate defects in safety-critical systems could result in serious injury to people, threats to life, death, and disasters. Traditionally, software quality assurance activities like testing and code review are widely adopted to discover software defects in software products. However, ultra-large-scale systems, such as, Google, can consist of more than two billion lines of code, so exhaustively reviewing and testing every single line of code is not feasible with limited time and resources.
Aim. This project aims to create technologies (i.e., explainable AI for predicting and preventing software defects) that enable software engineers to produce the highest quality software systems with the lowest operational costs. To achieve this, this project will invent an end-to-end explainable AI platform that leverages advanced machine intelligence techniques (e.g., Deep Learning, Statistics, ML, Optimization) in order to (1) understand the nature of critical software defects like vulnerabilities; (2) predict; (3) highlight vulnerable code; (4) explain and visualise the characteristics of vulnerabilities; (5) suggest potential patches to automatically fix vulnerabilities; and (6) integrate such platform into GitHub.
- Strong background in software engineering (e.g., continuous integration and software testing)
- Strong background in data science tools (e.g., R / Python)