R包同行评审文档中技术缺陷的自动检测与分析
Automatic Detection and Analysis of Technical Debts in Peer-Review Documentation of R Packages
摘要:
技术债(TD)是一个比喻,指由于优先考虑快速交付而不是完美代码而产生的代码相关问题。鉴于TD的减少可以在软件工程生命周期(SDLC)中产生长期的积极影响,TD在文献中得到了广泛的研究。然而,尽管R程序设计语言很受欢迎和使用,但现有的研究很少关注R语言的技术债务。Codabux等人最近的研究[21]发现,R包可以有10种不同的TD类型来分析同行评审文档。然而,这些发现是基于对R包审查评论的小样本的手动分析。在本文中,我们开发了一套机器学习(ML)分类器来自动检测10个TD。性能最好的分类器是基于深度ML模型BERT的,其F1得分为0.71 - 0.91。然后,我们将训练好的BERT模型应用于来自rOpenSci和BioConductor两个平台的所有可用的同行评审问题评论(来自总共1297个R包的13.5K评审评论)。我们对两个R平台中10个TD的流行和演变进行了实证研究。我们发现文件债务是所有类型的TD中最普遍的,而且它也在迅速扩大。我们还发现,R软件包的通用平台(即rOpenSci)更容易TD相比,特定领域的平台(即BioConductor)。我们的实证研究结果可以指导R包文档的未来改进机会。我们的ML模型可用于自动监控R包文档中TD的流行和演变。
英文摘要:
Technical debt (TD) is a metaphor for code-related problems that arise as a result of prioritizing speedy delivery over perfect code. Given that the reduction of TDs can have long-term positive impact in the software engineering life-cycle (SDLC), TDs are studied extensively in the literature. However, very few of the existing research focused on the technical debts of R programming language despite its popularity and usage. Recent research by Codabux et al. [21] finds that R packages can have 10 diverse TD types analyzing peer-review documentation. However, the findings are based on the manual analysis of a small sample of R package review comments. In this paper, we develop a suite of Machine Learning (ML) classifiers to detect the 10 TDs automatically. The best performing classifier is based on the deep ML model BERT, which achieves F1-scores of 0.71 - 0.91. We then apply the trained BERT models on all available peer-review issue comments from two platforms, rOpenSci and BioConductor (13.5K review comments coming from a total of 1297 R packages). We conduct an empirical study on the prevalence and evolution of 10 TDs in the two R platforms. We discovered documentation debt is the most prevalent among all types of TD, and it is also expanding rapidly. We also find that R packages of generic platform (i.e. rOpenSci) are more prone to TD compared to domain-specific platform (i.e. BioConductor). Our empirical study findings can guide future improvements opportunities in R package documentation. Our ML models can be used to automatically monitor the prevalence and evolution of TDs in R package documentation.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。