This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Mining Software History to Improve Software Maintenance Quality: A Case Study
January/February 2009 (vol. 26 no. 1)
pp. 34-40
Alexander Tarvo, Microsoft
To keep the Windows operating system stable and secure, Microsoft constantly updates it. However, any update can cause a software regression—an undesired change in the system's stable parts. A key technique for fighting regressions is thorough testing of all updates, which is costly. A statistical model that estimates the risk for updates on the basis of their characteristics makes testing more efficient. Training this model requires collecting data on a large number of fixes made in previous versions of Windows. The Binary Change Tracer tool gets this information from the disparate data sources.

1. IEEE Std. 1219-1998, IEEE Std. for Software Maintenance, IEEE, 1998.
2. T. Menzies, J. Greenwald, and A. Frank, "Data Mining Static Code Attributes to Learn Defect Predictors," IEEE Trans. Software Eng., vol. 33, no. 1, 2007, pp. 2–13.
3. N. Nagappan, T. Ball, and A. Zeller, "Mining Metrics to Predict Component Failures," Proc. 28th Int'l Conf. Software Eng. (ICSE 06), IEEE CS Press, 2006, pp. 452–461.
4. N. Nagappan and T. Ball, "Use of Relative Code Churn Measures to Predict System Defect Density," Proc. 27th Int'l Conf. Software Eng. (ICSE 05), IEEE CS Press, 2005, pp. 284–292.
5. A. Mockus and D. Weiss, "Predicting Risk of Software Changes," Bell Labs Tech J., vol. 5, no. 2, 2000, pp. 169–180.
6. J. Sliwerski, T. Zimmermann, and A. Zeller, "When Do Changes Induce Fixes?" Proc. 2nd Int'l Workshop Mining Software Repositories, ACM Press, 2005, pp. 24–28.
7. M. Fischer, M. Pinzger, and H. Gall, "Populating a Release History Database from Version Control and Bug Tracking Systems," Proc. Int'l Conf. Software Maintenance (ICSM 03), IEEE CS Press, 2003, pp. 23–32.
8. D. Ubrani and G.C. Murphy, "Hipikat: Recommending Pertinent Software Development Artifacts," Proc. 25th Int'l Conf. Software Eng. (ICSE 03), IEEE CS Press, 2003, pp. 408–418.
9. A. Srivastava, J. Thiagarajan, and C. Schertz, Efficient Integration Testing Using Dependency Analysis, tech. report MSR-TR-2005-94, Microsoft Research, 2005.
10. D.T. Larose, Data Mining Methods and Models, Wiley-Interscience, 2006, p. 322.
11. D. Hand, P. Smyth, and H. Mannila, Principles of Data Mining, MIT Press, 2001, p. 546.
12. S. McConnell, "Daily Build and Smoke Test," IEEE Software, vol. 13, no. 4, 1996, pp. 143–144.

Index Terms:
process measurement, maintenance process, risk management, Binary Change Tracer, BCT, Microsoft
Citation:
Alexander Tarvo, "Mining Software History to Improve Software Maintenance Quality: A Case Study," IEEE Software, vol. 26, no. 1, pp. 34-40, Jan.-Feb. 2009, doi:10.1109/MS.2009.15
Usage of this product signifies your acceptance of the Terms of Use.