Understanding feature requests by leveraging fuzzy method and linguistic analysis

In open software development environment, a large number of feature requests with mixed quality are often posted by stakeholders and usually managed in issue tracking systems. Thoroughly understanding and analyzing the real intents that feature requests imply is a labor-intensive and challenging task. In this paper, we introduce an approach to understand feature requests automatically. We generate a set of fuzzy rules based on natural language processing techniques that classify each sentence in feature requests into a set of categories: Intent, Explanation, Benefit, Drawback, Example and Trivia. Consequently, the feature requests can be automatically structured based on the classification results. We conduct experiments on 2,112 sentences taken from 602 feature requests of nine popular open source projects. The results show that our method can reach a high performance on classifying sentences from feature requests. Moreover, when applying fuzzy rules on machine learning methods, the performance can be improved significantly.

[1]  Harald C. Gall,et al.  ARdoc: app reviews development oriented classifier , 2016, SIGSOFT FSE.

[2]  Peter Willett,et al.  RASCAL: Calculation of Graph Similarity using Maximum Common Edge Subgraphs , 2002, Comput. J..

[3]  David Lo,et al.  Automatic Fine-Grained Issue Report Reclassification , 2014, 2014 19th International Conference on Engineering of Complex Computer Systems.

[4]  Patrick Mäder,et al.  Empirical studies in software and systems traceability , 2017, Empirical Software Engineering.

[5]  Eyke Hüllermeier,et al.  Fuzzy methods in machine learning and data mining: Status and prospects , 2005, Fuzzy Sets Syst..

[6]  Arif Raza,et al.  Semi-automation for ambiguity resolution in Open Source Software requirements , 2014, 2014 IEEE 27th Canadian Conference on Electrical and Computer Engineering (CCECE).

[7]  Andreas Zeller,et al.  It's not a bug, it's a feature: How misclassification impacts bug prediction , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[8]  Beatrice Santorini,et al.  Building a Large Annotated Corpus of English: The Penn Treebank , 1993, CL.

[9]  Barry Boehm,et al.  The Key Roles of Maintainability in an Ontology for System Qualities , 2016 .

[10]  Jane Cleland-Huang,et al.  Guidelines for Benchmarking Automated Software Traceability Techniques , 2015, 2015 IEEE/ACM 8th International Symposium on Software and Systems Traceability.

[11]  Stephen V. Stehman,et al.  Selecting and interpreting measures of thematic classification accuracy , 1997 .

[12]  Mehrdad Sabetzadeh,et al.  Automated Extraction and Clustering of Requirements Glossary Terms , 2017, IEEE Transactions on Software Engineering.

[13]  Fabrizio Sebastiani,et al.  Machine learning in automated text categorization , 2001, CSUR.

[14]  อนิรุธ สืบสิงห์,et al.  Data Mining Practical Machine Learning Tools and Techniques , 2014 .

[15]  Thomas Zimmermann,et al.  The Work Life of Developers: Activities, Switches and Perceived Productivity , 2017, IEEE Transactions on Software Engineering.

[16]  Terry Winograd,et al.  Understanding computers and cognition - a new foundation for design , 1987 .

[17]  Hinrich Schütze,et al.  Introduction to information retrieval , 2008 .

[18]  Jane Cleland-Huang,et al.  Personas in the middle: automated support for creating personas as focal points in feature gathering forums , 2014, ASE.

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

[20]  Thomas Zimmermann,et al.  Extracting structural information from bug reports , 2008, MSR '08.

[21]  Andrea De Lucia,et al.  Using IR methods for labeling source code artifacts: Is it worthwhile? , 2012, 2012 20th IEEE International Conference on Program Comprehension (ICPC).

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

[23]  Brad A. Myers,et al.  A Linguistic Analysis of How People Describe Software Problems , 2006, Visual Languages and Human-Centric Computing (VL/HCC'06).

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

[25]  Christopher D. Manning,et al.  Introduction to Information Retrieval , 2010, J. Assoc. Inf. Sci. Technol..

[26]  Xavier Franch,et al.  Software Release Planning , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[27]  David Lo,et al.  Automatic recommendation of API methods from feature requests , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[28]  Jane Cleland-Huang,et al.  Automated support for managing feature requests in open forums , 2009, CACM.

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

[30]  Tao Xie,et al.  An Empirical Study on Evolution of API Documentation , 2011, FASE.

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

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

[33]  Barbara Paech,et al.  Software Feature Request Detection in Issue Tracking Systems , 2016, 2016 IEEE 24th International Requirements Engineering Conference (RE).

[34]  Barry W. Boehm,et al.  Is It a New Feature or Simply “Don't Know Yet”?: On Automated Redundant OSS Feature Requests Identification , 2016, 2016 IEEE 24th International Requirements Engineering Conference (RE).

[35]  Martin P. Robillard,et al.  How API Documentation Fails , 2015, IEEE Software.

[36]  Gerardo Canfora,et al.  Mining source code descriptions from developer communications , 2012, 2012 20th IEEE International Conference on Program Comprehension (ICPC).

[37]  Christopher D. Manning,et al.  The Stanford Typed Dependencies Representation , 2008, CF+CDPE@COLING.

[38]  Gabriele Bavota,et al.  User reviews matter! Tracking crowdsourced reviews to support evolution of successful apps , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[39]  Thomas Zimmermann,et al.  What Makes a Good Bug Report? , 2008, IEEE Transactions on Software Engineering.

[40]  Das Amrita,et al.  Mining Association Rules between Sets of Items in Large Databases , 2013 .