一句话:提出 BugListener,用神经网络与迁移学习从社区实时聊天中识别并合成缺陷报告。
社区开发中,开发者常在实时聊天里讨论紧急缺陷,但交错且含噪的对话使缺陷知识难以准确记录。本文形式化该问题为从社区实时聊天中识别并合成缺陷报告,提出 BugListener。方法分三步:用前馈神经网络从聊天日志中解缠对话;用图神经网络结合上下文识别缺陷报告对话;用迁移学习将句子分类为观察行为、期望行为与复现步骤以合成报告。在六个开源项目上评估:缺陷报告识别平均 F1 为 77.74%,较最佳基线提升 12.96%;三类句子分类 F1 分别为 84.62%、71.46%、73.13%,提升 9.32%、12.21%、10.91%。人工评估也验证了生成报告的相关性和准确性。
In community-based software development, developers frequently rely on live-chatting to discuss emergent bugs/errors they encounter in daily development tasks. However, it remains a challenging task to accurately record such knowledge due to the noisy nature of interleaved dialogs in live chat data. In this paper, we first formulate the task of identifying and synthesizing bug reports from commu-nity live chats, and propose a novel approach, named BugListener, to address the challenges. Specifically, BugListener automates three sub-tasks: 1) Disentangle the dialogs from massive chat logs by using a Feed-Forward neural network; 2) Identify the bug-report dialogs from separated dialogs by leveraging the Graph neural net-work to learn the contextual information; 3) Synthesize the bug reports by utilizing Transfer Learning techniques to classify the sentences into: observed behaviors (OB), expected behaviors (EB), and steps to reproduce the bug (SR). BugListener is evaluated on six open source projects. The results show that: for bug report identification, BugListener achieves the average Fl of 77.74%, im-proving the best baseline by 12.96%; and for bug report synthesis task, BugListener could classify the OB, EB, and SR sentences with the F1 of 84.62%, 71.46%, and 73.13%, improving the best baselines by 9.32%,12.21%,10.91%, respectively. A human evaluation study also confirms the effectiveness of Bug Listener in generating relevant and accurate bug reports. These demonstrate the significant potential of applying BugListener in community-based software development, for promoting bug discovery and quality improvement.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{abs-2204-09368,
title = {BugListener},
author = {Lin Shi and Fangwen Mu and Yumin Zhang and Ye Yang and Junjie Chen and Xiao Chen and Hanzhi Jiang and Ziyou Jiang and Qing Wang},
booktitle = {ICSE},
year = {2022},
doi = {10.1145/3510003.3510108}
}