\section{Related Work}
Researchers have put forward a number of different approaches to
identify blocks of software most likely to contain defects based on
an analysis of a variety of data sources. In particular, source
code metrics \cite{Gyimothy05a, Basili96a, Menzies07a, Menzies10a}, process information obtained from code repositories \cite{Nagappan05a, Moser08a}, and past defects \cite{Ostrand05a, Zimmermann07a}.

Size has been a good predictor of defects in studies that have
developed regression models \cite{Gyimothy05a, Harrison98a} 
as well as machine learning models \cite{Menzies07a, Koru05a}.

Much of the early work is based on small data set typically few systems are used to build models and hence the conclusions reached cannot be generalised.

Although there is some argument that source code metrics may be
misleading and insufficient as a predictor of defects \cite{ElEmam02a,Fenton00a}, 
the majority of the literature on defect prediction models suggests that metrics
are effective when properly analyzed \cite{Menzies07a, Gyimothy05a, Basili96a}. 
In particular, Menzies et. al. \cite{Menzies07a} argue that  the prediction approach needs to be
carefully selected as it has a significant influence and much more
so than the metrics selected.


