OSTRA: UM ESTUDO DO HISTÓRICO DA
QUALIDADE DO SOFTWARE ATRAVÉS DE
REGRAS DE ASSOCIAÇÃO DE MÉTRICAS
Daniel D. Castellani Ri...
Ciclo de vida do software
Definição Desenvolvimento Manutenção
60% do tempo
90% do custo
2
Daniel Castellani -
danielcaste...
Atributos de qualidade
Desenvolvimento
Manutenibilidade
EntendimentoFlexibilidade
3
Daniel Castellani -
danielcastellani@i...
Motivação
• Monitorar a qualidade do produto para
garanti-la
• Entender sobre quais fatores influenciam a
qualidade
4
Dani...
Disciplinas
Gerência de
Configuração
Mineração
de dados
Métricas
de
Software
5
Daniel Castellani -
danielcastellani@id.uff...
Gerência de Configuração
6
Commit
Revisão
Versionamento
Construção
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS ...
Métricas de Software
7
Métricas de
Software
Processo Projeto Produto
Daniel Castellani -
danielcastellani@id.uff.br - CTDQ...
QMOOD Modelo de qualidade para
Arquiteturas Orientadas a Objetos
6
11
11
Atributos de Qualidade
Propriedades
Métricas
Comp...
Grande Quantidade de Dados
• Software
– 1500 commits
• Métricas
– 30
• Informação
– 45.000 medições
9
5.673
commits
30
mét...
Mineração de Dados:
Regras de Associação
• Medidas de Interesse
– Suporte
– Confiança
– Lift João ↓ Complexity
Segunda Não...
Objetivos
1. Fornecer informações relevantes à tomada de
decisões gerenciais
2. Auxiliar o monitoramento da qualidade
3. I...
Abordagem: Visão Geral
12
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 2013
Fase de Medição
13
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 2013
Cerca de 30 Métricas
• Métricas Simples (Diretas)
– 11 de QMOOD
– Outras
• Complexidade Ciclomática de McCabe (TCC)
• LOC
...
Delta
Versão 11 Versão 12
commit
260,000
+1.000
Modification
15
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 201...
Fase de Mineração
– Quem:
• Desenvolvedor
– Quando
• Hora
• Turno de trabalho
• Dia da semana
– Como
• Quantidade de arqui...
Fase de Apresentação
17
Fase de
Apresentação
Gráficos do
Histórico
Regras de
Associação
Tabela de
Comportamento
Daniel Cas...
Experimento 1: Regras Sobre a
Evolução
• Questão de Pesquisa: A mineração de dados é
capaz de obter informações relevantes...
Regras Positivas do IdUFF
# Regra Sup. Conf. Lift Base
1
Se a quantidade de classes aumenta,
Então nove ou mais artefatos ...
Regras Negativas do IdUFF
# Regra Sup. Conf. Lift Base
1
Se a quantidade de classes diminui,
Então a reusabilidade diminui...
Experimento 2: Monitoramento
da Qualidade
• Projeto: IdUFF
1
2
3
22
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS...
Experimento 2: Monitoramento
da Qualidade - Delta
1
3
2
23
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 2013
1
3
2
Experimento 2: Monitoramento da
Qualidade
1
3
2
24
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 2013
Experimento 2: Monitoramento
da Qualidade
1
3
2
25
1
3
2
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 2013
Experimento 3: Padrões Gerais
• Comparação com a
literatura
• 16 projetos
• Questão de Pesquisa:
A mineração de dados
é ca...
Análise Geral
Comportamento Confirmações Negações
A manutenibilidade afeta positivamente a flexibilidade 15 0
A flexibilid...
Principais Ameaças à validade
• Quantidade de amostras
– Apenas indícios de padrões gerais
• Mapeamento de Wiegers
• Fórmu...
Contribuições Principais
• Abordagem
– Mineração
– Métricas
– Commits
• Tabela de
Comportamento
• Protótipo
31
Versão 11 V...
Trabalhos Futuros
• Monitoramento da qualidade durante o
desenvolvimento
• Padrões gerais da engenharia de software
• Pred...
OSTRA: UM ESTUDO DO HISTÓRICO DA
QUALIDADE DO SOFTWARE ATRAVÉS DE
REGRAS DE ASSOCIAÇÃO DE MÉTRICAS
Daniel D. Castellani Ri...
Próximos SlideShares
Carregando em…5
×

SBQS 2013 - Apresentação CTDQS - Ostra - Daniel Castellani

407 visualizações

Publicada em

Apresentação do Concurso de Teses e Dissertações em Qualidade de Software CTDQS 2013, durante o SBQS 2013 em Salvador.

Título: Ostra um estudo do histórico da qualidade do software através de regras de associação de métricas

Dissertação:https://www.dropbox.com/s/lcm0o34zvmoiw1l/Disserta%C3%A7%C3%A3o_Final_Oficial.pdf

Artigo:https://www.dropbox.com/s/jtack2x9q1pba12/Artigo_CTDQS_2013_Ostra_Daniel_Castellani_Ribeiro.pdf

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
407
No SlideShare
0
A partir de incorporações
0
Número de incorporações
29
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

SBQS 2013 - Apresentação CTDQS - Ostra - Daniel Castellani

  1. 1. OSTRA: UM ESTUDO DO HISTÓRICO DA QUALIDADE DO SOFTWARE ATRAVÉS DE REGRAS DE ASSOCIAÇÃO DE MÉTRICAS Daniel D. Castellani Ribeiro Orientador: Leonardo Murta Co-orientador: Alexandre Plastino Concurso de Teses e Dissertações em Qualidade de Software – CTDQS 2013
  2. 2. Ciclo de vida do software Definição Desenvolvimento Manutenção 60% do tempo 90% do custo 2 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  3. 3. Atributos de qualidade Desenvolvimento Manutenibilidade EntendimentoFlexibilidade 3 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  4. 4. Motivação • Monitorar a qualidade do produto para garanti-la • Entender sobre quais fatores influenciam a qualidade 4 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  5. 5. Disciplinas Gerência de Configuração Mineração de dados Métricas de Software 5 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  6. 6. Gerência de Configuração 6 Commit Revisão Versionamento Construção Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  7. 7. Métricas de Software 7 Métricas de Software Processo Projeto Produto Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  8. 8. QMOOD Modelo de qualidade para Arquiteturas Orientadas a Objetos 6 11 11 Atributos de Qualidade Propriedades Métricas Componentes 8 Efetividade Entendimento Extensibilidade Flexibilidade Funcionalidade Reusabilidade Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  9. 9. Grande Quantidade de Dados • Software – 1500 commits • Métricas – 30 • Informação – 45.000 medições 9 5.673 commits 30 métricas 170.190 medições Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  10. 10. Mineração de Dados: Regras de Associação • Medidas de Interesse – Suporte – Confiança – Lift João ↓ Complexity Segunda Não Compila 10 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  11. 11. Objetivos 1. Fornecer informações relevantes à tomada de decisões gerenciais 2. Auxiliar o monitoramento da qualidade 3. Identificar padrões evolutivos 11 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  12. 12. Abordagem: Visão Geral 12 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  13. 13. Fase de Medição 13 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  14. 14. Cerca de 30 Métricas • Métricas Simples (Diretas) – 11 de QMOOD – Outras • Complexidade Ciclomática de McCabe (TCC) • LOC • Número de Métodos (NOM) • Métricas Compostas (Indiretas) – 6 Atributos de Qualidade – Densidade de Complexidade (= TCC / NOM) 14 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  15. 15. Delta Versão 11 Versão 12 commit 260,000 +1.000 Modification 15 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013 261,000
  16. 16. Fase de Mineração – Quem: • Desenvolvedor – Quando • Hora • Turno de trabalho • Dia da semana – Como • Quantidade de arquivos • Métricas 16 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  17. 17. Fase de Apresentação 17 Fase de Apresentação Gráficos do Histórico Regras de Associação Tabela de Comportamento Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  18. 18. Experimento 1: Regras Sobre a Evolução • Questão de Pesquisa: A mineração de dados é capaz de obter informações relevantes sobre a evolução do projeto? • Métricas: TCC, Reu, Ent, LOC e DSC. • Metadados do commit: hora, desenv. e compila. Projeto Quantidade de Desenvolvedores Quant. de Artefatos Revisões que compilam Revisões que não compilam Total de revisões Ultima revisão medida Maven Javadoc Plugin 21 795 248 81 329 1232525 Maven GWT Plugin 6 463 252 60 312 14772 IdUFF 31 1068 1355 154 1509 22695 Publico-core 21 117 127 7 134 21633 19 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  19. 19. Regras Positivas do IdUFF # Regra Sup. Conf. Lift Base 1 Se a quantidade de classes aumenta, Então nove ou mais artefatos alterados. 0,14 0,72 3,11 B 2 Se a quantidade de linhas de código diminui, Então o entendimento aumenta. 0,03 0,20 2,86 B 3 Se a reusabilidade diminui, Então o entendimento aumenta. 0,02 0,17 2,43 B 4 * Se a quantidade de classes aumenta, Então a reusabilidade aumenta. 0,15 0,77 2,23 B 5 Se Tywin faz alterações, Então três ou quatro artefatos alterados. 0,01 0,28 2,00 B 6 Se Stannis faz alterações, Então nove ou mais artefatos alterados. 0,01 0,39 1,76 A 7 Se Robb faz alterações, Então complexidade diminui. 0,01 0,43 1,43 A 8 * Se Stannis faz alterações, Então a complexidade diminui. 0,01 0,36 1,20 A 9 * Se Tywin faz alterações, Então compila. 0,03 1,0 1,11 A 10 Se Renly faz alterações, Então compila. 0,02 1,0 1,11 A 20 8. Stannis é um desenvolvedor experiente que faz refatorações. 4. Foco em reusabilidade pela equipe bem sucedido. 9. Tywin sempre se preocupou em publicar código que funciona. Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  20. 20. Regras Negativas do IdUFF # Regra Sup. Conf. Lift Base 1 Se a quantidade de classes diminui, Então a reusabilidade diminui. 0,01 0,75 4,61 B 2 * Se Jofrey faz alterações, Então não compila. 0,01 0,32 3,22 A 3 Se Stannis faz alterações, Então a quantidade de linhas de código diminui. 0,01 0,41 2,65 B 4 Se Tyrion faz alterações, Então a complexidade aumenta. 0,00 1,0 2,30 B 5 Se o commit é na sexta-feira, então a reusabilidade diminui. 0,02 0,3 2,05 B 6 * Se a quantidade de classes aumenta, Então o entendimento diminui. 0,18 0,94 2,04 B 7 * Se o commit é na sexta-feira , Então não compila. 0,15 0,11 1,50 A 8 Se Renly faz alterações, Então a complexidade aumenta. 0,01 0,5 1,33 A 9 Se Tommem faz alterações, Então a complexidade aumenta. 0,03 0,45 1,21 A 10 Se o commit é no turno da noite, Então não compila. 0,02 0,12 1,20 A 21 0,00% 8,33% 11,17% 10,65% 9,15% 11,79% 0,00% 7,30% 0,00% 5,00% 10,00% 15,00% Domingo Segunda-feira Terça-feira Quarta-feira Quinta-feira Sexta-feira Sábado Geral Taxa de Não Compilação Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  21. 21. Experimento 2: Monitoramento da Qualidade • Projeto: IdUFF 1 2 3 22 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  22. 22. Experimento 2: Monitoramento da Qualidade - Delta 1 3 2 23 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  23. 23. 1 3 2 Experimento 2: Monitoramento da Qualidade 1 3 2 24 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  24. 24. Experimento 2: Monitoramento da Qualidade 1 3 2 25 1 3 2 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  25. 25. Experimento 3: Padrões Gerais • Comparação com a literatura • 16 projetos • Questão de Pesquisa: A mineração de dados é capaz de obter informações relevantes sobre o relacionamento entre métricas de software? Projeto Quantidade de Desenvolvedores Quant. De Artefatos LOC (Java) Revisões que compilam Total de revisões Ultima revisão medida Acadêmico Pós Graduação Core 9 221 10.413 102 142 4.196 IdUFF 31 1.068 151.621 1.355 1.509 22.695 Maven Changes Plugin* 10 686 8.188 230 259 1.140.265 Maven GWT Plugin* 6 463 10.816 252 312 14.772 Maven Javacc Plugin* 6 759 6.575 129 136 10.774 Maven Javadoc Plugin* 21 795 17.775 248 329 1.232.525 Maven Native Plugin* 4 1.305 9.403 148 163 13.690 Maven Nbm Plugin* 5 1.433 6.916 210 230 14.751 Maven PMD Plugin* 14 806 2.610 104 110 1.159.144 Maven Project Info Reports Plugin* 13 32 8.770 160 240 1.152.589 Maven Shade Plugin 12 84 6.650 102 104 1.300.217 Maven Versions Plugin* 6 143 17.537 182 198 13.376 Monitoria Core 6 143 10.246 133 445 23.628 Oceano Core 6 418 29.181 214 228 1.075 Oceano Web 6 117 10.984 117 179 1.077 Publico Core 21 117 9.183 127 134 21.633 26 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  26. 26. Análise Geral Comportamento Confirmações Negações A manutenibilidade afeta positivamente a flexibilidade 15 0 A flexibilidade afeta positivamente a manutenibilidade 15 0 Comportamento Confirmações Negações A flexibilidade afeta negativamente a integridade 0 15 29 Indicado por Wiegers (2003) Encontrado Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  27. 27. Principais Ameaças à validade • Quantidade de amostras – Apenas indícios de padrões gerais • Mapeamento de Wiegers • Fórmulas dos Atributos de Qualidade 30 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  28. 28. Contribuições Principais • Abordagem – Mineração – Métricas – Commits • Tabela de Comportamento • Protótipo 31 Versão 11 Versão 12 commit Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  29. 29. Trabalhos Futuros • Monitoramento da qualidade durante o desenvolvimento • Padrões gerais da engenharia de software • Predição de valores futuros 32 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  30. 30. OSTRA: UM ESTUDO DO HISTÓRICO DA QUALIDADE DO SOFTWARE ATRAVÉS DE REGRAS DE ASSOCIAÇÃO DE MÉTRICAS Daniel D. Castellani Ribeiro Orientador: Leonardo Murta Co-orientador: Alexandre Plastino Concurso de Teses e Dissertações em Qualidade de Software – CTDQS 2013

×