Filtering, robust filtering, polishing: Techniques for addressing quality in software data
Authors: Liebchen, G., Twala, B., Shepperd, M., Cartwright, M. and Stephens, M.
Journal: Proceedings - 1st International Symposium on Empirical Software Engineering and Measurement, ESEM 2007
OBJECTIVE: Data quality is an important aspect of empirical analysis. This paper compares three noise handling methods to assess the benefit of identifying and either filtering or editing problematic instances. METHOD: We compare a 'do nothing' strategy with (i) filtering, (ii) robust filtering and (iii) filtering followed by polishing. A problem is that it is not possible to determine whether an instance contains noise unless it has implausible values. Since we cannot determine the true overall noise level we use implausible values as a proxy measure. In addition to the ability to identify implausible values, we use another proxy measure, the ability to fit a classification tree to the data. The interpretation is low misclassification rates imply low noise levels. RESULTS: We found that all three of our data quality techniques improve upon the 'do nothing' strategy, also that the filtering and polishing was the most effective technique for dealing with noise since we eliminated the fewest data and had the lowest misclassification rates. Unfortunately the polishing process introduces new implausible values. CONCLUSIONS: We believe consideration of data quality is an important aspect of empirical software engineering. We have shown that for one large and complex real world data set automated techniques can help isolate noisy instances and potentially polish the values to produce better quality data for the analyst. However this work is at a preliminary stage and it assumes that the proxy measures of quality are appropriate. © 2007 IEEE.