Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouIsadora Gonsalez Alterado mais de 9 anos atrás
1
Extração de Valores de Referência Relativos para Métricas de Código Fonte Paloma Maira de Oliveira Prof. Marco Túlio Valente (Orientador)
2
Agenda Introdução Trabalhos Relacionados Solução Proposta Estudo de Caso Trabalhos Futuros UFMG, 2013
3
Introdução UFMG, 2013
4
Métricas de código-fonte UFMG, 20134 Acoplamento Coesão Complexidade Tamanho Encapsulamento Não são amplamente utilizadas para aferir a qualidade interna de produtos de software.
5
Métricas de código-fonte UFMG, 20135 Pouco usadas na prática Pouco usadas na prática Valores de Referência Instrumento efetivo de medida
6
Métricas de código-fonte UFMG, 20136 Extrair Valores de Referência Não é trivial Utiliza a experiência Cauda pesada
7
Distribuição de cauda-pesada UFMG, 20137 Exemplo LOC: » # classes analisadas: 1047; » Média aritmética = 107 LOC. » Maioria das classes menos de 50 LOC; » Possui classes com mais de 3 KLOC; Média não representativa!
8
Trabalhos Relacionados UFMG, 20138
9
Caracterização de Métricas Vários trabalhos que verificam conformidade com cauda-pesada; Importante contribuição teórica; Mas não auxiliam a extrair valores de referência na prática; UFMG, 20139 Wheeldon & Counsell [2003]Louridas et al. [2008] Baxter et al. [2006] Gao et al. [2010] Potanin et al. [2005] Concas et al. [2007] Vasa et al. [2009] Jing et al. [2006] Taube-schock et al. [2011] Vasilescu et al. [2011]
10
Extração de Valores de Referência Estatística descritiva / Especialistas – Não respeitam a distribuição dos dados; UFMG, 201310 Erni & Lewerentz [1996] Lanza & Marinescu [2006] JPL [2010]
11
Extração de Valores de Referência Métodos que consideram distribuições de cauda-pesada UFMG, 201311 Ferreira et al. [2011] Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]
12
Modelo de Manutenibilidade do SIG.EU Metodologia empírica (100 sistemas); Novidade: ponderação por LOC; UFMG, 201312 Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]
13
Modelo de Manutenibilidade do SIG.EU; Resultado : perfis de qualidade e classificação em categorias de risco: “Complexidade de McCabe: 6 - low risk, 8 - moderate risk, 14 - high risk, >14 – very high risk” [Alves, 2010] - ICSM UFMG, 201313 Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]
14
Extração de Valores de Referência Métodos que consideram distribuições de cauda-pesada UFMG, 201314 Ferreira et al. [2011] Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]
15
Ferreira et al. [2011] Metodologia empírica (40 sistemas) 6 métricas: LCOM, DIT, COF, AC, NOMP e NOAP; Baseada em propriedades estatísticas: UFMG, 201315
16
Resultado Classificação em 3 categorias: Bom, Regular e Ruim “LCOM - Good: 0; regular: 1–20; bad: greater than 20” [Ferreira,2011] – Journal of Systems and Software UFMG, 201316 Ferreira et al. [2011]
17
Avaliação Crítica – Valor de Referência Absoluto; – Objetivo é classificar entidades; – Classes com valores alto são consideradas ruins ou de alto risco; – Na prática é comum ter classes com alto valor UFMG, 201317 Ferreira et al. [2011] Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]
18
Solução Proposta UFMG, 201318
19
Nossa proposta Valores de Referência Relativos (VRR) Seguidos pela maioria das entidades; VRR que reflitam a prática ; A partir de repositório de sistemas ; UFMG, 201319
20
Nossa proposta Extrair valores de referência relativos M - métrica de código fonte; k - limite superior; p - é a porcentagem mínima de entidades que devem seguir esse limite. UFMG, 201320
21
Método empírico para extrair VRR UFMG, 201321 Exemplo: – Métrica: Número de Atributos (NOA) – Repositório: 106 sistemas Java;
22
Nossa proposta: UFMG, 201322
23
Valores de referência relativos UFMG, 201323
24
Método empírico para extrair VRR UFMG, 201324 Calcular p e k – Corpus: repositório de sistemas; – MIN : regras de projetos reais; – TAIL : regras de projetos idealizadas;
25
Método empírico para extrair VRR UFMG, 201325 Calcular p e k – MIN : – regras de projetos reais; – % mínima de sistemas que seguem uma prática amplamente usada;
26
Método empírico para extrair VRR UFMG, 201326 Calcular p e k – TAIL : – regras de projetos idealizadas; – Percentil onde começa a cauda da distribuição; – Existem classes com 100 atributos, contudo, não representam uma classe “ideal”
27
Método empírico para extrair VRR UFMG, 201327
28
Exemplo de Parâmetros - NOA UFMG, 201328
29
Método empírico para extrair VRR UFMG, 201329
30
Método empírico para extrair VRR UFMG, 201330 Retorna a % de sistemas do corpus que seguem o VRR para o par [p,k]
31
Exemplo – NOA - ComplianceRate UFMG, 201331 ComplianceRate para diferentes valores de p e k Função crescente de acordo com k; Crescimento mais lento quando p aumenta;
32
Exemplo – NOA - ComplianceRate UFMG, 201332 ComplianceRate[85, 17] = 100%
33
Método empírico para extrair VRR UFMG, 201333 Penaliza CompliaceRate < MIN%
34
Exemplo – NOA - ComplianceRate UFMG, 201334 ComplianceRate[85, 17] = 100% MIN = 90% Penalty1[85, 17] = 0
35
Método empírico para extrair VRR UFMG, 201335 Penaliza CompliaceRate quando k > TailMedian*
36
Método empírico para extrair VRR SistemaTail: 90% Trove3 JUnit4 Lucene8 Weka14 TailMedian6 UFMG, 201336 TailMedian: é a mediana do TAIL de todos os sistemas do corpus; Exemplo: Corpus – 4 sistemas:
37
Método empírico para extrair VRR UFMG, 201337 Penaliza CompliaceRate quando k > TailMedian*
38
Exemplo – NOA - ComplianceRate UFMG, 201338 ComplianceRate[85, 17] = 100% K = 17 MedianTail = 9 Penalty2[17]: (17-9)/9 = 0,89 K > MedianTail
39
Método proposto para extrair VRR UFMG, 201339 O valor de referência relativo é o menor valor encontrado para ComplianceRatePenalty ComplianceRatePenalty: média ponderada entre as penalidades
40
NOA - ComplianceRatePenalty UFMG, 201340 Menor
41
NOA - ComplianceRatePenalty UFMG, 201341 ComplianceRatePenalty[85, 17] = 0,89/3 = 0,29 Equilíbrio entre regras reais x idealizadas Menor
42
NOA - ComplianceRatePenalty UFMG, 201342 ComplianceRatePenalty = 0 em 5 casos: [75,7] [75,8] [75,9] [80,8] [80,9] Critério de desempate Maior p e menor k Critério de desempate Maior p e menor k [80,8] [80,9] Menor
43
NOA - ComplianceRatePenalty UFMG, 201343 Valor de referência relativo para a métrica NOA [p,k] = [80,8] Valor de referência relativo para a métrica NOA [p,k] = [80,8]
44
VRR - NOA UFMG, 201344
45
O que está na cauda? UFMG, 201345 Classes com alto valor de NOA Considerando apenas sistemas que atendem o VRR
46
Estudo de Caso: Qualitas Corpus UFMG, 201346 classes com valores altos para NOA normalmente são Data Classes; usadas apenas para armazenar constantes globais ; AspectJ - a grande maioria são atributos que armazenam mensagens de erro.
47
Estudo de Caso UFMG, 201347
48
Estudo de Caso UFMG, 201348 Extração de VRR Extração para um subcorpus Análise histórica Análise de desigualdade
49
Estudo de Caso: Qualitas Corpus UFMG, 201349 versão 20101126r com 106 sistemas Fonte: Vasilescu et al. [ICSM, 2011]
50
Estudo de Caso: Qualitas Corpus UFMG, 201350 Métricas: – Tamanho: NOM – Acoplamento: FAN-OUT – Complexidade: WMC – Encapsulamento: PUBA/NOA
51
Estudo de Caso: Qualitas Corpus UFMG, 201351 Análise da distribuição
52
Estudo de Caso: Qualitas Corpus UFMG, 201352
53
Valores de referência relativos UFMG, 201353
54
Sistemas outliers UFMG, 201354
55
Estudo de Caso VRR para um subcorpus UFMG, 201355
56
VRR para um subcorpus UFMG, 201356 Domínio Tools – 26 sistemas; Tools - subconjunto do Qualitas Corpus; VRR ligeiramente maiores para os parâmetros p e k;
57
VRR para um subcorpus UFMG, 201357 Exemplo Corpus original – 106 sistemas Domínio Tools – 26 sistemas
58
Corpus x Subcorpus UFMG, 201358 função quantil da mediana dos valores de WMC para o corpus e subcorpus;
59
Corpus x Subcorpus UFMG, 201359 Diferença apenas nos últimos quantis; No subcorpus as classes da cauda tendem a ser maiores;
60
VRR para um subcorpus UFMG, 201360 Domínio Tools – 26 sistemas Weka era outlier para FAN-OUT; Importância do Corpus no método; O método reclassifica sistemas de acordo com o Corpus;
61
Estudo de Caso Análise Histórica UFMG, 201361
62
Análise Histórica UFMG, 201362 VRR são válidos p/ diferentes versões? Sistemas considerados: Qualitas e COMETS Intervalos de bi-semanas;
63
Análise Histórica UFMG, 201363 FAN-OUT (p = 80, k = 15)
64
Análise Histórica UFMG, 201364 VRR capturam práticas de projetos duradouras; Sistemas não outliers apresentaram o mesmo comportamento em todas as versões analisadas;
65
Estudo de Caso Análise de Desigualdade UFMG, 201365
66
Análise de Desigualdade UFMG, 201366 Índice de GINI 0 - perfeita igualdade 1 - desigualdade total Sistemas que atendem o VRR; Sistemas outliers: JParser e CheckStyle JParser – Gini = 0,26 CheckStyle – Gini = 0,61
67
Análise de Desigualdade UFMG, 201367 JParser e Checkstyle não parecem ser diferentes em termos de qualidade interna;
68
Discussão UFMG, 201368 Staircase-effects – Refatorações podem mudar o estado de um sistema;
69
Discussão UFMG, 201369 Tolerância a Bad Smells – VRR propostos toleram uma porcentagem de classes com alto valor; – Tais classes tendem a representar bad smells; – Contudo, não é visto como uma ameaça à qualidade global de um sistema;
70
Discussão UFMG, 201370 Propriedades Estatísticas mediana não é usada para definir um valor de referência; usada simplesmente para penalizar Compliance Rates;
71
Trabalhos Futuros UFMG, 201371
72
Situação Atual UFMG, 201372 Método empírico para extrair VRR; Viabilidade por meio de estudo de caso – Subcorpus; – Análise histórica; – Análise de desigualdade;
73
Trabalhos futuros UFMG, 201373
74
Trabalhos futuros UFMG, 201374 Dois Novos Estudos de caso: 1.Ampliar o conjunto de métricas: 10 métricas; 2.Extrair VRR para diferentes contextos: tamanho do sistema, domínio e linguagem de programação; Reutilizar os dados de Zhang et al. [ICSM, 2013]
75
Trabalhos futuros UFMG, 201375 Ferramenta de Apoio Métricas VRR Método proposto Outliers Entrada Processamento Saída
76
Trabalhos futuros UFMG, 201376 Comparação com outras Abordagens – Alves et al. [2010] e Ferreira et al. [2011] – utilizando um mesmo conjunto de sistemas e métricas. – Enriquecer o capítulo de revisão da literatura com um estudo comparativo real
77
Trabalhos futuros UFMG, 201377 Aplicação - Identificar débito técnico (TD) – Metáfora inspirada em uma dívida financeira; – VRR - pagar “dívida” decorrente de um TD excessivo Débito Técnico Débito Técnico Bad Smells Análise Estática Violação de Modularidade
78
Publicações UFMG, 201378 Paloma Oliveira; Hudson Borges; Marco Tulio Valente; Heitor Costa. Metrics Based Detection of Similar Software. SEKE, 2013. Paloma Oliveira; Hudson Borges; Marco Tulio Valente; Heitor Costa. Uma Abordagem para Verificação de Similaridade entre Sistemas Orientados a Objetos. SBQS, 2012.
79
Cronograma UFMG, 201379
80
UFMG, 201380 Previsão de defesa Dezembro/2014
81
Obrigada!
82
Método empírico para extrair VRR UFMG, 201382 Calcular p e k – Exemplo TAIL : – Corpus = 4 sistemas e Tail = 90% Sistema75%80%85%90% Trove 233 3 JUnit 223 4 Lucene 456 8 Weka 7810 14
83
Análise Histórica UFMG, 201383 NOM (p = 80, k = 17)
84
Análise Histórica UFMG, 201384 WMC (p = 75, k = 32)
85
Análise Histórica UFMG, 201385 PUBA/NOA (p = 75, k = 0,1)
86
Discussão UFMG, 201386 Requisitos – Composição; – Agregação; – Simetria;
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.