Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Cavano, J.P., McCall, J.A.: A framework for the measurement of software quality. In: ACM SIGSOFT Software Engineering Notes, vol. 3, no. 5, pp. 133–139 (1978)
Kitchenham, B., Pfleeger, S.L.: Software quality: the elusive target. IEEE Softw. 13(1), 12–21 (1996)
Deissenboeck, F., Juergens, E., Lochmann, K., Wagner, S.: Software quality models: purposes, usage scenarios and requirements. In: Proceedings of International Conference on Software Engineering, pp. 9–14 (2009)
Nuñez-Varela, A.S., Pérez-Gonzalez, H.G., MartÃnez-Perez, F.E., Soubervielle-Montalvo, C.: Source code metrics: a systematic mapping study. J. Syst. Softw. 128, 164–197 (2017)
Boehm, B.W., Brown, J.R., Lipow, M.: Quantitative evaluation of software quality. In: Proceedings of 2nd International Conference on Software Engineering, pp. 592–605 (1976)
Rosenberg, J.: Some misconceptions about lines of code. In: Proceedings of Fourth International Software Metrics Symposium, pp. 137–142 (1997)
Of, A., Designs, T.: Halstead’s Metrics: Analysis of Their Designs, vol. 1, pp. 145–159 (1977)
McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. SE-2(4), 308–320 (1976)
Chidamber, S.R., Kemerer, C.F., Chidamber, S.R., Kemerer, C.F.: Towards a metrics suite for object oriented design. In: ACM SIGPLAN Notices, vol. 26, no. 11, pp. 197–211 (Nov 1991)
Harrison, R., Counsell, S.J., Nithi, R.V.: An evaluation of the MOOD set of object-oriented software metrics. IEEE Trans. Softw. Eng. 24(6), 491–496 (1998)
Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. IEEE Trans. Softw. Eng. 28(1), 4–17 (2002)
Welker, K.D.: The software maintain ability index revisited. CrossTalk 14, 18–21 (2001)
Anggrainingsih, R., Johannanda, B.O.P., Kuswara, A.P., Wahyuningsih, D., Rejekiningsih, T.: Comparison of maintainability and flexibility on open source LMS. In: Proceedings of 2016 International Seminar on Application for Technology of Information and Communication. ISEMANTIC 2016, pp. 273–277 (2017)
Li, W., Henry, S.: Object-oriented. J. Syst. Softw. 23(2), 111–122 (1993)
Ott, Linda M., Bieman, James M.: Program slices as an abstraction for cohesion measurement. Inf. Softw. Technol. 40(11-12), 691–699 (1998)
Washizaki, H., Namiki, R., Fukuoka, T., Harada, Y., Watanabe, H.: A framework for measuring and evaluating program source code quality. In: International Conference on Product Focused Software Process Improvement, pp. 284–299 (2007)
Sangeetha, M., Arumugam, C., Senthil Kumar, K.M., Alagirisamy, P.S.: Enhancing internal quality of the software using intelligence code evaluator. In: Communications in Computer and Information Science (CCIS), vol. 330, pp. 502–510 (2012)
Sharma, T.: Designite—A Software Design Quality Assessment Tool, pp. 1–4 (2016)
Bakota, T., Ladányi, G., Ferenc, R.: QualityGate Source Audit: A Tool for Assessing the Technical Quality of Software, pp. 440–445 (2014)
Randriatoamanana, R.: Object Oriented Metrics to measure the quality of software upon PHP source code with PHP_depend study case request online system application, pp. 2–6 (2017)
CodeMR Follow: CodeMR Static Code Analysis Tool. LinkedIn SlideShare, 14 June 2018. www.slideshare.net/codemr/codemr-software-quality
Lépine, J.-F.: PhpMetrics: Static Analyzys for PHP. Of Php. www.phpmetrics.org/documentation/index.html
Iqbal, T., Iqbal, M., Asad, M., Khan, A.: A Source Code Quality Analysis Approach
Arvanitou, E.M., Ampatzoglou, A., Chatzigeorgiou, A., Galster, M., Avgeriou, P., Arvanitou, E.M.: PT US CR. J. Syst. Softw. (2017)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Shaheen, A., Qamar, U., Nazir, A., Bibi, R., Ansar, M., Zafar, I. (2020). OOCQM: Object Oriented Code Quality Meter. In: Lee, R. (eds) Computational Science/Intelligence and Applied Informatics. CSII 2019. Studies in Computational Intelligence, vol 848. Springer, Cham. https://doi.org/10.1007/978-3-030-25225-0_11
Download citation
DOI: https://doi.org/10.1007/978-3-030-25225-0_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-25224-3
Online ISBN: 978-3-030-25225-0
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)