A Quantitative Study for the Characterization of Internal Quality of Open-Source Object-Oriented Software
Resumo
Although it is necessary, activities regarding quality assurance and maintenance of software are considered the longest and most complex in software development lifecycle. Taking advantage of this growing trend and of the benefits obtained from open-source initiative, researches on open-source software quality and maintainability have gained renewed interest. The use of robust statistical techniques, such as PLS-SEM to investigate and empirically validate software quality models has also been an efficient alternative to obtain information on open-source software quality. The aim of this study was evaluate and build a conceptual model to characterize the internal quality in Java open-source software in different domains, validated with the PLS-SEM technique. The study results indicate that there are domains with similarities among them and four factors can influence the internal quality of object-oriented software to present better maintainability (Complexity Reduce, Normalized Cohesion, Non-normalized Cohesion, and Increase of the Modularity Level). Besides, we identified some measures are more effective to evaluate internal quality in object-oriented open-source, such as, Fan-out (FOUT), Lack of Cohesion of Methods 2 (LCOM2), Response for Class (RFC), Tight Class Cohesion (TCC), and Loose Class Cohesion (LCC). Thus, this study aims at supporting software engineers and project managers to develop measurement strategies to ensure internal quality of source code and reduce maintenance costs.
Palavras-chave:
Characterization, Internal Quality, Open-Source Object-Oriented Software
Referências
Abuasad, A., & Alsmadi, I. M. (2012). Evaluating the Correlation Between Software Defect and Design Coupling Metrics. In Proceedings of International Conference on Computer, Information and Telecommunication Systems (CITS) (pp. 1-5). Amman: IEEE. doi: 10.1109/CITS.2012.6220374
Aggarwal, K. K., Singh, Y., Kaur, A., & Malhotra, R. (2006). Empirical Study of Object-Oriented Metrics. The Journal of Object Technology, 5(8), 149-173. doi: http://dx.doi.org/10.5381/jot.2006.5.8.a5
Ajila, S. A., & Wu, D. (2007). Empirical study of the effects of open source adoption on software development economics. Journal of Systems and Software, 80(9), 15171529. doi: 10.1016/j.jss.2007.01.011
Al Dallal, J. (2010). Mathematical Validation of Object-Oriented Class Cohesion Metrics. International Journal of Computers, 4(2), 45-52.
Al Dallal, J. (2012). The Impact of Accounting for Special Methods in the Measurement of Object-Oriented Class Cohesion on Refactoring and Fault Prediction Activities. Journal of Systems and Software, 85(5), 1042-1057.
Al Dallal, J. (2013). Object-Oriented Class Maintainability Prediction Using Internal Quality Attributes. Information and Software Technology, 55(11), 2028-2048.
Al Dallal, J., & Briand, L. C. (2010). An Object-Oriented High-Level Design-Based Class Cohesion Metric. Information and Software Technology, 52(12), 1346-1361.
Anda, B. (2007). Assessing Software System Maintainability using Structural Measures and Expert Assessments. In IEEE International Conference on Software Maintenance (pp. 204-213). doi: 10.1109/ICSM.2007.4362633
Badri, M., Drouin, N., & Toure, F. (2012). On Understanding Software Quality
Evolution from a Defect Perspective: A Case Study on an Open Source Software System. In International Conference on Computer Systems and Industrial Informatics (pp. 1-6).
Badri, M., & Toure, F. (2012). An Empirical Analysis of Lack of Cohesion Metrics for Predicting Testability of Classes. Journal of Software Engineering and Applications, 7(5), 513-526. doi: 10.4236/jsea.2012.57060
Bailey, J., Budgen, D., Turner, M., Kitchenham, B., Brereton, P., & Linkman, S. (2007). Evidence Relating to Object-Oriented Software Design: A Survey. In First International Symposium on Empirical Software Engineering and Measurement (ESEM) (pp. 482-484). Madrid: IEEE. doi: 10.1109/ESEM.2007.58
Briand, L. C., Daly, J., & Wuest, J. (1998). A Unified Framework for Cohesion Measurement in Object-oriented Systems. Empirical Software Engineering An International Journal, 3(1), 65-117.
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. Journal of Systems and Software, 51(3), 245-273.
Chidamber, S. R., Darcy, D. P., & Kemerer, C. F. (1998). Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis. IEEE Transactions on Software Engineering, 24(8), 629-639. doi: 10.1109/32.707698
Chin, W. . (1998). The Partial Least Squares Approach for Structural Equation Modeling. In G. A. Marcoulides (Ed.), Modern Methods For Business Research (pp. 295-336). Lawrence Erlbaum Associates.
Emanuel, A. W. R., Wardoyo, R., Istiyanto, J. E., & Mustofa, K. (2011). Statistical Analysis on Software Metrics Affecting Modularity in Open-Source Software. International Journal of Computer Science & Information Technology (IJCSIT), 3(3).
Ferreira, K. A. M., Bigonha, M. A. S., Bigonha, R. S., Mendes, L. F. O., & Almeida, H. C. (2012). Identifying Thresholds for Object-Oriented Software Metrics. Journal System Software , 85(2), 244-257.
Field, A. (2013). Discovering statistics using SPSS (4th ed.). Londres.
Gefen, D., & Straub, D. (2005). A Practical Guide to Factorial Validity Using PLS-Graph: Tutorial and Annotated Example. Communications of the Association for Information Systems, 16(5).
Hair, J. F., Black, W. C., Babin, B. J., Anderson, R. E., & Tatham, R. L. (2009). Multivariate data analysis (7th ed.). Prentice-Hall.
Hair, J. F., Hult, G. T. M., Ringle, C. M., & Sarstedt, M. (2014). A Primer on Partial Least Squares Structural Equation Modeling (PLS-SEM). (T. O. Sage, Ed.).
Hair, J. F., Ringle, C. M., & Sarstedt, M. (2011). PLS-SEM: Indeed a Silver Bullet. Journal of Marketing Theory and Practice, 19(2), 139-151.
ISO/IEC 25010. (2011). Systems and Software Engineering Systems and Software Quality Requirements and Evaluation (SQuaRE) System and Software Quality Models.
Johnson, R. A., & Wichern, D. W. (2007). Applied multivariate statistical analysis (6th ed.). Rio de Janeiro: Prentice Hall.
Kayarvizhy, N., & Kanmani, S. (2011). Analysis of quality of object oriented systems using object oriented metrics. In International Conference on Electronics Computer Technology (ICECT) (pp. 203-206). doi: 10.1109/ICECTECH.2011.5941986
Kwong, K., & Wong, K. (2013). Partial Least Squares Structural Equation Modeling (PLS-SEM) Techniques Using SmartPLS. Marketing Bulletin, 24.
Maroco, J. (2010). Análise estatística com a utilização do SPSS (3rd ed.). Lisboa: Silabo.
Meirelles, P., Santos, C., Miranda, J., Kon, F., Terceiro, A., & Chavez, C. (2010). A Study of the Relationships between Source Code Metrics and Attractiveness in Free Software Projects. In Proceedings of the Brazilian Symposium on Software Engineering (SBES) (pp. 11-20). Salvador, BA. doi: 10.1109/SBES.2010.27
Orenyi, B. A., Basri, S., & Low Tan Jung. (2012). Object-Oriented Software Maintainability Measurement in the Past Decade. In International Conference on Advanced Computer Science Applications and Technologies (pp. 257-262). Kuala Lumpur: IEEE. doi: 10.1109/ACSAT.2012.54
Ping, L. (2010). A Quantitative Approach to Software Maintainability Prediction. In Proceedings of the International Forum on Information Technology and Applications (IFITA) (pp. 105-108). Kunming: IEEE. doi: 10.1109/IFITA.2010.294
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).
Straub, D. W. (1989). Validating Instruments in MIS Research. MIS Q., 13(2), 147-169.
Tian, Y., Chen, C., & Zhang, C. (2008). AODE for Source Code Metrics for Improved Software Maintainability. In Fourth International Conference on Semantics, Knowledge and Grid (pp. 330-335). doi: 10.1109/SKG.2008.43
Tobias, R. D. (1995). An introduction to partial least squares regression. In SUGI Proceedings (pp. 1-8). New York.
Treiblmaier, H., & Filzmoser, P. (2010). Exploratory factor analysis revisited: how robust methods support the detection of hidden multivariate data structures in IS research. Information & Management, 47(4), 197-207. doi: http://dx.doi.org/10.1016/j.im.2010.02.002
Aggarwal, K. K., Singh, Y., Kaur, A., & Malhotra, R. (2006). Empirical Study of Object-Oriented Metrics. The Journal of Object Technology, 5(8), 149-173. doi: http://dx.doi.org/10.5381/jot.2006.5.8.a5
Ajila, S. A., & Wu, D. (2007). Empirical study of the effects of open source adoption on software development economics. Journal of Systems and Software, 80(9), 15171529. doi: 10.1016/j.jss.2007.01.011
Al Dallal, J. (2010). Mathematical Validation of Object-Oriented Class Cohesion Metrics. International Journal of Computers, 4(2), 45-52.
Al Dallal, J. (2012). The Impact of Accounting for Special Methods in the Measurement of Object-Oriented Class Cohesion on Refactoring and Fault Prediction Activities. Journal of Systems and Software, 85(5), 1042-1057.
Al Dallal, J. (2013). Object-Oriented Class Maintainability Prediction Using Internal Quality Attributes. Information and Software Technology, 55(11), 2028-2048.
Al Dallal, J., & Briand, L. C. (2010). An Object-Oriented High-Level Design-Based Class Cohesion Metric. Information and Software Technology, 52(12), 1346-1361.
Anda, B. (2007). Assessing Software System Maintainability using Structural Measures and Expert Assessments. In IEEE International Conference on Software Maintenance (pp. 204-213). doi: 10.1109/ICSM.2007.4362633
Badri, M., Drouin, N., & Toure, F. (2012). On Understanding Software Quality
Evolution from a Defect Perspective: A Case Study on an Open Source Software System. In International Conference on Computer Systems and Industrial Informatics (pp. 1-6).
Badri, M., & Toure, F. (2012). An Empirical Analysis of Lack of Cohesion Metrics for Predicting Testability of Classes. Journal of Software Engineering and Applications, 7(5), 513-526. doi: 10.4236/jsea.2012.57060
Bailey, J., Budgen, D., Turner, M., Kitchenham, B., Brereton, P., & Linkman, S. (2007). Evidence Relating to Object-Oriented Software Design: A Survey. In First International Symposium on Empirical Software Engineering and Measurement (ESEM) (pp. 482-484). Madrid: IEEE. doi: 10.1109/ESEM.2007.58
Briand, L. C., Daly, J., & Wuest, J. (1998). A Unified Framework for Cohesion Measurement in Object-oriented Systems. Empirical Software Engineering An International Journal, 3(1), 65-117.
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. Journal of Systems and Software, 51(3), 245-273.
Chidamber, S. R., Darcy, D. P., & Kemerer, C. F. (1998). Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis. IEEE Transactions on Software Engineering, 24(8), 629-639. doi: 10.1109/32.707698
Chin, W. . (1998). The Partial Least Squares Approach for Structural Equation Modeling. In G. A. Marcoulides (Ed.), Modern Methods For Business Research (pp. 295-336). Lawrence Erlbaum Associates.
Emanuel, A. W. R., Wardoyo, R., Istiyanto, J. E., & Mustofa, K. (2011). Statistical Analysis on Software Metrics Affecting Modularity in Open-Source Software. International Journal of Computer Science & Information Technology (IJCSIT), 3(3).
Ferreira, K. A. M., Bigonha, M. A. S., Bigonha, R. S., Mendes, L. F. O., & Almeida, H. C. (2012). Identifying Thresholds for Object-Oriented Software Metrics. Journal System Software , 85(2), 244-257.
Field, A. (2013). Discovering statistics using SPSS (4th ed.). Londres.
Gefen, D., & Straub, D. (2005). A Practical Guide to Factorial Validity Using PLS-Graph: Tutorial and Annotated Example. Communications of the Association for Information Systems, 16(5).
Hair, J. F., Black, W. C., Babin, B. J., Anderson, R. E., & Tatham, R. L. (2009). Multivariate data analysis (7th ed.). Prentice-Hall.
Hair, J. F., Hult, G. T. M., Ringle, C. M., & Sarstedt, M. (2014). A Primer on Partial Least Squares Structural Equation Modeling (PLS-SEM). (T. O. Sage, Ed.).
Hair, J. F., Ringle, C. M., & Sarstedt, M. (2011). PLS-SEM: Indeed a Silver Bullet. Journal of Marketing Theory and Practice, 19(2), 139-151.
ISO/IEC 25010. (2011). Systems and Software Engineering Systems and Software Quality Requirements and Evaluation (SQuaRE) System and Software Quality Models.
Johnson, R. A., & Wichern, D. W. (2007). Applied multivariate statistical analysis (6th ed.). Rio de Janeiro: Prentice Hall.
Kayarvizhy, N., & Kanmani, S. (2011). Analysis of quality of object oriented systems using object oriented metrics. In International Conference on Electronics Computer Technology (ICECT) (pp. 203-206). doi: 10.1109/ICECTECH.2011.5941986
Kwong, K., & Wong, K. (2013). Partial Least Squares Structural Equation Modeling (PLS-SEM) Techniques Using SmartPLS. Marketing Bulletin, 24.
Maroco, J. (2010). Análise estatística com a utilização do SPSS (3rd ed.). Lisboa: Silabo.
Meirelles, P., Santos, C., Miranda, J., Kon, F., Terceiro, A., & Chavez, C. (2010). A Study of the Relationships between Source Code Metrics and Attractiveness in Free Software Projects. In Proceedings of the Brazilian Symposium on Software Engineering (SBES) (pp. 11-20). Salvador, BA. doi: 10.1109/SBES.2010.27
Orenyi, B. A., Basri, S., & Low Tan Jung. (2012). Object-Oriented Software Maintainability Measurement in the Past Decade. In International Conference on Advanced Computer Science Applications and Technologies (pp. 257-262). Kuala Lumpur: IEEE. doi: 10.1109/ACSAT.2012.54
Ping, L. (2010). A Quantitative Approach to Software Maintainability Prediction. In Proceedings of the International Forum on Information Technology and Applications (IFITA) (pp. 105-108). Kunming: IEEE. doi: 10.1109/IFITA.2010.294
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).
Straub, D. W. (1989). Validating Instruments in MIS Research. MIS Q., 13(2), 147-169.
Tian, Y., Chen, C., & Zhang, C. (2008). AODE for Source Code Metrics for Improved Software Maintainability. In Fourth International Conference on Semantics, Knowledge and Grid (pp. 330-335). doi: 10.1109/SKG.2008.43
Tobias, R. D. (1995). An introduction to partial least squares regression. In SUGI Proceedings (pp. 1-8). New York.
Treiblmaier, H., & Filzmoser, P. (2010). Exploratory factor analysis revisited: how robust methods support the detection of hidden multivariate data structures in IS research. Information & Management, 47(4), 197-207. doi: http://dx.doi.org/10.1016/j.im.2010.02.002
Publicado
24/10/2016
Como Citar
SANTOS, Mariana de Azevedo; BERMEJO, Paulo Henrique de Souza; COSTA, Heitor.
A Quantitative Study for the Characterization of Internal Quality of Open-Source Object-Oriented Software. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 15. , 2016, Maceió.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2016
.
p. 421-435.
DOI: https://doi.org/10.5753/sbqs.2016.15150.