arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2312.06005cs.SE
收藏

用于缺陷修复过程的软件问题报告:一项关于机器学习库的实证研究

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

Adekunle Ajibode, Dong Yunwei, Yang Hongji

AI总结:

本文对六个主流机器学习库的16,921个GitHub问题开展实证研究,量化分析问题类别、修复策略、评论数与持续时间等关系,指出高效跟踪、沟通和协作的重要性。

摘要:

问题解决和缺陷修复过程在机器学习库的开发中至关重要,这与软件开发类似,其目的是确保函数得到良好优化。理解机器学习库的问题解决和缺陷修复过程,可以帮助开发者识别有待改进的领域,并优化其问题解决与缺陷修复策略。然而,目前缺乏围绕该主题的详细研究。因此,我们调查了六个机器学习库(Tensorflow、Keras、Theano、Pytorch、Caffe和Scikit-learn)中缺陷修复过程的问题解决有效性。我们通过GitHub Rest API从GitHub仓库提取了16,921个问题,并据此回答了七个研究问题(RQ)。我们采用了多种定量数据分析方法,包括相关性分析、OLS回归、百分比与频次统计以及热力图,以分析这些研究问题。通过实证调查,我们发现:(1)机器学习库中最常出现的问题类别包括缺陷、文档、优化、崩溃、增强、新功能请求、构建/CI、支持以及性能。(2)解决这些问题的有效策略包括修复关键缺陷、优化性能以及改进文档。(3)这些分类问题与测试和运行时有关,并且在全部六个机器学习库中都很常见。(4)监控问题的评论总数能够为问题持续时间提供洞察。(5)必须在优先处理关键问题与及时处理其他问题之间取得平衡。因此,本研究得出结论:高效的问题跟踪流程、有效的沟通与协作,对于机器学习库中有效的问题解决和缺陷修复过程至关重要。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑