SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
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
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
Atributos de qualidade
Desenvolvimento
Manutenibilidade
EntendimentoFlexibilidade
3
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 2013
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
Disciplinas
Gerência de
Configuração
Mineração
de dados
Métricas
de
Software
5
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 2013
Gerência de Configuração
6
Commit
Revisão
Versionamento
Construção
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 2013
Métricas de Software
7
Métricas de
Software
Processo Projeto Produto
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 2013
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
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
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
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
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
• 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
Delta
Versão 11 Versão 12
commit
260,000
+1.000
Modification
15
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 2013
261,000
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
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
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
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
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
Experimento 2: Monitoramento
da Qualidade
• Projeto: IdUFF
1
2
3
22
Daniel Castellani -
danielcastellani@id.uff.br - CTDQS 2013
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
é 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
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
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
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
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
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

Más contenido relacionado

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

Plano de projeto de software - SISCONI
Plano de projeto de software - SISCONIPlano de projeto de software - SISCONI
Plano de projeto de software - SISCONI
ocfelipe
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
Emmanuel Neri
 
Plano de projeto de software - SISCONI
Plano de projeto de software - SISCONIPlano de projeto de software - SISCONI
Plano de projeto de software - SISCONI
ocfelipe
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunho
userrx
 

Similar a SBQS 2013 - Apresentação CTDQS - Ostra - Daniel Castellani (20)

Docker, jenkins e gradle para tomar o controle de sua entrega
Docker, jenkins e gradle para tomar o controle de sua entregaDocker, jenkins e gradle para tomar o controle de sua entrega
Docker, jenkins e gradle para tomar o controle de sua entrega
 
Apostila PipeNetwork - Civil 3D
Apostila PipeNetwork - Civil 3DApostila PipeNetwork - Civil 3D
Apostila PipeNetwork - Civil 3D
 
O Livro Completo da Engenharia de Dados.pdf
O Livro Completo da Engenharia de Dados.pdfO Livro Completo da Engenharia de Dados.pdf
O Livro Completo da Engenharia de Dados.pdf
 
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosQConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
 
TDC2018SP | Trilha Cloud - Como eu reduzi cerca de 50% do custo de Cloud da e...
TDC2018SP | Trilha Cloud - Como eu reduzi cerca de 50% do custo de Cloud da e...TDC2018SP | Trilha Cloud - Como eu reduzi cerca de 50% do custo de Cloud da e...
TDC2018SP | Trilha Cloud - Como eu reduzi cerca de 50% do custo de Cloud da e...
 
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio PimentaTDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
 
UFF Tech 2013 - Benefícios e Desafios do Continuous Delivery - Daniel Castel...
 UFF Tech 2013 - Benefícios e Desafios do Continuous Delivery - Daniel Castel... UFF Tech 2013 - Benefícios e Desafios do Continuous Delivery - Daniel Castel...
UFF Tech 2013 - Benefícios e Desafios do Continuous Delivery - Daniel Castel...
 
Revista programar 17
Revista programar 17Revista programar 17
Revista programar 17
 
URA
URAURA
URA
 
Plano de projeto de software - SISCONI
Plano de projeto de software - SISCONIPlano de projeto de software - SISCONI
Plano de projeto de software - SISCONI
 
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Plano de projeto de software - SISCONI
Plano de projeto de software - SISCONIPlano de projeto de software - SISCONI
Plano de projeto de software - SISCONI
 
Aula2
Aula2Aula2
Aula2
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunho
 
Projetos Estruturados de Redes - Parte 1
Projetos Estruturados de Redes - Parte 1Projetos Estruturados de Redes - Parte 1
Projetos Estruturados de Redes - Parte 1
 
Crystal method
Crystal methodCrystal method
Crystal method
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 

Último

ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
LeloIurk1
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
rosenilrucks
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
WagnerCamposCEA
 

Último (20)

PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
praticas experimentais 1 ano ensino médio
praticas experimentais 1 ano ensino médiopraticas experimentais 1 ano ensino médio
praticas experimentais 1 ano ensino médio
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...
Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...
Modelo de Plano Plano semanal Educação Infantil 5 anossemanal Educação Infant...
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptxProjeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 

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

  • 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. 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
  • 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
  • 6. Gerência de Configuração 6 Commit Revisão Versionamento Construção Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  • 7. Métricas de Software 7 Métricas de Software Processo Projeto Produto Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  • 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. 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. 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. 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. Abordagem: Visão Geral 12 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  • 13. Fase de Medição 13 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  • 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. 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. 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. 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. 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. 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. 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. Experimento 2: Monitoramento da Qualidade • Projeto: IdUFF 1 2 3 22 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  • 22. Experimento 2: Monitoramento da Qualidade - Delta 1 3 2 23 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  • 23. 1 3 2 Experimento 2: Monitoramento da Qualidade 1 3 2 24 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  • 24. Experimento 2: Monitoramento da Qualidade 1 3 2 25 1 3 2 Daniel Castellani - danielcastellani@id.uff.br - CTDQS 2013
  • 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. 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. 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. 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. 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. 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