Comparação de ferramentas de análise estática para detecção de defeitos de software usando mutantes

  • Yury Alencar Lima UNIPAMPA
  • Igor Oliveira Fonseca UNIPAMPA
  • Jonas M. Chagas UNIPAMPA
  • Elder de Macedo Rodrigues UNIPAMPA
  • Maicon Bernardino da Silveira UNIPAMPA
  • João Pablo S. da Silva UNIPAMPA

Resumo


A análise estática de código é uma técnica aplicada na etapa de verificação de um software, com o objetivo de identificar defeitos sem a necessidade da execução da aplicação. Atualmente existem diversas ferramentas de análise estática disponíveis no mercado, onde cada uma possui suas particularidades e diferentes escopos de análise. Portanto, escolher a ferramenta correta a ser usada não é uma atividade trivial. Este estudo tem como objetivo comparar duas ferramentas de análise estática de código sendo elas o SonarQube e o PMD, analisando a sua eficácia na identificação de defeitos em um código de software. Com esta finalidade foram criados mutantes a partir de projetos Open Source, que auxiliaram a verificar a eficácia das ferramentas.

Palavras-chave: Análise estática de código, Qualidade de código, SonarQube, PMD, Comparação de ferramentas

Referências

Bochmann, G. V. and Petrenko, A. (1994). Protocol testing: review of methods and relevance for software testing. In Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis, pages 109–124.

Delamaro, M., Jino, M., and Maldonado, J. (2013). Introdução ao teste de software. Elsevier Brasil.

Delamaro, M., Pezze, M., Vincenzi, A. M. R., and Maldonado, J. C. (2001). Mutant operators for testing concurrent java programs. In Proceedings of the Brazilian Symposium on Software Engineering, pages 272–285. Citeseer.

DeMillo, R. A., Lipton, R. J., and Sayward, F. G. (1978). Hints on test data selection: Help for the practicing programmer. Computer, 11(4):34–41.

Ebenau, R. G. and Strauss, S. H. (1993).Software inspection process. McGraw-Hill, Inc.

Emanuelsson, P. and Nilsson, U. (2008). A comparative study of industrial static analysis tools. Electronic notes in theoretical computer science, 217:5–21.

Fatima, A., Bibi, S., and Hanif, R. (2018). Comparative study on static code analysis tools for c/c++. In 2018 15th International Bhurban Conference on Applied Sciences and Technology (IBCAST), pages 465–469. IEEE.

Li, P. and Cui, B. (2010). A comparative study on software vulnerability static analysis techniques and tools. In 2010 IEEE international conference on information theory and information security, pages 521–524. IEEE.

Melo, S. M. (2009). Inspeção de software. University of São Paulo: São Carlos, SP

Mills, H. D., Dyer, M., and Linger, R. C. (1987). Cleanroom software engineering.

Mirshokraie, S., Mesbah, A., and Pattabiraman, K. (2015). Guided mutation testing for javascript web applications.IEEE Transactions on Software Engineering, 41(05):429–444.

PMD (2021). Documentação pmd - versão 6.34. https://pmd.github.io/latest/index.html. Accessed: 2021-05-16.

Raggett, D., Le Hors, A., Jacobs, I., et al. (1999). Html 4.01 specification. W3C recommendation, 24.

Sonarqube (2021).Documentação Sonarqube - versão 8.9. https://docs.sonarqube.org/latest/. Accessed: 2021-05-16.

Torchiano, M., Ricca, F., and Marchetto, A. (2011). Are web applications more defect-prone than desktop applications? International journal on software tools for technology transfer, 13(2):151–166.

Wang, M.-H. and Lee, C.-S. (2008). An intelligent ppqa web services for cmmi assessment. In 2008 Eighth International Conference on Intelligent Systems Design and Applications, volume 1, pages 229–234. IEEE.

Webb, J. (1990). Static analysis (software testing). In IEE Colloquium on Software Testing for Critical Systems, pages 4–1. IET.

Zheng, J., Williams, L., Nagappan, N., Snipes, W., Hudepohl, J. P., and Vouk, M. A.(2006). On the value of static analysis for fault detection in software. IEEE transactions on software engineering, 32(4):240–253.
Publicado
01/12/2021
LIMA, Yury Alencar; FONSECA, Igor Oliveira; CHAGAS, Jonas M.; RODRIGUES, Elder de Macedo; SILVEIRA, Maicon Bernardino da; SILVA, João Pablo S. da. Comparação de ferramentas de análise estática para detecção de defeitos de software usando mutantes. In: ESCOLA REGIONAL DE ENGENHARIA DE SOFTWARE (ERES), 5. , 2021, Evento Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2021 . p. 159-168. DOI: https://doi.org/10.5753/eres.2021.18461.