Software defects are anomalies in software code that cause a working product to behave in an unintended way. Some of these defects can have fatal consequences for people, cost companies millions of pounds, and even damage their reputation.
Software defect prediction aims to build prediction models that can point out places in software code that are likely to contain defects. Although a lot of work has been done, defect prediction models are still not powerful enough to be supported by software companies. Common problems are high rates of false positives, and models that work only for specific software products.
To begin with, I will describe the history of predicting defects in software, I will then move to common practices in software defect prediction. Finally, I will conclude with a summary of my work that focuses on building advanced prediction models.