ISPY: Automatic Issue-Solution Pair Extraction from Community Live Chats

Collaborative live chats are gaining popularity as a development communication tool. In community live chatting, developers are likely to post issues they encountered (e.g., setup issues and compile issues), and other developers respond with possible solutions. Therefore, community live chats contain rich sets of information for reported issues and their corresponding solutions, which can be quite useful for knowledge sharing and future reuse if extracted and restored in time. However, it remains challenging to accurately mine such knowledge due to the noisy nature of interleaved dialogs in live chat data. In this paper, we first formulate the problem of issue-solution pair extraction from developer live chat data, and propose an automated approach, named ISPY, based on natural language processing and deep learning techniques with customized enhancements, to address the problem. Specifically, ISPY automates three tasks: 1) Disentangle live chat logs, employing a feedforward neural network to disentangle a conversation history into separate dialogs automatically; 2) Detect dialogs discussing issues, using a novel convolutional neural network (CNN), which consists of a BERT-based utterance embedding layer, a context-aware dialog embedding layer, and an output layer; 3) Extract appropriate utterances and combine them as corresponding solutions, based on the same CNN structure but with different feeding inputs. To evaluate ISPY, we compare it with six baselines, utilizing a dataset with 750 dialogs including 171 issue-solution pairs and evaluate ISPY from eight open source communities. The results show that, for issue-detection, our approach achieves the F1 of 76%, and outperforms all baselines by 30%. Our approach achieves the F1 of 63% for solution-extraction and outperforms the baselines by 20%. Furthermore, we apply ISPY on three new communities to extensively evaluate ISPY’s practical usage. Moreover, we publish over 30K issue-solution pairs extracted from 11 communities. We believe that ISPY can facilitate community-based software development by promoting knowledge sharing and shortening the issue-resolving process.

[1]  Christian Bird,et al.  Automatically Recommending Peer Reviewers in Modern Code Review , 2016, IEEE Transactions on Software Engineering.

[2]  Yoon Kim,et al.  Convolutional Neural Networks for Sentence Classification , 2014, EMNLP.

[3]  Geoffrey E. Hinton,et al.  ImageNet classification with deep convolutional neural networks , 2012, Commun. ACM.

[4]  Gerard Salton,et al.  Term-Weighting Approaches in Automatic Text Retrieval , 1988, Inf. Process. Manag..

[5]  Isabelle Boutet,et al.  Emojis influence emotional communication, social attributions, and information processing , 2021, Comput. Hum. Behav..

[6]  Heather A. Johnson Slack , 2018, Journal of the Medical Library Association : JMLA.

[7]  Qing Wang,et al.  A first look at developers’ live chat on Gitter , 2021, ESEC/SIGSOFT FSE.

[8]  Neil Yorke-Smith,et al.  Detection of Imperative and Declarative Question-Answer Pairs in Email Conversations , 2009, IJCAI.

[9]  Ming Zhou,et al.  Extracting Chatbot Knowledge from Online Discussion Forums , 2007, IJCAI.

[10]  Tung Thanh Nguyen,et al.  Mining User Opinions in Mobile App Reviews: A Keyword-Based Approach (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[11]  Collin McMillan,et al.  Detecting User Story Information in Developer-Client Conversations to Generate Extractive Summaries , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE).

[12]  Cong Sun,et al.  Transfer Learning in Biomedical Named Entity Recognition: An Evaluation of BERT in the PharmaCoNER task , 2019, EMNLP.

[13]  Tao Yu,et al.  Online Conversation Disentanglement with Pointer Networks , 2020, EMNLP.

[14]  Bernd Brügge,et al.  Rationale in Development Chat Messages: An Exploratory Study , 2017, 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR).

[15]  Tung Thanh Nguyen,et al.  Phrase-based extraction of user opinions in mobile app reviews , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[16]  Quan Liu,et al.  End-to-End Transition-Based Online Dialogue Disentanglement , 2020, IJCAI.

[17]  Sriparna Saha,et al.  Emoji Helps! A Multi-modal Siamese Architecture for Tweet User Verification , 2020, Cognitive Computation.

[18]  Frank van Harmelen,et al.  A semantic web primer , 2004 .

[19]  Paige Rodeghero,et al.  "How Was Your Weekend?" Software Development Teams Working From Home During COVID-19 , 2021, 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE).

[20]  Zhenhua Ling,et al.  DialBERT: A Hierarchical Pre-Trained Model for Conversation Disentanglement , 2020, arXiv.org.

[21]  Hui Guo,et al.  Caspar: Extracting and Synthesizing User Stories of Problems from App Reviews , 2020, 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE).

[22]  Kevin P. Murphy,et al.  Machine learning - a probabilistic perspective , 2012, Adaptive computation and machine learning series.

[23]  Simon Haykin,et al.  Neural Networks: A Comprehensive Foundation (3rd Edition) , 2007 .

[24]  Heiner Stuckenschmidt,et al.  Handbook on Ontologies , 2004, Künstliche Intell..

[25]  Bernd Brügge,et al.  How do developers discuss rationale? , 2018, 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[26]  Abram Hindle,et al.  Mining StackOverflow to Filter Out Off-Topic IRC Discussion , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[27]  Yonghui Wu,et al.  Exploring the Limits of Language Modeling , 2016, ArXiv.

[28]  David Lo,et al.  Technical Q8A Site Answer Recommendation via Question Boosting , 2020, ACM Trans. Softw. Eng. Methodol..

[29]  Alexander Serebrenik,et al.  Why Developers Are Slacking Off: Understanding How Software Teams Use Slack , 2016, CSCW Companion.

[30]  Michael R. Lyu,et al.  Online App Review Analysis for Identifying Emerging Issues , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[31]  Kathleen McKeown,et al.  Detection of Question-Answer Pairs in Email Conversations , 2004, COLING.

[32]  Iyad Alazzam,et al.  Automatic Bug Triage in Software Systems Using Graph Neighborhood Relations for Feature Augmentation , 2020, IEEE Transactions on Computational Social Systems.

[33]  Ahmed E. Hassan,et al.  Studying the use of developer IRC meetings in open source projects , 2009, 2009 IEEE International Conference on Software Maintenance.

[34]  Ewan Klein,et al.  NLTK , 2020, Python for Linguists.

[35]  Marouane Kessentini,et al.  Multi-objective code reviewer recommendations: balancing expertise, availability and collaborations , 2020, Automated Software Engineering.

[36]  Mira Mezini,et al.  Semi-automatically extracting FAQs to improve accessibility of software development knowledge , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[37]  Giuseppe Carenini,et al.  Chat Disentanglement: Identifying Semantic Reply Relationships with Random Forests and Recurrent Neural Networks , 2017, IJCNLP.

[38]  Tie-Yan Liu,et al.  LightGBM: A Highly Efficient Gradient Boosting Decision Tree , 2017, NIPS.

[39]  Ming-Wei Chang,et al.  BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding , 2019, NAACL.

[40]  Lori Pollock,et al.  Software-related Slack Chats with Disentangled Conversations , 2020, 2020 IEEE/ACM 17th International Conference on Mining Software Repositories (MSR).

[41]  Lukasz Kaiser,et al.  Attention is All you Need , 2017, NIPS.

[42]  Andrew McCallum,et al.  A comparison of event models for naive bayes text classification , 1998, AAAI 1998.

[43]  W. Bruce Croft,et al.  User Intent Prediction in Information-seeking Conversations , 2019, CHIIR.

[44]  Ahmed E. Hassan,et al.  On the use of Internet Relay Chat (IRC) meetings by developers of the GNOME GTK+ project , 2009, 2009 6th IEEE International Working Conference on Mining Software Repositories.

[45]  Jeffrey Pennington,et al.  GloVe: Global Vectors for Word Representation , 2014, EMNLP.

[46]  Yoshua Bengio,et al.  Neural Machine Translation by Jointly Learning to Align and Translate , 2014, ICLR.

[47]  Nicholas A. Kraft,et al.  Exploratory Study of Slack Q&A Chats as a Mining Source for Software Engineering Tools , 2019, 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR).

[48]  Jatin Ganhotra,et al.  A Large-Scale Corpus for Conversation Disentanglement , 2018, ACL.

[49]  Marouane Kessentini,et al.  Considering dependencies between bug reports to improve bugs triage , 2021, Autom. Softw. Eng..

[50]  Matt J. Kusner,et al.  From Word Embeddings To Document Distances , 2015, ICML.

[51]  Ying Zou,et al.  An Empirical Study of Developer Discussions in the Gitter Platform , 2020, ACM Trans. Softw. Eng. Methodol..

[52]  Lori Pollock,et al.  Finding help with programming errors: An exploratory study of novice software engineers' focus in stack overflow posts , 2020, J. Syst. Softw..

[53]  Elena Kochkina,et al.  Cost-Sensitive BERT for Generalisable Sentence Classification on Imbalanced Data , 2020, EMNLP.

[54]  Hao Tian,et al.  ERNIE 2.0: A Continual Pre-training Framework for Language Understanding , 2019, AAAI.

[55]  Harald C. Gall,et al.  Development Emails Content Analyzer: Intention Mining in Developer Discussions (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[56]  Martin Popel,et al.  Perplexity of n-Gram and Dependency Language Models , 2010, TSD.

[57]  Young-In Song,et al.  Finding question-answer pairs from online forums , 2008, SIGIR '08.

[58]  David Lo,et al.  Automating Intention Mining , 2020, IEEE Transactions on Software Engineering.

[59]  Michael R. Lyu,et al.  Emerging App Issue Identification from User Feedback: Experience on WeChat , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP).

[60]  Mingyang Li,et al.  Detection of Hidden Feature Requests from Massive Chat Messages via Deep Siamese Network , 2020, 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE).

[61]  W. Bruce Croft,et al.  Analyzing and Characterizing User Intent in Information-seeking Conversations , 2018, SIGIR.