OOCQM: Object Oriented Code Quality Meter

Source code is core of Software engineering. Source code of good quality can be maintained and upgraded easily. Source code quality can be broken down in factors like maintainability, reusability, change proneness, testability and stability. These quality factors are high level representation of code quality and cannot be measured directly. Research in field of source code quality has proposed enormous amount of code metrics that measure quality in different aspects like complexity, size, coupling, cohesion and abstractness etc. This study proposes a framework named Object Oriented Code Quality Meter (OOCQM) for measuring source code quality of object-oriented code using low level code metrics and high-level quality factors. Code metrics has a proven relationship with quality factors. This relationship is used to calculate a numerical value for quality factors based on metric values. It is observed that all selected metrics has negative correlation with mapped quality factor. Quality factors scores are aggregated and used to depict quality of code in numerical form. A PHP based tool is developed to validate the results. Framework results are compared with Maintainability Index (MI) which is popular quality measure in terms of code maintainability. OOCQM measures code quality correctly as quality results are correct according to MI. This framework provides more detail at individual quality factors level. OOCQM is compared with few other tools developed for quality measurement. Comparison shows that this tool supports more quality factors analysis than other tools.

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

[2]  Jarrett Rosenberg,et al.  Some misconceptions about lines of code , 1997, Proceedings Fourth International Software Metrics Symposium.

[3]  Richard H. Carver,et al.  An Evaluation of the MOOD Set of Object-Oriented Software Metrics , 1998, IEEE Trans. Software Eng..

[4]  Tushar Sharma,et al.  Designite - A Software Design Quality Assessment Tool , 2016, 2016 IEEE/ACM 1st International Workshop on Bringing Architectural Design Thinking Into Developers' Daily Activities (BRIDGE).

[5]  James M. Bieman,et al.  Program slices as an abstraction for cohesion measurement , 1998, Inf. Softw. Technol..

[6]  Elmar Jürgens,et al.  Software quality models: Purposes, usage scenarios and requirements , 2009, 2009 ICSE Workshop on Software Quality.

[7]  Rudolf Ferenc,et al.  Qualitygate SourceAudit: A tool for assessing the technical quality of software , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[8]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[9]  Ford Lumban Gaol,et al.  Object oriented metrics to measure the quality of software upon PHP source code with PHP_depend study case request online system application , 2017, 2017 International Conference on Applied Computer and Communication Technologies (ComCom).

[10]  Chris F. Kemerer,et al.  Towards a metrics suite for object oriented design , 2017, OOPSLA '91.

[11]  Hironori Washizaki,et al.  A Framework for Measuring and Evaluating Program Source Code Quality , 2007, PROFES.

[12]  Carl G. Davis,et al.  A Hierarchical Model for Object-Oriented Design Quality Assessment , 2002, IEEE Trans. Software Eng..

[13]  M. Sangeetha,et al.  Enhancing Internal Quality of the Software Using Intelligence Code Evaluator , 2012, ICRA 2012.

[14]  Carlos Soubervielle-Montalvo,et al.  Source code metrics: A systematic mapping study , 2017, J. Syst. Softw..

[15]  Joseph P. Cavano,et al.  A framework for the measurement of software quality , 1978 .

[16]  Shari Lawrence Pfleeger,et al.  Software Quality: The Elusive Target , 1996, IEEE Softw..

[17]  Barry W. Boehm,et al.  Quantitative evaluation of software quality , 1976, ICSE '76.

[18]  Daru Wahyuningsih,et al.  Comparison of maintainability and flexibility on open source LMS , 2016, 2016 International Seminar on Application for Technology of Information and Communication (ISemantic).