DOI QR코드

DOI QR Code

A Technique to Link Bug and Commit Report based on Commit History

커밋 히스토리에 기반한 버그 및 커밋 연결 기법

  • 채영재 (경북대학교 컴퓨터학부) ;
  • 이은주 (경북대학교 컴퓨터학부)
  • Received : 2015.09.08
  • Accepted : 2016.02.11
  • Published : 2016.05.15

Abstract

'Commit-bug link', the link between commit history and bug reports, is used for software maintenance and defect prediction in bug tracking systems. Previous studies have shown that the links are automatically detected based on text similarity, time interval, and keyword. Existing approaches depend on the quality of commit history and could thus miss several links. In this paper, we proposed a technique to link commit and bug report using not only messages of commit history, but also the similarity of files in the commit history coupled with bug reports. The experimental results demonstrated the applicability of the suggested approach.

커밋-버그 링크는 커밋히스토리(commit history)와 버그 리포트(bug report) 간의 연결(Link)을 뜻한다. 커밋-버그 링크는 소프트웨어 유지보수와 결함 예측, 버그 추적 시스템(Bug Tracking System)에 이용이 되며, 특히 결함 예측 측면에서는 성능면에서의 기반이 된다. 일반적으로 링크를 자동으로 연결하는 방식은 텍스트 유사도(text similarity)나 시간 간격(time interval), 키워드(keyword) 등을 통해서 추출하였다. 하지만 기존 방식은 커밋히스토리(commit history)의 질적인 부분에 의존적이기 때문에 다수의 링크를 놓치게 된다는 단점이 존재한다. 본 논문에서는 커밋히스토리의 메시지(message)부분에만 의존하지 않고, 버그리포트에서 연결된 커밋히스토리의 파일간의 유사도를 이용하여 링크를 연결할 수 있는 방식을 제안하고 실험을 통하여 본 기법의 적용성을 보인다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. A. Mockus, R. T. Fielding, and J. D. Herbsleb, "Two Case Studies of Open Source Software Development: Apache and Mozilla," ACM Transactions on Software Engineering and Methodology, Vol. 11, No. 3, pp. 309-346, Jul. 2002. https://doi.org/10.1145/567793.567795
  2. T. Zimmermann, R. Premraj, and A. Zeller, "Predicting Defects for Eclipse," Proc. of International Workshop on Predictor Models in Software Engineering, pp. 1-9, 2007.
  3. H. Zhang and R. Wu, "Sampling Program Quality," Proc. of International Conference on Software Maintenance, pp. 1-10, 2010.
  4. H. Zhang, "An Investigation of the Relationships between Lines of Code and Defects," Proc. of International Conference on Software Maintenance, pp. 274-283, 2009.
  5. S. Kim, T. Zimmermann, E. J. Whitehead Jr., and A. Zeller, "Predicting Faults from Cached History," Proc. of International Conference on Software Engineering, pp. 489-498, 2007.
  6. S. Kim, H. Zhang, R. Wu and L. Gong, "Dealing with Noise in Defect Prediction," Proc. of International Conference on Software Engineering, pp. 481-490, 2011.
  7. T. H. D. Nguyen, B. Adams, and A. E. Hassan, "A Case Study of Bias in Bug-Fix Datasets," Proc. of Working Conference on Reverse Engineering, pp. 259-268, 2010.
  8. A. Bachmann and A. Bernstein, "Software Process Data Quality and Characteristics - A Historical View on Open and Closed Source Projects," Proc. of the joint IWPSE and Evol workshops, pp. 119-128, 2009.
  9. A. Mockus and L. G. Votta, "Identifying Reasons for Software Changes Using Historic Databases," Proc. of International Conference on Software Maintenance, pp. 120-130, 2000.
  10. A. Schroter, T. Zimmermann, R. Premraj, and A. Zeller, "If Your Bug Database Could Talk," Proc. of International Symposium on Empirical Software Engineering, pp. 18-20, 2006.
  11. J. Sliwerski, T. Zimmermann, and A. Zeller, "When Do Changes Induce Fixes?," Proc. of Mining Software Repositories, pp. 24-28, 2005.
  12. T. Zimmermann and P. Weissgerber, "Preprocessing CVS Data for Fine-grained Analysis," Proc. of Mining Softaware Repositories, pp. 2-6, 2004.
  13. M. Fischer, M. Pinzger, and H. C. Gall, "Populating a Release History Database from Version Control and Bug Tracking Systems," Proc. of Intional Conference on Software Maintenance, pp. 23-32, 2003.
  14. S. Kim, T. Zimmermann, K. Pan and E. Whitehead Jr., "Automatic Identification of Bug-Introducing Changes," Proc. of International Conference on Automated Software Engineering, pp. 81-90, 2006.
  15. A. Bachmann, C. Bird, F. Rahman, P. Devanbu, and A.Bernstein, "The Missing Links: Bugs and Bugfix Commits," Proc. of international symposium on Foundations of software engineering, pp. 97-106, 2010.
  16. C. Bird, A. Bachmann, E.Aune, J. Duffy, A. Bernstein, V.Filkov, and P. Devanbu, "Fair and Balanced?: Bias in Bug-fix Datasets," Proc. of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, pp. 121-130, 2009.
  17. R. Wu, H. Zhang, S. Kim, and S. C. Cheung, "Relink: Recovering Links Between Bugs and Changes," Proc. of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, pp. 15-25, 2011.
  18. R. Baeza-Yates and B. Ribeiro-Neto, Modern Information Retrieval, 1st Ed., Addison Wesley, 1999.
  19. I.H. Witten and E. Frank, Data Mining: Practical Machine Learning Tools and Techniques with Java Implementation, 2nd Ed., Morgan Kaufmann, 2005.