Learning from our mistakes and successes is an often-ignored human ability. We remember past experiences and events, analyze the conditions present before and after, and finally we attempt to extract some sort of understanding as to the effect of initial conditions on the end result. We do this because we crave control. Being able to predict the effect of our actions allows us to change and adapt what we do in such a way as to bring about a desired, usually more efficient, more optimized, end result. Software quality optimizers attempt to do just this by employing a number of different methods.

From the inception of computer software there have existed a myriad of software projects, each with their given deadlines, budgets, number of workers, etc. Each of these past projects has its own history, more specifically, a number of factors, or metrics, that affected the final outcome of the project in some way. Such historical information can be collected and processed in order to extract usable data regarding the relationships between project metrics and project outcome. The metrics that are found to help the best projects become the best, with regard to their specified quality class, are then adopted and applied to current, similar, projects. 
	
The question then becomes how to best put this information to use regarding new projects. There are several different ways of doing this, such as parametric models, however {\W} uses a method called instance based reasoning. IBR uses the historical information itself to extract meaningful data, bypassing the need for a parametric model.

From previous research conducted on {\W}'s performance and results we begin our work aware of the following:

\bi
\item
{\W} significantly outperforms or matches other learning schemes.
\item
{\W} can be configured for a very broad spectrum of applications.
\item
{\W}'s lack of parametric modeling lends it high flexibility in terms of different datasets that can be accepted.
\ei

These previous findings act as the background against which we conduct our experiments and research, ultimately attempting to further the goals outlined above.
