[论文解读] On the Replicability and Reproducibility of Deep Learning in Software Engineering
本文研究了深度学习(DL)在软件工程(SE)领域中的可复现性与可重复性挑战,发现93项被审查的DL研究中仅有10.8%关注了这些问题,且74.2%的研究未共享代码或数据。重新运行四个代表性模型的结果显示,由于优化随机性、收敛性问题以及对词汇表和测试数据规模的敏感性,性能存在显著不稳定性,凸显了在SE DL研究中亟需共享复现包、稳定训练和稳健评估。
Deep learning (DL) techniques have gained significant popularity among software engineering (SE) researchers in recent years. This is because they can often solve many SE challenges without enormous manual feature engineering effort and complex domain knowledge. Although many DL studies have reported substantial advantages over other state-of-the-art models on effectiveness, they often ignore two factors: (1) replicability - whether the reported experimental result can be approximately reproduced in high probability with the same DL model and the same data; and (2) reproducibility - whether one reported experimental findings can be reproduced by new experiments with the same experimental protocol and DL model, but different sampled real-world data. Unlike traditional machine learning (ML) models, DL studies commonly overlook these two factors and declare them as minor threats or leave them for future work. This is mainly due to high model complexity with many manually set parameters and the time-consuming optimization process. In this study, we conducted a literature review on 93 DL studies recently published in twenty SE journals or conferences. Our statistics show the urgency of investigating these two factors in SE. Moreover, we re-ran four representative DL models in SE. Experimental results show the importance of replicability and reproducibility, where the reported performance of a DL model could not be replicated for an unstable optimization process. Reproducibility could be substantially compromised if the model training is not convergent, or if performance is sensitive to the size of vocabulary and testing data. It is therefore urgent for the SE community to provide a long-lasting link to a replication package, enhance DL-based solution stability and convergence, and avoid performance sensitivity on different sampled data.
研究动机与目标
- 调查近年来软件工程(SE)领域中深度学习(DL)研究可复现性与可重复性问题的普遍程度。
- 评估基于DL的SE研究在多大程度上共享源代码和数据,而这些是实现复现所必需的。
- 评估模型不稳定性、收敛性、词汇表大小以及测试数据变化对基于DL的SE研究可重复性的影响。
- 为未来基于DL的SE研究提供可操作的改进建议,以提升可复现性与可重复性。
提出的方法
- 对过去五年内在20本SE期刊和会议上发表的93项DL研究进行了系统性文献综述。
- 分析了复现包(源代码与数据)的可用性,以及研究在多大程度上讨论了可复现性与可重复性问题。
- 基于相同协议但采用不同随机种子和数据划分方式,重新实现并重新评估了来自顶级SE会议的四个代表性DL模型。
- 通过多次运行测量模型性能的稳定性以评估可复现性,并评估词汇表大小与测试数据规模对可重复性的影响。
- 采用自动化评估以减少人为偏差,并确保性能测量的一致性。
- 提出了缓解策略,例如采用基于收敛性的训练而非固定迭代次数,以及引入抽象语法树等稳健特征以降低对数据的敏感性。
实验结果
研究问题
- RQ1近年来基于DL的SE研究在多大程度上报告了可复现性与可重复性问题?
- RQ2基于DL的SE研究在多大程度上共享了源代码与数据,这种共享行为对复现工作有何影响?
- RQ3由于随机初始化与优化过程带来的模型不稳定性,如何影响所报告结果的可复现性?
- RQ4词汇表大小与测试数据规模如何影响SE任务中DL模型性能的可重复性?
- RQ5有哪些实际措施可以提升基于DL的SE研究的可复现性与可重复性?
主要发现
- 在所审查的93项基于DL的SE研究中,仅有10.8%的研究讨论了可复现性或可重复性问题,表明这些科学原则在实践中被广泛忽视。
- 74.2%的研究未共享源代码或数据,严重削弱了复现的可能性。
- 重新运行四个代表性DL模型的结果显示,不同运行之间性能存在显著不稳定性,表明由于优化过程的随机性,导致可复现性较差。
- 模型性能对词汇表大小和测试数据规模高度敏感,不同数据划分下的性能差异显著,严重损害了可重复性。
- 训练过程中收敛水平较低,导致性能不稳定且波动剧烈,进一步损害了可重复性。
- 本研究结论认为,共享复现包、监控收敛过程以及实施稳健评估,是提升基于DL的SE研究科学有效性的关键要素。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。