Predicting Risky Program Source Files

Change in source codes is an essential and routine activity of software development and maintenance. It has been observed that this activity might result in faults that might harm the use of the software. Therefore, it is always useful for software managers and programmers that before making any changes in source files, they should know the degree of risk associated with changing source files. In this paper, we present our approach to identify source files, which are risky or at least sensitive to new changes. We defined a set of metrics to compute the degree of risk associated to a source file. To validate our approach, an experiment has been performed by using Mozilla project's data. The experimental results show that the source files having higher risk values are more risky when applying the next change and thus should be tested more thoroughly.

[1]  Franz Wotawa,et al.  Program File Bug Fix Effort Estimation Using Machine Learning Methods for OSS , 2009, SEKE.

[2]  Harald C. Gall,et al.  Populating a Release History Database from version control and bug tracking systems , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[3]  Edward B. Allen,et al.  Predicting risky modules in open-source software for high-performance computing , 2005, SE-HPCS '05.

[4]  C. Mahoney,et al.  Managing risk , 2011 .

[5]  Franz Wotawa,et al.  A Database for the Analysis of Program Change Patterns , 2008, 2008 Fourth International Conference on Networked Computing and Advanced Information Management.

[6]  Yi Zhang,et al.  Classifying Software Changes: Clean or Buggy? , 2008, IEEE Transactions on Software Engineering.

[7]  Elaine J. Weyuker,et al.  Does measuring code change improve fault prediction? , 2011, Promise '11.

[8]  Hongfang Liu,et al.  Building effective defect-prediction models in practice , 2005, IEEE Software.

[9]  Jai Asundi,et al.  The need for effort estimation models for open source software projects , 2005, ACM SIGSOFT Softw. Eng. Notes.

[10]  Rudolf Ramler,et al.  Building Defect Prediction Models in Practice , 2014 .

[11]  Andreas Zeller,et al.  Mining Version Histories to Guide Software Changes , 2004 .

[12]  Elaine M. Hall,et al.  Managing Risk: Methods for Software Systems Development , 1998 .

[13]  Audris Mockus,et al.  Predicting risk of software changes , 2000, Bell Labs Technical Journal.

[14]  Adam A. Porter,et al.  Empirically guided software development using metric-based classification trees , 1990, IEEE Software.

[15]  Andreas Zeller,et al.  When do changes induce fixes? , 2005, ACM SIGSOFT Softw. Eng. Notes.

[16]  L. Erlikh,et al.  Leveraging legacy system dollars for e-business , 2000 .