METACOM – Uma anlise de correla§£o entre m©tricas de produto e propens£o   manuten§£o

  • View
    943

  • Download
    1

Embed Size (px)

DESCRIPTION

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 softwareinfluenciam no esforço de sua manutenção, este artigo apresenta um Métodopara Análise de Correlação entre Métricas de Produto de Software ePropensão à Manutenção denominado METACOM. O método proposto defineum processo de extração, transformação e carga de métricas de softwareorientado a objetos e de volume de manutenções. O METACOM é compostopor um modelo de análise de correlação entre as medidas obtidas, visandoidentificar métricas de produto mais preditivas. Descrevem-se também aaplicação do METACOM na análise de projetos reais da indústria de softwaree as considerações de especialistas sobre os principais resultados.

Text of METACOM – Uma anlise de correla§£o entre m©tricas de produto e...

  • 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 Mtodo para Anlise de Correlao entre Mtricas de Produto de Software e Volume de Manuteno
    23:51

2. Agenda
Manuteno de Software
Qualidade de Produto de Software
Mtricas de Software
Trabalhos sobre Manutenibilidade
METACOM
Estudo de Caso
Anlise e Discusso dos Resultados Obtidos
Limitaes
Concluses, Recomendaes e Trabalhos Futuros
23:51
2
3. Manuteno de Software
23:51
3
4. Qualidade de Produto x Manuteno de Software

  • Aumento do ciclo de vida do software implica em tempo estendido de manuteno, aumentando a importncia da qualidade do produto [Blanc 2009]

5. Segundo [Jones 2008], os maiores responsveis pelo aumento do custo de manuteno 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
7. Modelo de Qualidade Interna / Externa [ISO/IEC 25000]
Manutenibilidade
23:51
6
8. Mtricas de Produto OO
23:51
7
9. Trabalhos sobre Manutenibilidade
Em sua maior parte, relacionam mtricas de produto anlise 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, mtricas de produto de uma verso com o volume de manuteno observado aps esta verso [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 mtricas de produto e de volume de manuteno
Aplicvel a projetos em desenvolvimento, manuteno ou finalizados
Requisitos:
Sistema de Controle de Verso
IssueTracker
Mecanismo de rastreabilidade entre modificaes e casos de uso ou defeitos
23:51
9
11. Estudo de Caso
Mtricas de produto de software podem ser utilizadas para indicar classes com maior volume de manuteno
Quais funcionalidades do cdigo possuem maior probabilidade de causar problemas no futuro, se no forem ajustadas agora?
Em que partes do cdigo se deveria investir mais esforos em inspees e testes?
Para quais partes do cdigo deveriam ser atribudos os esforos dos membros dos times mais habilidosos e experientes?
23:51
10
12. Projetos Considerados
Projetos considerados no estudo de caso
* Reviso Identificador nico de um conjunto de alteraes no cdigo-fonte
Tamanho dos Produtos de Software
23:51
11
13. Implementao do METACOM
23:51
12
14. 23:51
Exemplo da Estratgia de Anlise do METACOM
Ms
Fev Mar Abr MaiJunJulAgo Set Out NovDezJan Fev MarAbr
Reviso
1 312 354062 97
Caso de Uso 001
Mtricas de Produto
Mtricas de Volume de Manuteno
Classe A
Classe B
Desenvolvimento
Manuteno
Caso de Uso 002
Classe C
Classe D
Legenda
Perodo de Desenvolvimento
Perodo de Manuteno (Caso de Uso validado pelo cliente)
Alterao da Classe
Estratgia de Anlise Exploratria
13
15. Mtricas de Volume de Manuteno
23:51
14
16. Base de dados
Medidas de Produto
484.200 registros (Produto x Classes x Revises)
Histrico de Manuteno
17.430 (Produto x Classes Modificadas em Revises)
Amostra considerada
40 variveis independentes (mtricas de produto)
5 variveis dependentes (mtricas de volume de manuteno)
374 registros (classes)
23:51
15
17. Correlaes entre Mtricas de Produto e Volume de Manuteno
Resultados Obtidos
23:51
Correlao de Postos de Spearman - Significncia de 0.01
16
18. Volume de Manuteno
X
Anlise e Discusso dos Resultados
23:51
17
19. Limitaes 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 modificaes de cdigo e casos de uso/defeitos depende de processo manual.
Manuteno avaliada apenas no nvel de classes, a partir do momento em que o respectivo caso de uso considerado em manuteno.
Tipos de Manuteno (Corretiva, Adaptativa, Preventiva e de Melhoria) no categorizados
23:51
18
20. Concluses
Concepo do METACOM, com objetivo de identificar mtricas com potencial de indicar classes com propenso a um maior volume de manuteno
Implementao do METACOMem estudo de caso com dois produtos de software da indstria
Anlise de correlaes (mtodo de Spearman) permitiu confirmar e invalidar expectativas prvias sobre o potencial preditivo de algumas mtricas.
As mtricas mais correlacionadas ao volume de manuteno referem-se aos aspectos tamanho, complexidade e acoplamento
O ndice de Manutenibilidade(MI), bastante citado, utilizado e recomendado pela SEI, no apresentou correlao representativa com volume de manuteno
23:51
19
21. Recomendao e Sugesto para Trabalhos Futuros
Utilizao de regresso linear multivariada para compor ndices de estimativa de volume de manuteno futura, baseados em mtricas de produto
Experimentao do METACOM em outras linguagens OO estaticamente tipadas (como Java, Object Pascal e C++) e dinmicas (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 Mtodos 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
23. ?
Perguntas
23:51
22