Similar Characteristics of Internal Software Quality Attributes for Object-Oriented Open-Source Software Projects

  • Mariana Santos UFLA
  • Rodrigo Amador UFLA
  • Paulo Henrique de Souza Bermejo UFLA
  • Heitor Costa UFLA

Resumo


Organizations are becoming increasingly concerned about software quality. In object-oriented (OO) systems, quality is characterized by measurements of internal quality attributes. An efficient and proper method to analyze software quality in the absence of fault-prone or defective data labels is cluster analysis. The aim of this paper is to find similarities among project structures by measuring characteristics of internal software quality. In a sample of 150 open-source software systems, we evaluated software using macro and micro categories. Results obtained using cluster analysis indicated that some domains such as Graphics, Games, and Development tend to have similarities in specialization, abstraction, stability, and complexity. These results exploit the ability of OO software metrics to find similar behavior across domains. The results provide an immediate view of the trends and characteristics of internal software quality of Java systems that need to be addressed so that software systems can continue to be maintainable.
Palavras-chave: Object-Oriented, Quality Attributes, Open-Source,Similar Characteristics

Referências

Baggen, R.; Correia, J. P.; Schill, K.; Visser, J. (2012) Standardized Code Quality Benchmarking for Improving Software Maintainability. Software Quality Control 20, 2, pp. 287-307.

Bieman, J.; Kang, B. (1995) Cohesion and Reuse in an Object-Oriented System. In: ACM Symposium on Software Reusability. pp. 259-26.

Briand, L. C.; Bunse, C.; Daly, J. W.; Differing, C. (1997) An Experimental Comparison of the Maintainability of Object-Oriented and Structured Design Documents. In: Empirical Software Engineering. pp. 291-312.

Briand, L. C.; Wüst, J.; Daly, J. W.; Porter, V. D. (2000) Exploring the Relationship Between Design Measures and Software Quality in Object-Oriented Systems. In: Journal of Systems and Software, vol. 51, no. 3, May 2000, pp. 245-273.

Chidamber, S.; Kemerer, C. (1991) Towards a Metrics Suite for Object-Oriented Design. In: Conference on Object-Oriented Programming: Systems, Languages and Applications. Published in SIGPLAN Notices 26 (11), pp. 197-211.

Chidamber, S.; Kemerer, C. (1994) A Metrics Suite for Object-Oriented Design. In: Transactions on Software Engineering 20 (6), pp. 476-493.

Dallal, J. A. (2013) Object-Oriented Class Maintainability Prediction Using Internal Quality Attributes. In: Inf. Software Technology 55, 11. pp. 2028-2048.

Hair, J. F., Black, W. C., Babin, B. J., Anderson, R. E., & Tatham, R. L. (2009) Multivariate Data Analysis, 6th edition, Bookman, 688p.

Hamid, N. F. I. A.; Hasan, M. K. (2010) Industrial-Based Object-Oriented Software Quality Measurement System and Its Importance. In: International Symposium in Information Technology, vol.3, no., pp.1332-1336.

Hitz, M.; Montazeri, B. (1995) Measuring Coupling and Cohesion in Object-Oriented Systems. In: International Symposium on Applied Corporate Computing.

ISO/IEC 25010 (2011) Systems and Software Engineering - Systems and Software Quality Requirements and Evaluation - System and Software Quality Models.

Jiawei, H.; Micheline, K. (2011) Data Mining, Concepts and Techniques. Morgan Kaufmann Publishers. 744p.

Kayarvizhy, N.; Kanmani, S. (2011) Analysis of Quality of Object Oriented Systems Using Object Oriented Metrics. In: International Conf. on Electronics Computer Technology, pp.203-206.

Lee, Y.; Liang, B.; Wu, S.; Wang, F. (1995) Measuring the Coupling and Cohesion of an Object-Oriented Program Based on Information Flow. In: International Conference on Software Quality.

Li, W. (2000) Software Product Metrics. In: Potentials. vol.18, no.5, pp. 24-27.

Li, W.; Henry, S. (1993) Object-Oriented Metrics that Predict Maintainability. In: Journal of Systems and Software 23 (2), pp. 111-122.

Lorenz, M.; Kidd, J. (1994) Object-Oriented Software Metrics. Prentice Hall Object-Oriented Series, Englewood Cliffs. 146p.

MacQueen, J. B. (1967) Some Methods for Classification and Analysis of Multivariate Observations. In: Symposium on Mathematical Statistics and Probability. pp.281-297.

Malviya, A. K.; Yadav, V. K. (2012) Maintenance Activities in Object Oriented Software Systems Using K-Means Clustering Technique: A Review. In: Sixth International Conference on Software Engineering, pp. 1-5.

Martin, R.C.; Martin, M. (2006) Agile Principles, Patterns, and Practices in C#. Prentice Hall.768p.

McCabe, T. J. (1976) A Complexity Measure. In: Trans. on Sw. Engineering, no.4, pp.308-320.

McMillan, C.; Vasquez, M. L.; Poshyvanyk, D.; Grechanik, M. (2011) Categorizing Software Applications for Maintenance. In: International Conf. on Software Maintenance pp.343-352.

Plosch, R.; Gruber, H.; Hentschel, A.; Korner, C.; Pomberger, G.; Schiffer, S.; Saft, M.; Storck,S. (2007) The EMISQ Method - Expert Based Evaluation of Internal Software Quality. In: Software Engineering Workshop, pp. 99-108.

Pressman. R. S. (2009) Software Engineering. McGraw-Hill. 928p.

Romano, D.; Pinzger, M. (2011) Using Source Code Metrics to Predict Change-Prone Java Interfaces. In: International Conference on Software Maintenance, pp. 303-312.

Seliya, N.; Khoshgoftaar, T. M. (2007) Software Quality Analysis of Unlabeled Program Modules with Semi supervised Clustering. In: Transactions on Systems, Man and Cybernetics, Part A: Systems and Humans, vol.37, no.2, pp. 201-211.

Shanthin, A.; Chandrasekaran, R. M. (2012) Applying Machine Learning for Fault Prediction Using Software Metrics. In: International Journal of Advanced Research in Computer Science and Software Engineerin.

Singh, B.; Kannojia, S. P. (2013) A Review on Software Quality Models. In: Intern. Conference on Communication Systems and Network Technologies, pp. 801-80.

Souza, L. B. L. de; Maia, M. de A. (2013) Do Software Categories Impact Coupling Metrics? In: Working Conference on Mining Software Repositories. pp. 217-220.

Tian, Y.; Chen, C.; Zhang, C. (2008) AODE for Source Code Metrics for Improved Software Maintainability. In: Int. Conf. on Semantics, Knowledge and Grid.pp.330-335.

Vaidya, J.; Clifton, C. (2003) Privacy-Preserving K-Means Clustering Over Vertically Partitioned Data. In: Int. Conf. on Knowledge Discovery and Data Mining. pp.206-215.

Yang, B.; Zheng, X.; Guo, P. (2006). Software Metrics Data Clustering for Quality Prediction. In: Computational Intelligence. pp. 959-964.

Zhang, B.; Hsu, M.; Dayal, U. (1999) K-Harmonic Means - A Data Clustering Algorithm. Hewlett-Packard Labs Technical Report HPL-1999-12.

Zhong, S.; Khoshgoftaar, T. M.; Seliya, N. (2004) Analyzing Software Measurement Data with Clustering Techniques. In: Intelligence Systems. vol. 19, no. 2, pp. 20-27.
Publicado
04/08/2014
SANTOS, Mariana; AMADOR, Rodrigo; BERMEJO, Paulo Henrique de Souza; COSTA, Heitor. Similar Characteristics of Internal Software Quality Attributes for Object-Oriented Open-Source Software Projects. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 13. , 2014, Blumenau. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2014 . p. 210-224. DOI: https://doi.org/10.5753/sbqs.2014.15254.