Characterizing Software Maintainability in Issue Summaries using a Fuzzy Classifier

Despite the importance of software maintainability in the life cycle of software systems, accurate measurement remains difficult to achieve. Previous work has shown how bug reports can be classified by expressed quality concerns which can give insight into maintainability across domains and over time. However, the amount of manual effort required to produce such classifications limits its usage. In this paper, we build a fuzzy classifier with linguistic patterns to automatically map issue summaries into the seven subgroup SQ classifications provided in a software maintainability ontology. We investigate how long it takes to generate a stable set of rules and evaluate the performance of the rule set on both rule generating and nonrule generating projects. The results validate the generalizability of the fuzzy classifier in correctly and automatically identifying the subgroup SQ classifications from given issue summaries. This provides a building block for analyzing project maintainability on a larger scale.

[1]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[2]  Joakim Nivre,et al.  Universal Stanford dependencies: A cross-linguistic typology , 2014, LREC.

[3]  Bing Liu,et al.  Mining and summarizing customer reviews , 2004, KDD.

[4]  Dan Klein,et al.  Feature-Rich Part-of-Speech Tagging with a Cyclic Dependency Network , 2003, NAACL.

[5]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[6]  Paul Klint,et al.  Guidelines for software portability , 1978, Softw. Pract. Exp..

[7]  Kari Laitinen,et al.  Estimating understandability of software documents , 1996, SOEN.

[8]  Barry Boehm,et al.  Evaluating Human-Assessed Software Maintainability Metrics , 2016 .

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

[10]  野崎 賢,et al.  Generating Fuzzy Rules from Numerical Data , 1995 .

[11]  Yu Zhou,et al.  Combining text mining and data mining for bug report classification , 2016, J. Softw. Evol. Process..

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

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

[14]  Westley Weimer,et al.  Learning a Metric for Code Readability , 2010, IEEE Transactions on Software Engineering.

[15]  Gabriele Bavota,et al.  Automatically assessing code understandability: How far are we? , 2017, 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE).

[16]  Sandeep K. Singh,et al.  An Automated approach for Bug Categorization using Fuzzy Logic , 2015, ISEC.

[17]  Tim Menzies,et al.  Automated severity assessment of software defect reports , 2008, 2008 IEEE International Conference on Software Maintenance.

[18]  Ricardo Valerdi,et al.  Role of Software Readability on Software Development Cost , 2006 .

[19]  Philippe Dague,et al.  Generalizing diagnosability definition and checking for open systems: a Game structure approach , 2010 .

[20]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

[21]  James D. Mooney,et al.  Issues in the Specification and Measurement of Software Portability , 2001 .

[22]  Barry W. Boehm,et al.  How Do Defects Hurt Qualities? An Empirical Study on Characterizing a Software Maintainability Ontology in Open Source Software , 2018, 2018 IEEE International Conference on Software Quality, Reliability and Security (QRS).

[23]  Yuming Zhou,et al.  Predicting the maintainability of open source software using design metrics , 2008, Wuhan University Journal of Natural Sciences.

[24]  Ruchika Malhotra,et al.  Mining defect reports for predicting software maintenance effort , 2015, 2015 International Conference on Advances in Computing, Communications and Informatics (ICACCI).

[25]  Santanu Kumar Rath,et al.  Using Source Code Metrics and Multivariate Adaptive Regression Splines to Predict Maintainability of Service Oriented Software , 2017, 2017 IEEE 18th International Symposium on High Assurance Systems Engineering (HASE).

[26]  Barry W. Boehm,et al.  Why Is It Important to Measure Maintainability and What Are the Best Ways to Do It? , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[27]  David S. Rosenblum,et al.  A framework for characterization and analysis of software system scalability , 2007, ESEC-FSE '07.

[28]  Uwe Fink,et al.  Performance Solutions A Practical Guide To Creating Responsive Scalable Software , 2016 .