Assessing Programming Difficulty and Effort: Statistical Correlations with the Index of Internal Effort

  • Alisson Antônio de Oliveira IFPR

Resumo


Code metrics are essential variables for evaluating complexity and effort in different development contexts. However, there is a gap in comprehensive measurement of complexity and team effort. This study uses a dataset of 46 codes from the Brazilian Informatics Olympiad to investigate correlations between metrics such as difficulty, number of lines of code, cyclomatic complexity, and the Index of Internal Effort (IIE), a generic framework for measuring Explicit Intellectual Activities (EIA). Statistical results revealed positive and significant correlations among the studied metrics, including the IIE, validating its applicability as a complexity indicator. This study contributes to the understanding of perceived complexity in programming competitions, suggesting practical applications in creating more balanced challenges and managing software projects, based on a new framework as a complexity metric.

Palavras-chave: code metrics, complexity, effort, programming, internal effort index

Referências

Ardito, L., Coppola, R., Barbato, L. and Verga, D. (2020) “A Tool-Based Perspective on Software Code Maintainability Metrics: A Systematic Literature Review”, Scientific Programming, 2020, 1–26. DOI: 10.1155/2020/8840389

Elnaffar, S. (2016) “Using software metrics to predict the difficulty of code writing questions”. 2016 IEEE Global Engineering Education Conference (EDUCON). DOI: 10.1109/educon.2016.7474601

Ferreira, M., Avelino, G., Valente, M., & Ferreira, K. (2016) “A Comparative Study of Algorithms for Estimating Truck Factor”. In Anais do X Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software, (pp. 91-100). Porto Alegre: SBC.

Kasto, N., and Whalley, J. (2013) “Measuring the difficulty of code comprehension tasks using software metrics”, Proc of the 15th Australasian Computer Education Conference (ACE 2013), Adelaide, Australia, 57-6, 2013.

Ljung, L. (1999). System identification: theory for the user. 2nd ed. Upper Saddle River: Prentice Hall PTR, xxii, 609 p. (Prentice-Hall information and system sciences series). ISBN 0-13-656695-2.

M Squared Technologies LLC. (2024) “RSM Wizard”. Versão 7.75. Disponível em: [link]. Acesso em 01 mai. 2024.

McCabe, T. (1976) “A Software Complexity Measure”. IEEE Transactions on Software Engineering, SE-2(4):308-320.

Mensures®. (2016) Software desenvolvido para mensurar atividades intelectuais: baseado na metodologia do Índice Interno de Esforço. INPI. Brasil. BR 51 2016 001521-7. RPI 2405.

Olimpíada Brasileira de Informática – OBI. (2022). OBI 2022 Provas e Gabaritos, Fase 1, Modalidade Programação. Disponível em: [link]. Acesso em: 01 mai. 2024.

Olimpíada Brasileira de Informática. (2024) Sobre a OBI 2024. Disponível em: [link]. Acesso em 01 abr. 2024.

Oliveira A. A., and Pilatti, L. A. (2021) “Mensuração da complexidade de códigos em C com o método do Índice Interno de Esforço”. In: Anais do XII Encontro Anual de Tecnologia da Informação – EATI. Ano 10, n. 2; Novembro/2021. Disponível em: [link].

Oliveira A. A., Santos, C. B., and Pilatti, A. P. (2024) “Bridging the gap in patent assessment: The Index of Internal Effort framework for pharma innovations”. | [Salvando las distancias en la evaluación de patentes: El marco del Índice de Esfuerzo Interno para las innovaciones farmacéuticas]. J Pharm Pharmacogn Res 12(5): 852-869. DOI: 10.56499/jppres23.1859_12.5.852. Retrieved from: [link]

Oliveira, A. A., and Pinto, L. R. (2024) “Modernização na avaliação de livros: possíveis melhorias na eficiência do serviço público”. In: VI Simpósio de Economia e Gestão da Lusofonia. No prelo.

Oliveira, A. A., Fung, C. W. H., Burkarter, E., Pilatti, L. A., and Santos, C.B. (2023) “Metrificação de patentes: Uma análise entre qualidade, complexidade e esforço”. In: Encontro Nacional de Engenharia de Produção, 2023, Ceará. XLIII ENEGEP. DOI: 10.14488/enegep2023_tn_st_404_1989_45333. Disponível em: [link].

Oliveira, A. A., Guimarães, T. A., Ávila, C. A., Pilatti, L. A., and Santos, C. B. (2023) “Metrificação de patentes desenvolvidas no serviço público: Um estudo acerca do índice interno de esforço”. In: Encontro Nacional de Engenharia de Produção, 2023, Ceará. XLIII ENEGEP. DOI: 10.14488/enegep2023_tn_wpg_404_1986_45338. Disponível em: [link].

Pighin, M., ans Marzona, A. (2003) “An empirical analysis of fault persistence through software releases”. 2003 International Symposium on Empirical Software Engineering, ISESE 2003. Proceedings. DOI: 10.1109/isese.2003.1237979

Popper, K. R. (2001) A lógica da pesquisa científica. 9. ed. São Paulo: Cultrix, 567 p. ISBN 85-316-0236-X.

Sheard S. A., and Mostashari, A. (2010) “A complexity typology for systems engineering”. INCOSE Int Symp 20(1): 933–945. DOI: 10.1002/j.2334-5837.2010.tb01115.x

Sociedade Brasileira de Computação. (2024) Maratona SBC de Programação. Disponível em: [link]. Acesso em 01 abr. 2024.

Triola, M. F. (2013) Introdução à estatística: atualização da tecnologia. Rio de Janeiro, LTC, xxviii, 707 p.

Usman, M., Mendes, E., Weidt, F., and Britto, R. (2014) “Effort estimation in agile software development”. Proceedings of the 10th International Conference on Predictive Models in Software Engineering - PROMISE ’14. DOI: 10.1145/2639490.2639503

Vogel, M., Knapik, P., Cohrs, M. Szyperrek, B., Pueschel, W., Etzel, H., and Kuhrmann, M. (2020) “Metrics in automotive software development: A systematic literature review”. Journal of Software: Evolution and Process, 33(2). DOI: 10.1002/smr.2296.
Publicado
05/12/2024
DE OLIVEIRA, Alisson Antônio. Assessing Programming Difficulty and Effort: Statistical Correlations with the Index of Internal Effort. In: ESCOLA REGIONAL DE INFORMÁTICA DE GOIÁS (ERI-GO), 12. , 2024, Ceres/GO. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 21-30. DOI: https://doi.org/10.5753/erigo.2024.4795.