中文

R 语言包同行评审文档中技术债务的自动检测与分析

软件工程 2022-01-13 v1

摘要

技术债务(TD)是一个隐喻,指因优先快速交付而非完美代码而引发的代码相关问题。鉴于减少 TD 可对软件工程生命周期(SDLC)产生长期积极影响,文献中对 TD 进行了广泛研究。然而,尽管 R 编程语言广受欢迎且使用广泛,现有研究极少关注 R 语言的技术债务。Codabux 等人[21]近期的研究通过分析同行评审文档发现 R 包可存在 10 种不同类型的 TD。但其发现基于对小样本 R 包评审评论的手动分析。本文中,我们开发了一套机器学习(ML)分类器来自动检测这 10 种 TD。性能最佳的 classifier 基于深度 ML 模型 BERT,其 F1 分数达到 0.71–0.91。随后我们将训练好的 BERT 模型应用于两个平台 rOpenSci 与 BioConductor 上所有可用的同行评审 issue 评论(来自共计 1297 个 R 包的 13.5K 条评审评论)。我们对两个 R 平台上 10 种 TD 的普遍程度与演变开展了实证研究。我们发现文档债务在所有 TD 类型中最普遍,且扩张迅速。我们还发现通用平台(即 rOpenSci)的 R 包比领域特定平台(即 BioConductor)更易出现 TD。我们的实证研究结论可指导 R 包文档未来的改进方向。我们的 ML 模型可用于自动监测 R 包文档中 TD 的普遍程度与演变。

关键词

引用

@article{arxiv.2201.04241,
  title  = {Automatic Detection and Analysis of Technical Debts in Peer-Review Documentation of R Packages},
  author = {Junaed Younus Khan and Gias Uddin},
  journal= {arXiv preprint arXiv:2201.04241},
  year   = {2022}
}

备注

Accepted in SANER 2022