Early Studies on bug prediction focused
on software complexity measured in lines of code and defects. Drawback with
this method is it uses software size as only predictor of faults. We aim to
predict whether a particular file associated with a change is buggy or not. Traditionally
All techniques typically follow the following steps:
1) Training Data Extraction : For each change, label
it as buggy or clean by mining a project’s revision history and issue tracking
system. Buggy change means the change contains bugs (one or more), while clean
change means the change has no bug.
2) Feature Extraction. Extract the values of various
features from each change. Many different features have been used in past
change classification studies.
3) Model Learning. Build a model by using a
classification algorithm based on the labeled changes and their corresponding
4) Model Application. For a new change, extract the
values of various features. Input these values to the learned model to predict
whether the change is buggy or clean.