Avaliação de Causalidade entre Métricas de Qualidade Interna e Defeitos

  • César Couto CEFET-MG / UFMG
  • Marco Túlio Valente UFMG
  • Roberto da Silva Bigonha UFMG

Resumo


Apesar do interesse e da recomendação frequente para o uso de métricas para melhorar e monitorar a qualidade de um sistema, ainda não existe clareza sobre os reais impactos de métricas na qualidade externa de sistemas de software. Assim, neste artigo relata-se um estudo desenvolvido com o objetivo de avaliar se existe relação de causalidade entre métricas de código fonte é uma medida central de qualidade externa de um sistema: número de defeitos (bugs). No estudo, procurou-se avaliar a existência de relação de causa-efeito entre métricas CK e OO e o número de defeitos de cinco sistemas pertencentes a um benchmark de domínio público. Como resultado, observou-se que quando são consideradas todas as classes de um sistema, não há indícios da existência de causalidade entre valores reportados para as métricas e número de defeitos. No entanto, quando se restringe a análise as classes de um sistema que tiveram pelo menos um defeito reportado ao longo de sua vida há indícios da existência de causalidade para algumas métricas.
Palavras-chave: Avaliação de Causalidade, Métricas de Qualidade, Defeitos

Referências

Giuliano Antoniol, Kamel Ayari, Massimiliano Di Penta, Foutse Khomh, and Yann-Gaël Guèhèneuc. Is it a bug or an enhancement? In 18th Conference of the Center for Advanced Studies on Collaborative Research: Meeting of Minds (CASCON), pages 304–318, 2008.

Gerardo Canfora, Michele Ceccarelli, Massimiliano Di Penta, and Luigi Cerulo. Using multivariate time series and association rules to detect logical change coupling: an empirical study. In 26th International Conference on Software Maintenance (ICSM), pages 1–10, 2010.

S. R. Chidamber and C. F. Kemerer. A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20(6):476–493, 1994.

Marco D’Ambros, Alberto Bacchelli, and Michele Lanza. On the impact of design flaws on software defects. In 10th International Conference on Quality Software (QSIC), pages 23–31, 2010.

Marco D’Ambros, Michele Lanza, and Romain Robbes. An extensive comparison of bug prediction appro aches. In 7th Working Conference on Mining Software Repositories (MSR), pages 31–41, 2010.

C. W. J. Granger. Investigating causal relations by econometric models and cross-spectral methods. Econometrica, 37(3):424–438, 19

Ahmed E. Hassan. Predicting faults using the complexity of code changes. In 31st International Conference on Software Engineering (ICSE), pages 78–88, 2009.

Tilman Holschuh, Markus Pauser, Kim Herzig, Thomas Zimmermann, Rahul Premraj, and Andreas Zel ler. Predicting defects in sap java code: An experience report. In 31st International Conference on Software Engineering (ICSE), pages 172–181, 2009.

Sunghun Kim, Thomas Zimmermann, E. James Whitehead Jr., and Andreas Zeller. Predicting faults from cached history. In 29th International Conference on Software Engineering (ICSE), pages 489–498, 2007.

Raimund Moser, Witold Pedrycz, and Giancarlo Succi. A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction. In 30th International Conference on Software Engineering (ICSE), pages 181–190, 2008.

Nachiappan Nagappan and Thomas Ball. Static analysis tools as early indicators of pre-release defect density. In 27th International Conference on Software Engineering (ICSE), pages 580–586, 2005.

Nachiappan Nagappan and Thomas Ball. Use of relative code churn measures to predict system defect density. In 27th International Conference on Software Engineering (ICSE), pages 284–292, 2005.

Nachiappan Nagappan, Thomas Ball, and Andreas Zeller. Mining metrics to predict component failures. In 28th International Conference on Software Engineering (ICSE), pages 452–461, 2006.

Dewayne E. Perry, Adam A. Porter, and Lawrence G. Votta. A primer on empirical studies (tutorial). In Tutorial presented at 19th International Conference on Software Engineering (ICSE), pages 657–658, 1997.

Ramanath Subramanyam and M. S. Krishnan. Empirical analysis of CK metrics for object-oriented design complexity: Implications for software defects. IEEE Transaction on Software Engineering, 29(4):297–310, 2003.

Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohlsson, Bjöörn Regnell, and Anders Wesslén. Experimentation in software engineering: an introduction. Kluwer Academic Publishers, 2000.

Thomas Zimmermann, Nachiappan Nagappan, and Andreas Zeller. Predicting Bugs from History, chapter 4, pages 69–88. Springer, 2008.
Publicado
06/06/2011
COUTO, César; VALENTE, Marco Túlio; BIGONHA, Roberto da Silva. Avaliação de Causalidade entre Métricas de Qualidade Interna e Defeitos. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 10. , 2011, Curitiba. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2011 . p. 279-293. DOI: https://doi.org/10.5753/sbqs.2011.15401.