Speech-acts based analysis for requirements discovery from online discussions

Abstract Online discussions about software applications and services that take place on web-based communication platforms represent an invaluable knowledge source for diverse software engineering tasks, including requirements elicitation. The amount of research work on developing effective tool-supported analysis methods is rapidly increasing, as part of the so called software analytics. Textual messages in App store reviews, tweets, online discussions taking place in mailing lists and user forums, are processed by combining natural language techniques to filter out irrelevant data; text mining and machine learning algorithms to classify messages into different categories, such as bug report and feature request. Our research objective is to exploit a linguistic technique based on speech-acts for the analysis of online discussions with the ultimate goal of discovering requirements-relevant information. In this paper, we present a revised and extended version of the speech-acts based analysis technique, which we previously presented at CAiSE 2017, together with a detailed experimental characterisation of its properties. Datasets used in the experimental evaluation are taken from a widely used open source software project (161120 textual comments), as well as from an industrial project in the home energy management domain. We make them available for experiment replication purposes. On these datasets, our approach is able to successfully classify messages into Feature/Enhancement and Other, with F-measure of 0.81 and 0.84 respectively. We also found evidence that there is an association between types of speech-acts and categories of issues, and that there is correlation between some of the speech-acts and issue priority, thus motivating further research on the exploitation of our speech-acts based analysis technique in semi-automated multi-criteria requirements prioritisation.

[1]  Wendy G. Lehnert,et al.  Information extraction , 1996, CACM.

[2]  A. Koller,et al.  Speech Acts: An Essay in the Philosophy of Language , 1969 .

[3]  Leif Singer,et al.  Software engineering at the speed of light: how developers stay current using twitter , 2014, ICSE.

[4]  Mohamed Ibrahim,et al.  Prioritizing User Feedback from Twitter: A Survey Report , 2017, 2017 IEEE/ACM 4th International Workshop on CrowdSourcing in Software Engineering (CSI-SE).

[5]  Harald C. Gall,et al.  Analyzing reviews and code of mobile apps for better release planning , 2017, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[6]  Michael Friendly,et al.  Visualizing Categorical Data , 2009, Encyclopedia of Database Systems.

[7]  K. Bach,et al.  Linguistic Communication and Speech Acts , 1983 .

[8]  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).

[9]  Miryung Kim,et al.  Data Scientists in Software Teams: State of the Art and Challenges , 2018, IEEE Transactions on Software Engineering.

[10]  Jihie Kim,et al.  An intelligent discussion-bot for answering student queries in threaded discussions , 2006, IUI '06.

[11]  Harald C. Gall,et al.  DECA: Development Emails Content Analyzer , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[12]  Nitesh V. Chawla,et al.  SMOTE: Synthetic Minority Over-sampling Technique , 2002, J. Artif. Intell. Res..

[13]  Walid Maalej,et al.  Bug report, feature request, or simply praise? On automatically classifying app reviews , 2015, 2015 IEEE 23rd International Requirements Engineering Conference (RE).

[14]  Anna Perini,et al.  An ontology of online user feedback in software engineering , 2015, Appl. Ontology.

[15]  Peter Sawyer,et al.  Canary: Extracting Requirements-Related Information from Online Discussions , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[16]  Harald C. Gall,et al.  How can i improve my app? Classifying user reviews for software maintenance and evolution , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[17]  Norbert Seyff,et al.  A Needle in a Haystack: What Do Twitter Users Say about Software? , 2016, 2016 IEEE 24th International Requirements Engineering Conference (RE).

[18]  Grant Williams,et al.  Mining Twitter Feeds for Software User Requirements , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[19]  Mihai Surdeanu,et al.  The Stanford CoreNLP Natural Language Processing Toolkit , 2014, ACL.

[20]  Anna Perini,et al.  Exploiting User Feedback in Tool-Supported Multi-criteria Requirements Prioritization , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[21]  Yuanyuan Zhang,et al.  A Survey of App Store Analysis for Software Engineering , 2017, IEEE Transactions on Software Engineering.

[22]  Anna Perini,et al.  Crowdsourcing for Software Engineering The Crowd in Requirements Engineering The Landscape and Challenges , 2017 .

[23]  Miryung Kim,et al.  The Emerging Role of Data Scientists on Software Development Teams , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[24]  Jieming Zhu,et al.  PAID: Prioritizing app issues for developers by tracking user reviews over versions , 2015, 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE).

[25]  Anna Perini,et al.  Analysis of Online Discussions in Support of Requirements Discovery , 2017, CAiSE.

[26]  Carlo Strapparava,et al.  Dialogue Act Classification Exploiting Lexical Semantics , 2011 .

[27]  Pekka Abrahamsson,et al.  Automated Feature Identification in Web Applications , 2013, SWQD.

[28]  David Lo,et al.  What does software engineering community microblog about? , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[29]  Gabriele Bavota,et al.  Release Planning of Mobile Apps Based on User Reviews , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[30]  Andreas Stolcke,et al.  Dialogue act modeling for automatic tagging and recognition of conversational speech , 2000, CL.

[31]  Anna Perini,et al.  Towards Supporting the Analysis of Online Discussions in OSS Communities: A Speech-Act Based Approach , 2014, CAiSE Forum.

[32]  Harald C. Gall,et al.  What would users change in my app? summarizing app reviews for recommending software changes , 2016, SIGSOFT FSE.

[33]  Bastin Tony Roy Savarimuthu,et al.  Approaches for prioritizing feature improvements extracted from app reviews , 2016, EASE.

[34]  Anna Perini,et al.  Discovering Speech Acts in Online Discussions: A Tool-supported method , 2014, CAiSE.

[35]  Norbert Seyff,et al.  An exploratory study of Twitter messages about software applications , 2017, Requirements Engineering.

[36]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[37]  Ning Chen,et al.  AR-miner: mining informative reviews for developers from mobile app marketplace , 2014, ICSE.

[38]  Kristina Winbladh,et al.  Analysis of user comments: An approach for software requirements evolution , 2013, 2013 35th International Conference on Software Engineering (ICSE).