  Bug prediction is the process of training a machine learning model on
software metrics and fault information to predict bugs in software entities.
While feature selection is an important step in building a robust prediction
model, there is insufficient evidence about its impact on predicting the number
of bugs in software systems. We study the impact of both correlation-based
feature selection (CFS) filter methods and wrapper feature selection methods on
five widely-used prediction models and demonstrate how these models perform
with or without feature selection to predict the number of bugs in five
different open source Java software systems. Our results show that wrappers
outperform the CFS filter; they improve prediction accuracy by up to 33% while
eliminating more than half of the features. We also observe that though the
same feature selection method chooses different feature subsets in different
projects, this subset always contains a mix of source code and change metrics.
