DOI QR코드

DOI QR Code

Estimating the Time to Fix Bugs Using Bug Reports

버그 리포트를 이용한 버그 정정 시간 추정

  • 권기문 (서울시립대학교 컴퓨터과학부) ;
  • 진광희 (서울시립대학교 컴퓨터과학부) ;
  • 이병정 (서울시립대학교 컴퓨터과학부)
  • Received : 2015.01.19
  • Accepted : 2015.03.26
  • Published : 2015.06.15

Abstract

As fixing bugs is a large part of software development and maintenance, estimating the time to fix bugs -bug fixing time- is extremely useful when planning software projects. Therefore, in this study, we propose a way to estimate bug fixing time using bug reports. First, we classify previous bug reports with meta fields by applying a k-NN method. Next, we compute the similarity of the new bug and previous bugs by using data from bug reports. Finally, we estimate how long it will take to fix the new bug using the time it took to repair similar bugs. In this study, we perform experiments with open source software. The results of these experiments show that our approach effectively estimates the bug fixing time.

버그 정정 활동은 소프트웨어 개발과 유지보수 작업에서 많은 비중을 차지하므로, 버그 정정활동에 소요되는 시간을 미리 추정할 수 있다면 소프트웨어 프로젝트 작업 계획에 큰 도움이 될 것이다. 따라서 본 연구에서는 버그 리포트를 이용하여 버그 정정 시간을 추정하는 방법을 제안한다. 본 방법에서는 먼저, 버그 리포트가 제공하는 버그 메타 필드에 k-NN 방법을 적용하여 과거 버그 리포트들을 분류한다. 다음으로, 버그 리포트의 텍스트 정보를 활용하여 과거 버그와 새로운 버그 사이의 유사도를 계산하고, 유사한 버그의 정정 시간을 활용하여 새로운 버그의 정정 시간을 추정한다. 마지막으로, 오픈 소스 프로젝트에 본 방법을 적용한 실험을 통하여 효과적으로 버그 정정 시간을 추정한다는 것을 보인다.

Keywords

Acknowledgement

Supported by : 한국연구재단, 서울시

References

  1. M. Sharma, M. Kumari, and V.B Singh, "Understanding the Meaning of Bug Attributes and Prediction Models," 5th IBM Collaborative Academia Research Exchange Workshop (I-CARE), Article No. 15, 2013.
  2. L. D. Panjer, "Predicting Eclipse bug Lifetimes," Proc. of the Fourth International Workshop on Mining Software Repositories (MSR), pp. 29, 2007.
  3. S. Kim and J. E. James Whitehead, "How long did it take to fix bugs?," Proc. of the 2006 International Workshop on Mining Software Repositories (MSR), pp. 173-174, 2006.
  4. A. Mockus, R. T. Fielding, and J. D. Herbsleb, "Two case studies of open source software development: Apache and Mozilla," ACM Transaction on Software Engineering and Methodology (TOSEM), Vol. 11, No. 3, pp. 309-346, 2002. https://doi.org/10.1145/567793.567795
  5. E. Giger, M. Pinzger, and H. Gall, "Predicting the Fix Time of bugs," Proc. of International Workshop on Recommendation System for Software Engineering (RSSE), pp. 52-56, 2010.
  6. S.N.Ahsan, J.Ferzund, and F.Wotawa, "Program file bug fix effort estimation using machine learning methods for oss," Proc. of the 21th International Conference on Software Engineering and Knowledge Engineering (SEKE), pp. 129-134, 2009.
  7. N. K. Nagwani and A. Bhansali, "A data mining model to predict software bug complexity using bug estimation and clustering," Proc. of International Conference on Recent Trends in Information, Telecommunication and Computing, ser. ITC '10. Washington, DC, USA: IEEE Computer Society, pp. 13-17, 2010.
  8. P. Bhattacharya, and I. Neamtiu, "Bug-fix time prediction models: can we do better?," Proc. of working conference on Mining Software Repoositories MSR, pp. 207-210, 2011.
  9. C. Weiss, R. Premraj, T. Zimmermann, and A. Zeller, "How long will it take to fix this bug?," Proc. of International Workshop on Mining Software Repositories (MSR), pp. 1, 2007.
  10. T. Zimmermann, N. Nagappan, P. J. Guo, and B. Murphy, "Characterizing and Predicting which bugs get reopened," Proc. of International Conference on Software Engineering (ICSE), pp. 1074-1083, 2012.
  11. P. J. Guo, T. Zimmermann, N. Nagappan, and B. Murphy, "Characterizing and Predicting which bugs get Fixed: An Empirical Study of Microsoft Windes," Proc. of International Conference on Software Engineering (ICSE), pp. 495-504, 2010.
  12. T. W. Ryu, Christoph and C. F. Eick, "Similarity measures for multi-valued attributes for database clustering," Proc. of the Conference on Smart Engineering System Design: Neural Networks, Fuzzy Logic, Evolutionary Programming, Data Mining and Rough Sets (ANNIE'98), 1998.
  13. S. Rao and A. Kak, "Retrieval from Software Libraries for Bug Localization: A Comparative Study of Generic and composite Text Models," Proc. of Working conference on Mining Software repositories, pp. 43-51, 2011.
  14. T. Zhang and B. Lee, "A Hybrid Bug Triage Algorithm for Developer Recommendation," Proc. of ACM Symposium on Applied Computing, ACM Press, pp. 1088-1094, 2013.
  15. B. A. Kitchenham, L. M. Pickard, S. G. MacDonell and M. J. Shepperd, "What accuracy statistics really measure," IEE Proceeding - Software, Vol. 148, No. 3, pp. 81-85, 2001. https://doi.org/10.1049/ip-sen:20010506
  16. R Core Team, R: "A Language and Environment for Statistical Computing," R Foundation for Statistical Computing, 2012.
  17. The T-Test, Research Methods Knowledge Base, http://www.socialresearchmethods.net/kb/stat_t.php.