Artigo apresentado no SBQS 2011 - Simpósio Brasileiro de Métodos Ágeis, em Curitiba no dia 08/06/2011.
Abstract: Considerando-se que as características de qualidade de um software
influenciam no esforço de sua manutenção, este artigo apresenta um Método
para Análise de Correlação entre Métricas de Produto de Software e
Propensão à Manutenção denominado METACOM. O método proposto define
um processo de extração, transformação e carga de métricas de software
orientado a objetos e de volume de manutenções. O METACOM é composto
por um modelo de análise de correlação entre as medidas obtidas, visando
identificar métricas de produto mais preditivas. Descrevem-se também a
aplicação do METACOM na análise de projetos reais da indústria de software
e as considerações de especialistas sobre os principais resultados.
Análise de correlação entre métricas de produto de software e volume de manutenção
1. METACOM Gabriel de Souza Pereira Moreira - ITA Roberto Pepato Mellado - ITA Prof. Adilson Marques da Cunha - ITA Prof. Luiz Alberto Vieira Dias - ITA Um Método para Análise de Correlação entre Métricas de Produto de Software e Volume de Manutenção 23:51
2. Agenda Manutenção de Software Qualidade de Produto de Software Métricas de Software Trabalhos sobre Manutenibilidade METACOM Estudo de Caso Análise e Discussão dos Resultados Obtidos Limitações Conclusões, Recomendações e Trabalhos Futuros 23:51 2
5. Segundo [Jones 2008], os maiores responsáveis pelo aumento do custo de manutenção relacionam-se ao tamanho, complexidade e idade do software[Ware 2007], [Ahn 2003], [ISO 25000] 23:51 4
6. Qualidade de Produto ISO/IEC 25000:2005 - Software QualityRequirementsandEvaluation(SQuaRE) Qualidade no ciclo de vida de um produto de software [ISO/IEC 9126-1/25000] 23:51 5
9. Trabalhos sobre Manutenibilidade Em sua maior parte, relacionam métricas de produto à análise subjetiva de manutenibilidade[Kafura 1987], [Oman1992], [Riaz 2009]. Deste grupo de trabalhos, destaca-se o Maintainability Index (MI) [Oman 1992], [Oman1994] e [Welker 1995] Outros trabalhos avaliam a manutenibilidade de forma objetiva relacionando, por exemplo, métricas de produto de uma versão com o volume de manutenção observado após esta versão [Ware2007] MI = 171-5.2* ln(aveV)-0.23 * aveV(g')-16.2 * ln (aveLoC)-50 * sin(sqrt(2.4*perCM)) 23:51 8
10. METACOM Processo de ETL de métricas de produto e de volume de manutenção Aplicável a projetos em desenvolvimento, manutenção ou finalizados Requisitos: Sistema de Controle de Versão IssueTracker Mecanismo de rastreabilidade entre modificações e casos de uso ou defeitos 23:51 9
11. Estudo de Caso Métricas de produto de software podem ser utilizadas para indicar classes com maior volume de manutenção Quais funcionalidades do código possuem maior probabilidade de causar problemas no futuro, se não forem ajustadas agora? Em que partes do código se deveria investir mais esforços em inspeções e testes? Para quais partes do código deveriam ser atribuídos os esforços dos membros dos times mais habilidosos e experientes? 23:51 10
12. Projetos Considerados Projetos considerados no estudo de caso * Revisão – Identificador único de um conjunto de alterações no código-fonte Tamanho dos Produtos de Software 23:51 11
14. 23:51 Exemplo da Estratégia de Análise do METACOM Mês Fev Mar Abr Mai JunJulAgo Set Out Nov Dez Jan Fev Mar Abr Revisão 1 3 12 35 40 62 97 Caso de Uso 001 Métricas de Produto Métricas de Volume de Manutenção Classe A Classe B Desenvolvimento Manutenção Caso de Uso 002 Classe C Classe D Legenda Período de Desenvolvimento Período de Manutenção (Caso de Uso validado pelo cliente) Alteração da Classe Estratégia de Análise Exploratória 13
16. Base de dados Medidas de Produto 484.200 registros (Produto x Classes x Revisões) Histórico de Manutenção 17.430 (Produto x Classes Modificadas em Revisões) Amostra considerada 40 variáveis independentes (métricas de produto) 5 variáveis dependentes (métricas de volume de manutenção) 374 registros (classes) 23:51 15
17. Correlações entre Métricas de Produto e Volume de Manutenção Resultados Obtidos 23:51 Correlação de Postos de Spearman - Significância de 0.01 16
19. Limitações do Experimento Realizado com dois produtos de software desenvolvidos pela mesma empresa, na mesma plataforma (web) e tecnologia (ASP.NET e C#), com o mesmo processo (baseado em RUP). Rastreabilidade entre modificações de código e casos de uso/defeitos depende de processo manual. Manutenção avaliada apenas no nível de classes, a partir do momento em que o respectivo caso de uso é considerado em manutenção. Tipos de Manutenção (Corretiva, Adaptativa, Preventiva e de Melhoria) não categorizados 23:51 18
20. Conclusões Concepção do METACOM, com objetivo de identificar métricas com potencial de indicar classes com propensão a um maior volume de manutenção Implementação do METACOM em estudo de caso com dois produtos de software da indústria Análise de correlações (método de Spearman) permitiu confirmar e invalidar expectativas prévias sobre o potencial preditivo de algumas métricas. As métricas mais correlacionadas ao volume de manutenção referem-se aos aspectos tamanho, complexidade e acoplamento O Índice de Manutenibilidade(MI), bastante citado, utilizado e recomendado pela SEI, não apresentou correlação representativa com volume de manutenção 23:51 19
21. Recomendação e Sugestão para Trabalhos Futuros Utilização de regressão linear multivariada para compor índices de estimativa de volume de manutenção futura, baseados em métricas de produto Experimentação do METACOM em outras linguagens OO estaticamente tipadas (como Java, Object Pascal e C++) e dinâmicas (como Perl, Python, PHP, Javascript e Ruby). 23:51 20
22. Aprovados Moreira, G. S. P., Mellado, R. P., Montini, D. A., Dias, L. A. V., Cunha, A. M. “Software Product Measurement and Analysisin a Continuous Integration Environment”, ITNG, Abril 2010, Las Vegas, NE, EUA Mellado, R. P., Moreira, G. S. P., Monteiro, R. L., Dias, L. A. V., Cunha, A. M. “An Empirical Analysis of eXtreme Programming Practicesand its Impact on Software Quality Metrics”, Workshop Brasileiro de Métodos Ágeis, Jun. 2011, Fortaleza, CE Submetidos Moreira, G. S. P., Monteiro, R. L., Mellado, R. P., Dias, Cunha, A. M, L. A. V. “Predicting Change and Error Proneness in OO Software CorrectiveMaintenance”, IEEE ICSM, Set. 2011, Williamsburg, EUA Trabalhos relacionados 23:51 21