  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.
