Software quality optimization is an area of research that has received little attention. There exists a large number of algorithms and methods used in predicting for software quality classes, such as effort, completion time, and number of defects, however what if more then an estimation is required? What if we need to get an idea of what makes a project better in terms of these classes? In this case we turn to quality optimization software. Quality optimizers are programs that find relationships between quality metrics, such as number of lines and number of methods per class, and a specified class, such as effort or number of defects. A quality optimizer has the goal of identifying which quality metrics should be changed, and by how much, to elicit an overall improvement in the class being optimized.

Over time, software engineers have developed many different metrics to help them describe software projects. Not all of them can be used to directly predict for a given class. For example, WMC, the weighted methods per class metric, impacts class complexity \cite{Chidamber2002} directly but not number of defects. However, complexity can lead to more defects, and thus WMC has some role in predicting for defects. This paper is based on previous research performed using an experimental quality optimizer called {\W}. Our goal with this paper is to investigate whether or not the metrics traditionally associated with defect prediction remain relevant when applying our experimental learner. To the best of our knowledge, {\W} has never been used in conjunction with defect prediction data until now. 

Since we are trying to establish whether or not {\W}'s recommendations are in line with the traditional way of thinking, we investigate defect prediction using a number of different datasets, publicly available at www.promisedata.org.
