Skip to main content

Considering dependencies between bug reports to improve bugs triage

Abstract

Software development teams need to deal with several open reports of critical bugs to be addressed urgently and simultaneously. The management of these bugs is a complex problem due to the limited resources and the deadlines-pressure. Most of the existing studies treated bug reports in isolation when assigning them to developers. Thus, developers may spend considerable cognitive efforts moving between completely unrelated bug reports thus not sharing any common files to be inspected. In this paper, we propose an automated bugs triage approach based on the dependencies between the open bug reports. Our approach starts by localizing the files to be inspected for each of the pending bug reports. We defined the dependency between two bug reports as the number of common files to be inspected to localize the bugs. Then, we adopted multi-objective search to rank the bug reports for programmers based on both their priorities and the dependency between them. We evaluated our approach on a set of open source programs and compared it to the traditional approach of considering bug reports in isolation based mainly on their priority. The results show a significant time reduction of over 30% in localizing the bugs simultaneously comparing to the traditional bugs prioritization technique based on only priorities.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

References

  • Abdelmoez, W., Kholief, M., Elsalmy, F.M.: Bug fix-time prediction model using Naïve Bayes classifier. In: 2012 22nd International Conference on Computer Theory and Applications (ICCTA), pp. 167–172. IEEE (2012)

  • Alenezi, M., Banitaan, S.: Bug reports prioritization: Which features and classifier to use? In: 2013 12th International Conference on Machine Learning and Applications, Vol. 2, pp. 112–116. IEEE (2013)

  • Almhana, R., Mkaouer, W., Kessentini, M., Ouni, A.: Recommending relevant classes for bug reports using multi-objective search. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, pp. 286–295. ACM (2016)

  • Amal, B., Kessentini, M., Bechikh, S., Dea, J., Said, L.B.: On the use of machine learning and search-based software engineering for ill-defined fitness function: a case study on software refactoring. In: International Symposium on Search Based Software Engineering, pp. 31–45. Springer, Cham (2014)

  • Behl, D., Handa, S., Arora, A.: A bug mining tool to identify and analyze security bugs using naive bayes and tf-idf. In: 2014 International Conference on Reliability Optimization and Information Technology (ICROIT), pp. 294–299. IEEE (2014)

  • Bettenburg, N., Premraj, R., Zimmermann, T., Kim, S.: Duplicate bug reports considered harmful... really? In: 2008 IEEE International Conference on Software Maintenance, pp. 337–345. IEEE (2008)

  • Blei, D.M., Ng, A.Y., Jordan, M.I.: Latent Sirichlet allocation. J. Mach. Learn. Res. 3(Jan), 993–1022 (2003)

    MATH  Google Scholar 

  • Bug reports data. http://bit.ly/2NUyion. Accessed 20 Jan 2020

  • Canfora, G., Ceccarelli, M., Cerulo, L., Di Penta, M.: How long does a bug survive? An empirical study. In: 2011 18th Working Conference on Reverse Engineering, pp. 191–200. IEEE (2011)

  • Chaturvedi, K., Singh, V.: Determining bug severity using machine learning techniques. In: 2012 CSI Sixth International Conference on Software Engineering (CONSEG), pp. 1–6. IEEE (2012)

  • Deb, K., Gupta, S.: Understanding knee points in bicriteria problems and their implications as preferred solution principles. Eng. Optim. 43(11), 1175–1204 (2011)

    MathSciNet  Article  Google Scholar 

  • Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: Nsga-ii. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)

    Article  Google Scholar 

  • Dommati, S.J., Agrawal, R., Kamath, S.S., et al.: Bug classification: feature extraction and comparison of event model using na\(\backslash\)” ive Bayes approach. arXiv preprint arXiv:1304.1677 (2013)

  • Dreyton, D., Araújo, A.A., Dantas, A., Freitas, Á., Souza, J.: Search-based bug report prioritization for kate editor bugs repository. In: International Symposium on Search Based Software Engineering, pp. 295–300. Springer (2015)

  • Dreyton, D., Araújo, A.A., Dantas, A., Saraiva, R., Souza, J.: A multi-objective approach to prioritize and recommend bugs in open source repositories. In: International Symposium on Search Based Software Engineering, pp. 143–158. Springer (2016)

  • Dumais, S.T.: Latent semantic analysis. Annu. Rev. Inf. Sci. Technol. 38(1), 188–230 (2004)

    Article  Google Scholar 

  • Emmerich, M.T., Deutz, A.H.: A tutorial on multiobjective optimization: fundamentals and evolutionary methods. Nat. Comput. 17(3), 585–609 (2018)

    MathSciNet  Article  Google Scholar 

  • Fischer, M., Pinzger, M., Gall, H.: Analyzing and relating bug report data for feature tracking. In: WCRE, Vol. 3, 90 (2003)

  • Geng, J., Ying, S., Jia, X., Zhang, T., Liu, X., Guo, L., Xuan, J.: Supporting many-objective software requirements decision: an exploratory study on the next release problem. IEEE Access 6, 60 547–60 558 (2018)

    Article  Google Scholar 

  • Ghannem, A., Kessentini, M., El Boussaidi, G.: Detecting model refactoring opportunities using heuristic search. In: Proceedings of the 2011 Conference of the Center for Advanced Studies on Collaborative Research, pp. 175–187 (2011)

  • Ghannem, A., El Boussaidi, G., Kessentini, M.: Model refactoring using examples: a search-based approach. J. Softw. Evol. Process 26(7), 692–713 (2014)

    Article  Google Scholar 

  • Ghannem, A., El Boussaidi, G., Kessentini, M.: On the use of design defect examples to detect model refactoring opportunities. Softw. Qual. J. 24(4), 947–965 (2016)

    Article  Google Scholar 

  • Goyal, N., Aggarwal, N., Dutta, M.: A novel way of assigning software bug priority using supervised classification on clustered bugs data. In: Advances in Intelligent Informatics, pp. 493–501. Springer (2015)

  • Harman, M., Jones, B.F.: Search-based software engineering. Inf. Softw. Technol. 43(14), 833–839 (2001)

    Article  Google Scholar 

  • Henard, C., Papadakis, M., Le Traon, Y.: Mutation-based generation of software product line test configurations. In: International Symposium on Search Based Software Engineering, pp. 92–106. Springer (2014)

  • Jones, J.A.: Semi-automatic fault localization. Ph.D. dissertation, Georgia Institute of Technology (2008)

  • Kanwal, J., Maqbool, O.: Managing open bug repositories through bug report prioritization using svms. In: Proceedings of the International Conference on Open-Source Systems and Technologies, pp. 22–24. Pakistan, Lahore (2010)

  • Kanwal, J., Maqbool, O.: Bug prioritization to facilitate bug report triage. J. Comput. Sci. Technol. 27(2), 397–412 (2012)

    Article  Google Scholar 

  • Keller, A.A.: Multi-Objective Optimization in Theory and Practice II: Metaheuristic Algorithms. Bentham Science Publishers (2019)

  • Kessentini, M., Ouni, A., Langer, P., Wimmer, M., Bechikh, S.: Search-based metamodel matching with structural and syntactic measures. J. Syst. Softw. 97, 1–14 (2014)

    Article  Google Scholar 

  • Lamkanfi, A., Demeyer, S., Soetens, Q.D., Verdonck, T.: Comparing mining algorithms for predicting the severity of a reported bug. In: 2011 15th European Conference on Software Maintenance and Reengineering, pp. 249–258. IEEE (2011)

  • Li, Z., Tan, L., Wang, X., Lu, S., Zhou, Y., Zhai, C.: Have things changed now? An empirical study of bug characteristics in modern open source software. In: Proceedings of the 1st Workshop on Architectural and System Support for Improving Software Dependability, pp. 25–33. ACM (2006)

  • Núñez, A., Merayo, M.G., Hierons, R.M., Núñez, M.: Using genetic algorithms to generate test sequences for complex timed systems. Soft. Comput. 17(2), 301–315 (2013)

    Article  Google Scholar 

  • Ramirez, A., Romero, J.R., Ventura, S.: A survey of many-objective optimisation in search-based software engineering. J. Syst. Softw. 149, 382–395 (2019)

    Article  Google Scholar 

  • Salton, G., Wong, A., Yang, C.-S.: A vector space model for automatic indexing. Commun. ACM 18(11), 613–620 (1975)

    Article  Google Scholar 

  • Sharma, M., Bedi, P., Chaturvedi, K., Singh, V.: Predicting the priority of a reported bug using machine learning techniques and cross project validation. In: 2012 12th International Conference on Intelligent Systems Design and Applications (ISDA), pp. 539–545. IEEE (2012)

  • Shelburg, J., Kessentini, M., Tauritz, D.R.: Regression testing for model transformations: a multi-objective approach. In: International Symposium on Search Based Software Engineering, pp. 209–223. Springer (2013)

  • Sun, C., Lo, D., Wang, X., Jiang, J., Khoo, S.-C.: A discriminative model approach for accurate duplicate bug report retrieval. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, Vol. 1, pp. 45–54. ACM (2010)

  • Thung, F., Lo, D., Jiang, L., Rahman, F., Devanbu, P.T., et al.: When would this bug get reported? In: 2012 28th IEEE International Conference on Software Maintenance (ICSM), pp. 420–429. IEEE (2012)

  • Tian, Y., Lo, D., Sun, C.: Information retrieval based nearest neighbor classification for fine-grained bug severity prediction. In: 2012 19th Working Conference on Reverse Engineering, pp. 215–224. IEEE (2012)

  • Uddin, J., Ghazali, R., Deris, M.M., Naseem, R., Shah, H.: A survey on bug prioritization. Artif. Intell. Rev. 47(2), 145–180 (2017)

    Article  Google Scholar 

  • Valdivia Garcia, H., Shihab, E.: Characterizing and predicting blocking bugs in open source projects. In: Proceedings of the 11th Working Conference on Mining Software Repositories, pp. 72–81. ACM (2014)

  • Wong, W.E., Gao, R., Li, Y., Abreu, R., Wotawa, F.: A survey on software fault localization. IEEE Trans. Softw. Eng. 42(8), 707–740 (2016)

    Article  Google Scholar 

  • Xuan, J., Jiang, H., Ren, Z., Zou, W.: Developer prioritization in bug repositories. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 25–35. IEEE (2012)

  • Ye, X., Bunescu, R., Liu, C.: Learning to rank relevant files for bug reports using domain knowledge. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 689–699. ACM (2014)

  • Yu, L., Tsai, W.-T., Zhao, W., Wu, F.: Predicting defect priority based on neural networks. In: International Conference on Advanced Data Mining and Applications, pp. 356–367. Springer (2010)

  • Zanetti, M.S., Scholtes, I., Tessone, C.J., Schweitzer, F.: Categorizing bugs with social networks: a case study on four open source software communities. In: Proceedings of the 2013 International Conference on Software Engineering, pp. 1032–1041. IEEE Press (2013)

  • Zhang, T., Chen, J., Yang, G., Lee, B., Luo, X.: Towards more accurate severity prediction and fixer recommendation of software bugs. J. Syst. Softw. 117, 166–184 (2016)

    Article  Google Scholar 

  • Zheng, A.X., Jordan, M.I., Liblit, B., Naik, M., Aiken, A.: Statistical debugging: simultaneous identification of multiple bugs. In: Proceedings of the 23rd International Conference on Machine Learning, pp. 1105–1112. ACM (2006)

  • Zou, W., Lo, D., Chen, Z., Xia, X., Feng, Y., Xu, B.: How practitioners perceive automated bug report management techniques. IEEE Trans. Softw. Eng. (2018)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marouane Kessentini.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Almhana, R., Kessentini, M. Considering dependencies between bug reports to improve bugs triage. Autom Softw Eng 28, 1 (2021). https://doi.org/10.1007/s10515-020-00279-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10515-020-00279-2

Keywords

  • Bugs management
  • Bug triage
  • Bug localization
  • Bug prioritization
  • Search-based software engineering
  • Software quality assurance