arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2008.05159cs.SE
收藏

KL-SATD的流行、含量及自动检测

Prevalence, Contents and Automatic Detection of KL-SATD

Leevi Rantala, Mika Mäntylä, David Lo

摘要:

当开发人员在源代码注释中使用不同的关键字(如TODO和FIXME)来描述自我承认的技术债务(SATD)时,我们将其称为关键字标记的SATD(KL-SATD)。我们研究了来自33个软件库的KL-SATD,其中包含13,588条KL-SATD评论。我们发现KL-SATD评论在所有评论中的百分比中位数仅为1.52%。我们发现KL-SATD的注释内容包括表示代码更改和不确定性的词语,如remove、fix、maybe和probably。这使得他们与其他评论不同。KL-SATD注释内容类似于先前工作的手动标记的SATD注释。我们使用逻辑Lasso回归的机器学习分类器在检测KL-SATD评论方面具有良好的性能(AUC-ROC 0.88)。最后,我们证明了使用机器学习,我们可以识别当前缺少的评论,但其中应该有一个SATD关键字。自动SATD识别缺少SATD关键字的注释可以取代手动识别注释,从而节省时间和精力。使用KL-SATD提供了一个潜在的引导一个完整的SATD检测器。

英文摘要:

When developers use different keywords such as TODO and FIXME in source code comments to describe self-admitted technical debt (SATD), we refer it as Keyword-Labeled SATD (KL-SATD). We study KL-SATD from 33 software repositories with 13,588 KL-SATD comments. We find that the median percentage of KL-SATD comments among all comments is only 1,52%. We find that KL-SATD comment contents include words expressing code changes and uncertainty, such as remove, fix, maybe and probably. This makes them different compared to other comments. KL-SATD comment contents are similar to manually labeled SATD comments of prior work. Our machine learning classifier using logistic Lasso regression has good performance in detecting KL-SATD comments (AUC-ROC 0.88). Finally, we demonstrate that using machine learning we can identify comments that are currently missing but which should have a SATD keyword in them. Automating SATD identification of comments that lack SATD keywords can save time and effort by replacing manual identification of comments. Using KL-SATD offers a potential to bootstrap a complete SATD detector.

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

↑