On the Variability of Software Engineering Needs for Deep Learning: Stages, Trends, and Application Types

On the Variability of Software Engineering Needs for Deep Learning: Stages, Trends, and Application Types
复制标题

DOI:
10.1109/tse.2022.3163576
复制
发表时间:
2023-02
影响因子:
7.4
通讯作者:
Kai Gao;Zhixing Wang;A. Mockus;Minghui Zhou
Kai Gao;Zhixing Wang;A. Mockus;Minghui Zhou
中科院分区:
计算机科学1区
文献类型:
--
作者:
Kai Gao;Zhixing Wang;A. Mockus;Minghui Zhou

文献摘要

相似文献

深度学习的广泛使用并没有伴随着深度学习的软件工程(SE)的相应进步。研究表明,编写数字图书馆软件的开发人员有特定的开发阶段(即SE4DL阶段),并面临新的数字图书馆特有的问题。尽管进行了大量研究,但尚不清楚数字图书馆开发人员对数字图书馆的SE需求如何随阶段、应用程序类型或它们是否随着时间的推移而变化。为了帮助将研究和开发努力集中在数字图书馆的开发挑战上,我们分析了92,830个堆栈溢出(SO)问题和227,756个与数字图书馆相关的公共存储库的自述文件。潜在狄利克雷分配(LDA)揭示了27个主题,其中19个主题(70.4%)主要与一个SE4DL阶段有关,8个主题跨越多个阶段。大多数问题涉及数据准备和模型建立阶段。随着时间的推移,11个主题的问题相对比率上升,8个主题的问题相对比率下降。前11个主题的问题接受回答的百分比低于其余问题。自述文件上的LDA揭示了227K存储库的16种不同的应用程序类型。我们将适用于README的LDA模型应用于92,830个SO问题,发现27%的问题与16种DL应用类型有关。问得最多的问题主题因应用程序类型而异,其中一半主要与第二和第三阶段有关。具体地说,开发人员询问的问题最多的主题主要与四种成熟应用程序类型的数据准备(第二)阶段有关,例如${{\SF图像分割}}$Image分段,以及主要与模型设置(第三)阶段有关的主题,四种应用程序类型涉及新出现的方法,例如${{\SF Transfer\Learning}}$TransferLearning。基于我们的发现,我们提取了几个可操作的见解,用于SE4DL研究、实践和教育,例如更好地支持使用训练有素的模型、应用程序类型的特定工具和教材。
The wide use of Deep learning (DL) has not been followed by the corresponding advances in software engineering (SE) for DL. Research shows that developers writing DL software have specific development stages (i.e., SE4DL stages) and face new DL-specific problems. Despite substantial research, it is unclear how DL developers’ SE needs for DL vary over stages, application types, or if they change over time. To help focus research and development efforts on DL-development challenges, we analyze 92,830 Stack Overflow (SO) questions and 227,756 READMEs of public repositories related to DL. Latent Dirichlet Allocation (LDA) reveals 27 topics for the SO questions where 19 (70.4%) topics mainly relate to a single SE4DL stage, and eight topics span multiple stages. Most questions concern Data Preparation and Model Setup stages. The relative rates of questions for 11 topics have increased, for eight topics decreased over time. Questions for the former 11 topics had a lower percentage of accepting an answer than the remaining questions. LDA on README files reveals 16 distinct application types for the 227k repositories. We apply the LDA model fitted on READMEs to the 92,830 SO questions and find that 27% of the questions are related to the 16 DL application types. The most asked question topic varies across application types, with half primarily relating to the second and third stages. Specifically, developers ask the most questions about topics primarily relating to Data Preparation (2nd) stage for four mature application types such as ${{\sf Image\ Segmentation}}$ImageSegmentation, and topics primarily relating to Model Setup (3rd) stage for four application types concerning emerging methods such as ${{\sf Transfer\ Learning}}$TransferLearning. Based on our findings, we distill several actionable insights for SE4DL research, practice, and education, such as better support for using trained models, application-type specific tools, and teaching materials.