SlideShare uma empresa Scribd logo
1 de 22
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
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
Manutenção de Software 23:51 3
Qualidade de Produto x Manutenção de Software  ,[object Object]
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
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
Modelo de Qualidade Interna / Externa [ISO/IEC 25000] Manutenibilidade 23:51 6
Métricas de Produto OO 23:51 7
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
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
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
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
Implementação do METACOM 23:51 12
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
Métricas de Volume de Manutenção 23:51 14
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
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
Volume de Manutenção X Análise e Discussão dos Resultados 23:51 17
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
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
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
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

Mais conteúdo relacionado

Mais procurados

Qualidade de Software: Modelos e normas
Qualidade de Software: Modelos e normasQualidade de Software: Modelos e normas
Qualidade de Software: Modelos e normasAlex Camargo
 
Apresentação Fábrica de Softwares baseado em ISO 9001:2008
Apresentação Fábrica de Softwares baseado em ISO 9001:2008Apresentação Fábrica de Softwares baseado em ISO 9001:2008
Apresentação Fábrica de Softwares baseado em ISO 9001:2008Claudio Cardozo
 
Aula9 TEES UFS Gestao de Configuração de SW
Aula9 TEES UFS  Gestao de Configuração de SWAula9 TEES UFS  Gestao de Configuração de SW
Aula9 TEES UFS Gestao de Configuração de SWRogerio P C do Nascimento
 
Implementing Product Line Variabilities
Implementing Product Line VariabilitiesImplementing Product Line Variabilities
Implementing Product Line VariabilitiesMichel Alves
 
Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3Emmanuel Neri
 
Gestão da qualidade- Me.Whellisson
Gestão da qualidade- Me.WhellissonGestão da qualidade- Me.Whellisson
Gestão da qualidade- Me.WhellissonWhellisson Dias
 
Auditoria de inspeção de layout
Auditoria de inspeção de layoutAuditoria de inspeção de layout
Auditoria de inspeção de layoutCarlos Eduardo
 
Introdução à Qualidade de Software
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de SoftwareCloves da Rocha
 
Benchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoBenchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoIntel Software Brasil
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareCamilo Ribeiro
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de ConfiguraçãoWagner Zaparoli
 

Mais procurados (18)

Qualidade de Software: Modelos e normas
Qualidade de Software: Modelos e normasQualidade de Software: Modelos e normas
Qualidade de Software: Modelos e normas
 
Apresentação Fábrica de Softwares baseado em ISO 9001:2008
Apresentação Fábrica de Softwares baseado em ISO 9001:2008Apresentação Fábrica de Softwares baseado em ISO 9001:2008
Apresentação Fábrica de Softwares baseado em ISO 9001:2008
 
Aula9 TEES UFS Gestao de Configuração de SW
Aula9 TEES UFS  Gestao de Configuração de SWAula9 TEES UFS  Gestao de Configuração de SW
Aula9 TEES UFS Gestao de Configuração de SW
 
Implementing Product Line Variabilities
Implementing Product Line VariabilitiesImplementing Product Line Variabilities
Implementing Product Line Variabilities
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Teste de Aceitação: problemas, desafios e abordagens
Teste de Aceitação: problemas, desafios e abordagensTeste de Aceitação: problemas, desafios e abordagens
Teste de Aceitação: problemas, desafios e abordagens
 
Teste Regressão
Teste RegressãoTeste Regressão
Teste Regressão
 
Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3Solução técnica - CMMI nível 3
Solução técnica - CMMI nível 3
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Gestão da qualidade- Me.Whellisson
Gestão da qualidade- Me.WhellissonGestão da qualidade- Me.Whellisson
Gestão da qualidade- Me.Whellisson
 
Aula 02
Aula 02Aula 02
Aula 02
 
Plano de testes
Plano de testesPlano de testes
Plano de testes
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Auditoria de inspeção de layout
Auditoria de inspeção de layoutAuditoria de inspeção de layout
Auditoria de inspeção de layout
 
Introdução à Qualidade de Software
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de Software
 
Benchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoBenchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenho
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 

Semelhante a Análise de correlação entre métricas de produto de software e volume de manutenção

Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...Marcelo Schumacher
 
Manutenção de Software
Manutenção de SoftwareManutenção de Software
Manutenção de SoftwareWagner Zaparoli
 
EARLY-FIX: Um Framework para Predição de Manutenção Corretiva de Software uti...
EARLY-FIX: Um Framework para Predição de Manutenção Corretiva de Software uti...EARLY-FIX: Um Framework para Predição de Manutenção Corretiva de Software uti...
EARLY-FIX: Um Framework para Predição de Manutenção Corretiva de Software uti...Gabriel Moreira
 
Application Lifecycle Management - Campus Party Brasil 2009
Application Lifecycle Management -  Campus Party  Brasil 2009Application Lifecycle Management -  Campus Party  Brasil 2009
Application Lifecycle Management - Campus Party Brasil 2009Ramon Durães
 
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarUtilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarOpencadd Advanced Technology
 
Eng.Software-Métricas
Eng.Software-MétricasEng.Software-Métricas
Eng.Software-Métricaselliando dias
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKMário Pravato Junior
 
Es capítulo 2 - processos de software
Es   capítulo 2  - processos de softwareEs   capítulo 2  - processos de software
Es capítulo 2 - processos de softwareFelipe Oliveira
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
Indicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paraleloIndicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paraleloRoberto de Pinho
 
Rejuvenescimento Software
Rejuvenescimento SoftwareRejuvenescimento Software
Rejuvenescimento SoftwareMarcus Oliveira
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de TestesUFPA
 
Curso de APF - Básico
Curso de APF - BásicoCurso de APF - Básico
Curso de APF - BásicoMarcus Costa
 
Isa Show 2009 Cr 259.09 Francisco Salvador
Isa Show 2009   Cr 259.09   Francisco SalvadorIsa Show 2009   Cr 259.09   Francisco Salvador
Isa Show 2009 Cr 259.09 Francisco SalvadorFrancisco Salvador
 
Projeto de pesquisa apresentação
Projeto de pesquisa   apresentaçãoProjeto de pesquisa   apresentação
Projeto de pesquisa apresentaçãoEduardo Rodriguez
 

Semelhante a Análise de correlação entre métricas de produto de software e volume de manutenção (20)

Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
 
Manutenção de Software
Manutenção de SoftwareManutenção de Software
Manutenção de Software
 
Aula1 introducao engsw
Aula1 introducao engswAula1 introducao engsw
Aula1 introducao engsw
 
EARLY-FIX: Um Framework para Predição de Manutenção Corretiva de Software uti...
EARLY-FIX: Um Framework para Predição de Manutenção Corretiva de Software uti...EARLY-FIX: Um Framework para Predição de Manutenção Corretiva de Software uti...
EARLY-FIX: Um Framework para Predição de Manutenção Corretiva de Software uti...
 
Application Lifecycle Management - Campus Party Brasil 2009
Application Lifecycle Management -  Campus Party  Brasil 2009Application Lifecycle Management -  Campus Party  Brasil 2009
Application Lifecycle Management - Campus Party Brasil 2009
 
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarUtilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
 
Aula1 eng software
Aula1 eng softwareAula1 eng software
Aula1 eng software
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Eng.Software-Métricas
Eng.Software-MétricasEng.Software-Métricas
Eng.Software-Métricas
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOK
 
Es capítulo 2 - processos de software
Es   capítulo 2  - processos de softwareEs   capítulo 2  - processos de software
Es capítulo 2 - processos de software
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Indicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paraleloIndicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paralelo
 
Rejuvenescimento Software
Rejuvenescimento SoftwareRejuvenescimento Software
Rejuvenescimento Software
 
152191 11993
152191 11993152191 11993
152191 11993
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
Curso de APF - Básico
Curso de APF - BásicoCurso de APF - Básico
Curso de APF - Básico
 
Isa Show 2009 Cr 259.09 Francisco Salvador
Isa Show 2009   Cr 259.09   Francisco SalvadorIsa Show 2009   Cr 259.09   Francisco Salvador
Isa Show 2009 Cr 259.09 Francisco Salvador
 
Projeto de pesquisa apresentação
Projeto de pesquisa   apresentaçãoProjeto de pesquisa   apresentação
Projeto de pesquisa apresentação
 

Mais de Gabriel Moreira

[Phd Thesis Defense] CHAMELEON: A Deep Learning Meta-Architecture for News Re...
[Phd Thesis Defense] CHAMELEON: A Deep Learning Meta-Architecture for News Re...[Phd Thesis Defense] CHAMELEON: A Deep Learning Meta-Architecture for News Re...
[Phd Thesis Defense] CHAMELEON: A Deep Learning Meta-Architecture for News Re...Gabriel Moreira
 
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...Gabriel Moreira
 
Deep Learning for Recommender Systems @ TDC SP 2019
Deep Learning for Recommender Systems @ TDC SP 2019Deep Learning for Recommender Systems @ TDC SP 2019
Deep Learning for Recommender Systems @ TDC SP 2019Gabriel Moreira
 
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...Gabriel Moreira
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data ScienceGabriel Moreira
 
Sistemas de Recomendação sem Enrolação
Sistemas de Recomendação sem Enrolação Sistemas de Recomendação sem Enrolação
Sistemas de Recomendação sem Enrolação Gabriel Moreira
 
Deep Recommender Systems - PAPIs.io LATAM 2018
Deep Recommender Systems - PAPIs.io LATAM 2018Deep Recommender Systems - PAPIs.io LATAM 2018
Deep Recommender Systems - PAPIs.io LATAM 2018Gabriel Moreira
 
CI&T Tech Summit 2017 - Machine Learning para Sistemas de Recomendação
CI&T Tech Summit 2017 - Machine Learning para Sistemas de RecomendaçãoCI&T Tech Summit 2017 - Machine Learning para Sistemas de Recomendação
CI&T Tech Summit 2017 - Machine Learning para Sistemas de RecomendaçãoGabriel Moreira
 
Feature Engineering - Getting most out of data for predictive models - TDC 2017
Feature Engineering - Getting most out of data for predictive models - TDC 2017Feature Engineering - Getting most out of data for predictive models - TDC 2017
Feature Engineering - Getting most out of data for predictive models - TDC 2017Gabriel Moreira
 
Feature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive modelsFeature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive modelsGabriel Moreira
 
Discovering User's Topics of Interest in Recommender Systems @ Meetup Machine...
Discovering User's Topics of Interest in Recommender Systems @ Meetup Machine...Discovering User's Topics of Interest in Recommender Systems @ Meetup Machine...
Discovering User's Topics of Interest in Recommender Systems @ Meetup Machine...Gabriel Moreira
 
Discovering User's Topics of Interest in Recommender Systems
Discovering User's Topics of Interest in Recommender SystemsDiscovering User's Topics of Interest in Recommender Systems
Discovering User's Topics of Interest in Recommender SystemsGabriel Moreira
 
Python for Data Science - Python Brasil 11 (2015)
Python for Data Science - Python Brasil 11 (2015)Python for Data Science - Python Brasil 11 (2015)
Python for Data Science - Python Brasil 11 (2015)Gabriel Moreira
 
Python for Data Science - TDC 2015
Python for Data Science - TDC 2015Python for Data Science - TDC 2015
Python for Data Science - TDC 2015Gabriel Moreira
 
Using Neural Networks and 3D sensors data to model LIBRAS gestures recognitio...
Using Neural Networks and 3D sensors data to model LIBRAS gestures recognitio...Using Neural Networks and 3D sensors data to model LIBRAS gestures recognitio...
Using Neural Networks and 3D sensors data to model LIBRAS gestures recognitio...Gabriel Moreira
 
Developing GeoGames for Education with Kinect and Android for ArcGIS Runtime
Developing GeoGames for Education with Kinect and Android for ArcGIS RuntimeDeveloping GeoGames for Education with Kinect and Android for ArcGIS Runtime
Developing GeoGames for Education with Kinect and Android for ArcGIS RuntimeGabriel Moreira
 
Dojo Imagem de Android - 19/06/2012
Dojo Imagem de Android - 19/06/2012Dojo Imagem de Android - 19/06/2012
Dojo Imagem de Android - 19/06/2012Gabriel Moreira
 
Agile Testing e outros amendoins
Agile Testing e outros amendoinsAgile Testing e outros amendoins
Agile Testing e outros amendoinsGabriel Moreira
 

Mais de Gabriel Moreira (20)

[Phd Thesis Defense] CHAMELEON: A Deep Learning Meta-Architecture for News Re...
[Phd Thesis Defense] CHAMELEON: A Deep Learning Meta-Architecture for News Re...[Phd Thesis Defense] CHAMELEON: A Deep Learning Meta-Architecture for News Re...
[Phd Thesis Defense] CHAMELEON: A Deep Learning Meta-Architecture for News Re...
 
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...
 
Deep Learning for Recommender Systems @ TDC SP 2019
Deep Learning for Recommender Systems @ TDC SP 2019Deep Learning for Recommender Systems @ TDC SP 2019
Deep Learning for Recommender Systems @ TDC SP 2019
 
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Sistemas de Recomendação sem Enrolação
Sistemas de Recomendação sem Enrolação Sistemas de Recomendação sem Enrolação
Sistemas de Recomendação sem Enrolação
 
Deep Recommender Systems - PAPIs.io LATAM 2018
Deep Recommender Systems - PAPIs.io LATAM 2018Deep Recommender Systems - PAPIs.io LATAM 2018
Deep Recommender Systems - PAPIs.io LATAM 2018
 
CI&T Tech Summit 2017 - Machine Learning para Sistemas de Recomendação
CI&T Tech Summit 2017 - Machine Learning para Sistemas de RecomendaçãoCI&T Tech Summit 2017 - Machine Learning para Sistemas de Recomendação
CI&T Tech Summit 2017 - Machine Learning para Sistemas de Recomendação
 
Feature Engineering - Getting most out of data for predictive models - TDC 2017
Feature Engineering - Getting most out of data for predictive models - TDC 2017Feature Engineering - Getting most out of data for predictive models - TDC 2017
Feature Engineering - Getting most out of data for predictive models - TDC 2017
 
Feature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive modelsFeature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive models
 
Discovering User's Topics of Interest in Recommender Systems @ Meetup Machine...
Discovering User's Topics of Interest in Recommender Systems @ Meetup Machine...Discovering User's Topics of Interest in Recommender Systems @ Meetup Machine...
Discovering User's Topics of Interest in Recommender Systems @ Meetup Machine...
 
lsrs15_ciandt
lsrs15_ciandtlsrs15_ciandt
lsrs15_ciandt
 
Discovering User's Topics of Interest in Recommender Systems
Discovering User's Topics of Interest in Recommender SystemsDiscovering User's Topics of Interest in Recommender Systems
Discovering User's Topics of Interest in Recommender Systems
 
Python for Data Science - Python Brasil 11 (2015)
Python for Data Science - Python Brasil 11 (2015)Python for Data Science - Python Brasil 11 (2015)
Python for Data Science - Python Brasil 11 (2015)
 
Python for Data Science - TDC 2015
Python for Data Science - TDC 2015Python for Data Science - TDC 2015
Python for Data Science - TDC 2015
 
Python for Data Science
Python for Data SciencePython for Data Science
Python for Data Science
 
Using Neural Networks and 3D sensors data to model LIBRAS gestures recognitio...
Using Neural Networks and 3D sensors data to model LIBRAS gestures recognitio...Using Neural Networks and 3D sensors data to model LIBRAS gestures recognitio...
Using Neural Networks and 3D sensors data to model LIBRAS gestures recognitio...
 
Developing GeoGames for Education with Kinect and Android for ArcGIS Runtime
Developing GeoGames for Education with Kinect and Android for ArcGIS RuntimeDeveloping GeoGames for Education with Kinect and Android for ArcGIS Runtime
Developing GeoGames for Education with Kinect and Android for ArcGIS Runtime
 
Dojo Imagem de Android - 19/06/2012
Dojo Imagem de Android - 19/06/2012Dojo Imagem de Android - 19/06/2012
Dojo Imagem de Android - 19/06/2012
 
Agile Testing e outros amendoins
Agile Testing e outros amendoinsAgile Testing e outros amendoins
Agile Testing e outros amendoins
 

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
  • 4.
  • 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
  • 7. Modelo de Qualidade Interna / Externa [ISO/IEC 25000] Manutenibilidade 23:51 6
  • 8. Métricas de Produto OO 23:51 7
  • 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
  • 15. Métricas de Volume de Manutenção 23:51 14
  • 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
  • 18. Volume de Manutenção X Análise e Discussão dos Resultados 23:51 17
  • 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