缺陷报告中的非自然语言构件识别
软件工程
2021-10-05 v1 计算与语言
摘要
缺陷报告是自然语言处理(NLP)的热门研究对象。然而,缺陷报告常包含代码片段、日志输出和堆栈跟踪等构件。这些构件不仅以噪声充斥缺陷报告,而且往往对所用的NLP方法构成实际难题,必须被移除。本文提出一种基于机器学习的方法,以Python实现在行级别将内容分类为自然语言与构件。我们展示了如何利用GitHub问题跟踪器的数据自动生成训练集,并提出了一种针对缺陷报告的自定义预处理方法。我们的模型在人工标注验证集上取得0.95的ROC-AUC与0.93的F1分数,并以0.72秒分类1万行。我们针对外来数据集及针对同一任务的外来R模型进行了交叉评估。我们模型的Python实现与数据集均以开源许可公开提供。
引用
@article{arxiv.2110.01336,
title = {Identifying non-natural language artifacts in bug reports},
author = {Thomas Hirsch and Birgit Hofer},
journal= {arXiv preprint arXiv:2110.01336},
year = {2021}
}
备注
7 pages, to be published in 36th IEEE/ACM International Conference on Automated Software Engineering Workshops (ASEW'21), November 15-19, 2021