
Software quality optimization is an area of research that has received little attention. 
There exists a large number of algorithms and methods for tasks such as 
predicting effort, completion time, or other attributes. 
What if more then an estimation is desired, such as an idea of what makes a project better.
Quality optimizers are programs that find 
relationships between project metrics and quality metrics, such as effort and software defects, 
with the goal of identifying which project attributes can be changed, and by how much, to elicit an 
improvement in the quality metric. This paper is based on previous research on an experimental quality 
optimizer called {\W}2 [1]. {\W}2 implements contrast set learning, that is an algorithm which looks at 2 
populations and determines what separates them.

Though {\W}2 implements an efficient, fast, linear time algorithm, there are concerns about the 
stability and consistency of the recommendations it makes. In order to establish the degree to 
which {\W}2's results are stable we attempt to replicate the original findings. Furthermore, 
we explore how the amount and type of historical data affects the consistency of {\W}2's results. 
To this end we investigate {\W}2's performance on several effort estimation datasets that were used 
in previous research, as well as a number of defect prediction datasets that had not been 
considered before. We conclude with a short list of areas where the system can be improved upon, 
along with recommendations on what may be possible as well as some specific topics of interest we 
believe future research should address.




