Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
129 tokens/sec
GPT-4o
28 tokens/sec
Gemini 2.5 Pro Pro
42 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Software issues report for bug fixing process: An empirical study of machine-learning libraries (2312.06005v1)

Published 10 Dec 2023 in cs.SE

Abstract: Issue resolution and bug-fixing processes are essential in the development of machine-learning libraries, similar to software development, to ensure well-optimized functions. Understanding the issue resolution and bug-fixing process of machine-learning libraries can help developers identify areas for improvement and optimize their strategies for issue resolution and bug-fixing. However, detailed studies on this topic are lacking. Therefore, we investigated the effectiveness of issue resolution for bug-fixing processes in six machine-learning libraries: Tensorflow, Keras, Theano, Pytorch, Caffe, and Scikit-learn. We addressed seven research questions (RQs) using 16,921 issues extracted from the GitHub repository via the GitHub Rest API. We employed several quantitative methods of data analysis, including correlation, OLS regression, percentage and frequency count, and heatmap to analyze the RQs. We found the following through our empirical investigation: (1) The most common categories of issues that arise in machine-learning libraries are bugs, documentation, optimization, crashes, enhancement, new feature requests, build/CI, support, and performance. (2) Effective strategies for addressing these problems include fixing critical bugs, optimizing performance, and improving documentation. (3) These categorized issues are related to testing and runtime and are common among all six machine-learning libraries. (4) Monitoring the total number of comments on issues can provide insights into the duration of the issues. (5) It is crucial to strike a balance between prioritizing critical issues and addressing other issues in a timely manner. Therefore, this study concludes that efficient issue-tracking processes, effective communication, and collaboration are vital for effective resolution of issues and bug fixing processes in machine-learning libraries.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (59)
  1. Top concerns of tweeters during the covid-19 pandemic: infoveillance study. Journal of medical Internet research, 22(4):e19016, 2020.
  2. Bug fix-time prediction model using naïve bayes classifier. In 2012 22nd International Conference on Computer Theory and Applications (ICCTA), pages 167–172. IEEE, 2012.
  3. Multi-triage: A multi-task learning framework for bug triage. Journal of Systems and Software, 184:111133, 2022.
  4. An empirical analysis of bug reports and bug fixing in open source android apps. In 2013 17th European Conference on Software Maintenance and Reengineering, pages 133–143. IEEE, 2013.
  5. Faster issue resolution with higher technical quality of software. Software quality journal, 20:265–285, 2012.
  6. Latent dirichlet allocation. J. Mach. Learn. Res., 3(null):993–1022, mar 2003. ISSN 1532-4435.
  7. We are family: analyzing communication in github software repositories and their forks. In 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER), pages 59–69. IEEE, 2020.
  8. Creating covid-19 stigma by referencing the novel coronavirus as the “chinese virus” on twitter: quantitative analysis of social media data. Journal of Medical Internet Research, 22(5):e19301, 2020.
  9. Ols and iv estimation of regression models including endogenous interaction terms. Econometric Reviews, 38(7):814–827, 2019.
  10. Hierarchical bayesian models for collaborative tagging systems. In 2009 Ninth IEEE International Conference on Data Mining, pages 728–733. IEEE, 2009.
  11. Security for machine learning-based software systems: a survey of threats, practices and challenges. arXiv preprint arXiv:2201.04736, 2022.
  12. Manifesting bugs in machine learning code: An explorative study with mutation testing. In 2018 IEEE International Conference on Software Quality, Reliability and Security (QRS), pages 313–324. IEEE, 2018.
  13. Common bugs in scratch programs. In Proceedings of the 2020 ACM conference on innovation and technology in computer science education, pages 89–95, 2020.
  14. Empirical analysis of the bug fixing process in open source projects. In Open Source Development, Communities and Quality: IFIP 20 th World Computer Congress, Working Group 2.3 on Open Source Software, September 7-10, 2008, Milano, Italy 4, pages 187–196. Springer, 2008.
  15. Machine learning-based test oracles for performance testing of cyber-physical systems: An industrial case study on elevators dispatching algorithms. Journal of Software: Evolution and Process, 34(11):e2465, 2022.
  16. Agile software development. Informatica Economica, 24(2), 2020.
  17. Implementing causal analysis and resolution in software development projects: The minidmaic approach. In 19th Australian Conference on Software Engineering (aswec 2008), pages 112–119. IEEE, 2008.
  18. Empirical analysis of ensemble machine learning techniques for bug triaging. In 2019 Twelfth International Conference on Contemporary Computing (IC3), pages 1–6. IEEE, 2019.
  19. Performance assessment of bug fixing process in open source repositories. Procedia Computer Science, 167:2070–2079, 2020.
  20. Efficient customer incident triage via linking with system incidents. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pages 1296–1307, 2020.
  21. Has the bug really been fixed? In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1, pages 55–64, 2010.
  22. Characterizing and predicting which bugs get fixed: an empirical study of microsoft windows. In Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering-Volume 1, pages 495–504, 2010.
  23. ” not my bug!” and other reasons for software bug report reassignments. In Proceedings of the ACM 2011 conference on Computer supported cooperative work, pages 395–404, 2011.
  24. An empirical study on the issue reports with questions raised during the issue resolving process. Empirical Software Engineering, 24:718–750, 2019.
  25. A comprehensive study on deep learning bug characteristics. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pages 510–520, 2019.
  26. The promises and perils of mining github. In Proceedings of the 11th working conference on mining software repositories, pages 92–101, 2014.
  27. An empirical study of aging related bug prediction using cross project in cloud oriented software. Informatica, 46(8), 2022.
  28. Perceived language complexity in github issue discussions and their effect on issue resolution. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 72–83. IEEE, 2017.
  29. How long did it take to fix bugs? In Proceedings of the 2006 international workshop on Mining software repositories, pages 173–174, 2006.
  30. Maintaining mental models: a study of developer work habits. In Proceedings of the 28th international conference on Software engineering, pages 492–501, 2006.
  31. Group topic model: organizing topics into groups. Information Retrieval Journal, 18:1–25, 2015.
  32. Sentiment classification based on as-lda model. Procedia Computer Science, 31:511–516, 2014.
  33. Exploring the characteristics of issue-related behaviors in github using visualization techniques. IEEE Access, 6:24003–24015, 2018.
  34. R2fix: Automatically generating bug fixes from bug reports. In 2013 IEEE Sixth international conference on software testing, verification and validation, pages 282–291. IEEE, 2013.
  35. Understanding build issue resolution in practice: symptoms and fix patterns. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pages 617–628, 2020.
  36. Are tweets useful in the bug fixing process? an empirical study on firefox and chrome. Empirical Software Engineering, 23:1704–1742, 2018.
  37. On the influence of maintenance activity types on the issue resolution time. In Proceedings of the 10th international conference on predictive models in software engineering, pages 12–21, 2014.
  38. Machine learning and deep learning frameworks and libraries for large-scale data mining: a survey. Artificial Intelligence Review, 52:77–124, 2019.
  39. Recurring bug fixes in object-oriented programs. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1, pages 315–324, 2010.
  40. Impact of stakeholder type and collaboration on issue resolution time in oss projects. In Open Source Systems: Grounding Research: 7th IFIP WG 2.13 International Conference, OSS 2011, Salvador, Brazil, October 6-7, 2011. Proceedings 7, pages 1–16. Springer, 2011.
  41. Monitoring the software bug-fixing process through the process mining approach. Journal of Software: Evolution and Process, 31(7):e2162, 2019.
  42. Deep learning-based pm2. 5 prediction considering the spatiotemporal correlations: A case study of beijing, china. Science of The Total Environment, 699:133561, 2020.
  43. How to effectively use topic models for software engineering tasks? an approach based on genetic algorithms. In 2013 35th International conference on software engineering (ICSE), pages 522–531. IEEE, 2013.
  44. Understanding the triaging and fixing processes of long lived bugs. Information and software technology, 65:114–128, 2015.
  45. Carlo Schwarz. ldagibbs: A command for topic modeling in stata using latent dirichlet allocation. The Stata Journal, 18(1):101–117, 2018.
  46. Predicting the bug fixing time using word embedding and deep long short term memories. IET Software, 14(3):203–212, 2020.
  47. An effective model to predict the extension of code changes in bug fixing process using text classifiers. Iranian Journal of Science and Technology, Transactions of Electrical Engineering, pages 1–18, 2022.
  48. Predicting re-opened bugs: A case study on the eclipse project. In 2010 17th Working Conference on Reverse Engineering, pages 249–258. IEEE, 2010.
  49. An empirical investigation into the effects of code comments on issue resolution. In 2020 IEEE 44th Annual Computers, Software, and Applications Conference (COMPSAC), pages 921–930. IEEE, 2020.
  50. An empirical study of bugs in machine learning systems. In 2012 IEEE 23rd International Symposium on Software Reliability Engineering, pages 271–280. IEEE, 2012.
  51. Bayesian analysis of bug-fixing time using report data. In Proceedings of the 16th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, pages 57–68, 2022.
  52. How long will it take to fix this bug? In Fourth International Workshop on Mining Software Repositories (MSR’07: ICSE Workshops 2007), pages 1–1. IEEE, 2007.
  53. Towards effective bug triage with software data reduction techniques. IEEE transactions on knowledge and data engineering, 27(1):264–280, 2014.
  54. Recommending developers with supplementary information for issue request resolution. In Proceedings of the 38th International conference on software engineering companion, pages 707–709, 2016.
  55. An empirical study of the dynamics of github repository and its impact on distributed software development. In On the Move to Meaningful Internet Systems: OTM 2014 Workshops: Confederated International Workshops: OTM Academy, OTM Industry Case Studies Program, C&TC, EI2N, INBAST, ISDE, META4eS, MSC and OnToContent 2014, Amantea, Italy, October 27-31, 2014. Proceedings, pages 457–466. Springer, 2014.
  56. Reviewer recommendation for pull-requests in github: What can we learn from code review and bug assignment? Information and Software Technology, 74:204–218, 2016.
  57. Predicting bug-fixing time: an empirical study of commercial software projects. In 2013 35th International Conference on Software Engineering (ICSE), pages 1042–1051. IEEE, 2013.
  58. A survey on bug-report analysis. Sci. China Inf. Sci., 58(2):1–24, 2015.
  59. An empirical study on real bug fixes. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, volume 1, pages 913–923. IEEE, 2015.

Summary

We haven't generated a summary for this paper yet.