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 community 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 modeling the original dialog to the graph-structured dialog and leveraging the graph neural network to learn the contextual information; 3) Synthesize the bug reports by utilizing the TextCNN model and Transfer Learning network to classify the sentences into three groups: 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 F1 of 74.21%, improving the best baseline by 10.37%; and for bug report synthesis task, BugListener could classify the OB, EB, and SR sentences with the F1 of 67.37%, 87.14%, and 65.03%, improving the best baselines by 7.21%, 7.38%, 5.30%, respectively. A human evaluation also confirms the effectiveness of BugListener 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.
翻译:在基于社区的软件开发中,开发者经常依靠现场聊天来讨论日常开发任务中遇到的突发错误/错误。然而,由于在现场聊天数据中互换对话框的吵吵性质,准确记录这种知识仍然是一项艰巨的任务。在本文中,我们首先制定从社区现场聊天中识别和合成错误报告的任务,并提议一种名为“BugListener”的新颖方法来应对挑战。具体地说,BugListener自动将三个子任务:1)使用Feed-Forward神经网络从大规模聊天日志中分离对话框;2)通过将原始对话框建成图形结构对话框并利用图形神经网络学习背景信息,从分离的对话框中找出错误报告,3)通过使用TextCNN模型和转移学习网络将错误报告分为三类:观察到的行为(Ob)、预期行为(EB)以及复制错误(SR),在6个开放源项目中评估了Buglisher 评估了错误报告的有效性;2)通过将原始对话框的原始对话框、Blickrlicklick报告分别用于BBBBB的升级,这些平均报告,这些基准报告显示:Bblickslick 的升级报告在10的升级报告中可以实现。