extração de valores de referência relativos para métricas de código fonte paloma maira de...

Download 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)

Post on 21-Apr-2015

102 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • Extrao de Valores de Referncia Relativos para Mtricas de Cdigo Fonte Paloma Maira de Oliveira Prof. Marco Tlio Valente (Orientador)
  • Slide 2
  • Agenda Introduo Trabalhos Relacionados Soluo Proposta Estudo de Caso Trabalhos Futuros UFMG, 2013
  • Slide 3
  • Introduo UFMG, 2013
  • Slide 4
  • Mtricas de cdigo-fonte UFMG, 20134 Acoplamento Coeso Complexidade Tamanho Encapsulamento No so amplamente utilizadas para aferir a qualidade interna de produtos de software.
  • Slide 5
  • Mtricas de cdigo-fonte UFMG, 20135 Pouco usadas na prtica Pouco usadas na prtica Valores de Referncia Instrumento efetivo de medida
  • Slide 6
  • Mtricas de cdigo-fonte UFMG, 20136 Extrair Valores de Referncia No trivial Utiliza a experincia Cauda pesada
  • Slide 7
  • Distribuio de cauda-pesada UFMG, 20137 Exemplo LOC: # classes analisadas: 1047; Mdia aritmtica = 107 LOC. Maioria das classes menos de 50 LOC; Possui classes com mais de 3 KLOC; Mdia no representativa!
  • Slide 8
  • Trabalhos Relacionados UFMG, 20138
  • Slide 9
  • Caracterizao de Mtricas Vrios trabalhos que verificam conformidade com cauda-pesada; Importante contribuio terica; Mas no auxiliam a extrair valores de referncia na prtica; 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]
  • Slide 10
  • Extrao de Valores de Referncia Estatstica descritiva / Especialistas No respeitam a distribuio dos dados; UFMG, 201310 Erni & Lewerentz [1996] Lanza & Marinescu [2006] JPL [2010]
  • Slide 11
  • Extrao de Valores de Referncia Mtodos que consideram distribuies de cauda-pesada UFMG, 201311 Ferreira et al. [2011] Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]
  • Slide 12
  • Modelo de Manutenibilidade do SIG.EU Metodologia emprica (100 sistemas); Novidade: ponderao por LOC; UFMG, 201312 Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]
  • Slide 13
  • Modelo de Manutenibilidade do SIG.EU; Resultado : perfis de qualidade e classificao 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]
  • Slide 14
  • Extrao de Valores de Referncia Mtodos que consideram distribuies de cauda-pesada UFMG, 201314 Ferreira et al. [2011] Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]
  • Slide 15
  • Ferreira et al. [2011] Metodologia emprica (40 sistemas) 6 mtricas: LCOM, DIT, COF, AC, NOMP e NOAP; Baseada em propriedades estatsticas: UFMG, 201315
  • Slide 16
  • Resultado Classificao em 3 categorias: Bom, Regular e Ruim LCOM - Good: 0; regular: 120; bad: greater than 20 [Ferreira,2011] Journal of Systems and Software UFMG, 201316 Ferreira et al. [2011]
  • Slide 17
  • Avaliao Crtica Valor de Referncia Absoluto; Objetivo classificar entidades; Classes com valores alto so consideradas ruins ou de alto risco; Na prtica comum ter classes com alto valor UFMG, 201317 Ferreira et al. [2011] Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]
  • Slide 18
  • Soluo Proposta UFMG, 201318
  • Slide 19
  • Nossa proposta Valores de Referncia Relativos (VRR) Seguidos pela maioria das entidades; VRR que reflitam a prtica ; A partir de repositrio de sistemas ; UFMG, 201319
  • Slide 20
  • Nossa proposta Extrair valores de referncia relativos M - mtrica de cdigo fonte; k - limite superior; p - a porcentagem mnima de entidades que devem seguir esse limite. UFMG, 201320
  • Slide 21
  • Mtodo emprico para extrair VRR UFMG, 201321 Exemplo: Mtrica: Nmero de Atributos (NOA) Repositrio: 106 sistemas Java;
  • Slide 22
  • Nossa proposta: UFMG, 201322
  • Slide 23
  • Valores de referncia relativos UFMG, 201323
  • Slide 24
  • Mtodo emprico para extrair VRR UFMG, 201324 Calcular p e k Corpus: repositrio de sistemas; MIN : regras de projetos reais; TAIL : regras de projetos idealizadas;
  • Slide 25
  • Mtodo emprico para extrair VRR UFMG, 201325 Calcular p e k MIN : regras de projetos reais; % mnima de sistemas que seguem uma prtica amplamente usada;
  • Slide 26
  • Mtodo emprico para extrair VRR UFMG, 201326 Calcular p e k TAIL : regras de projetos idealizadas; Percentil onde comea a cauda da distribuio; Existem classes com 100 atributos, contudo, no representam uma classe ideal
  • Slide 27
  • Mtodo emprico para extrair VRR UFMG, 201327
  • Slide 28
  • Exemplo de Parmetros - NOA UFMG, 201328
  • Slide 29
  • Mtodo emprico para extrair VRR UFMG, 201329
  • Slide 30
  • Mtodo emprico para extrair VRR UFMG, 201330 Retorna a % de sistemas do corpus que seguem o VRR para o par [p,k]
  • Slide 31
  • Exemplo NOA - ComplianceRate UFMG, 201331 ComplianceRate para diferentes valores de p e k Funo crescente de acordo com k; Crescimento mais lento quando p aumenta;
  • Slide 32
  • Exemplo NOA - ComplianceRate UFMG, 201332 ComplianceRate[85, 17] = 100%
  • Slide 33
  • Mtodo emprico para extrair VRR UFMG, 201333 Penaliza CompliaceRate < MIN%
  • Slide 34
  • Exemplo NOA - ComplianceRate UFMG, 201334 ComplianceRate[85, 17] = 100% MIN = 90% Penalty1[85, 17] = 0
  • Slide 35
  • Mtodo emprico para extrair VRR UFMG, 201335 Penaliza CompliaceRate quando k > TailMedian*
  • Slide 36
  • Mtodo emprico 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:
  • Slide 37
  • Mtodo emprico para extrair VRR UFMG, 201337 Penaliza CompliaceRate quando k > TailMedian*
  • Slide 38
  • Exemplo NOA - ComplianceRate UFMG, 201338 ComplianceRate[85, 17] = 100% K = 17 MedianTail = 9 Penalty2[17]: (17-9)/9 = 0,89 K > MedianTail
  • Slide 39
  • Mtodo proposto para extrair VRR UFMG, 201339 O valor de referncia relativo o menor valor encontrado para ComplianceRatePenalty ComplianceRatePenalty: mdia ponderada entre as penalidades
  • Slide 40
  • NOA - ComplianceRatePenalty UFMG, 201340 Menor
  • Slide 41
  • NOA - ComplianceRatePenalty UFMG, 201341 ComplianceRatePenalty[85, 17] = 0,89/3 = 0,29 Equilbrio entre regras reais x idealizadas Menor
  • Slide 42
  • NOA - ComplianceRatePenalty UFMG, 201342 ComplianceRatePenalty = 0 em 5 casos: [75,7] [75,8] [75,9] [80,8] [80,9] Critrio de desempate Maior p e menor k Critrio de desempate Maior p e menor k [80,8] [80,9] Menor
  • Slide 43
  • NOA - ComplianceRatePenalty UFMG, 201343 Valor de referncia relativo para a mtrica NOA [p,k] = [80,8] Valor de referncia relativo para a mtrica NOA [p,k] = [80,8]
  • Slide 44
  • VRR - NOA UFMG, 201344
  • Slide 45
  • O que est na cauda? UFMG, 201345 Classes com alto valor de NOA Considerando apenas sistemas que atendem o VRR
  • Slide 46
  • Estudo de Caso: Qualitas Corpus UFMG, 201346 classes com valores altos para NOA normalmente so Data Classes; usadas apenas para armazenar constantes globais ; AspectJ - a grande maioria so atributos que armazenam mensagens de erro.
  • Slide 47
  • Estudo de Caso UFMG, 201347
  • Slide 48
  • Estudo de Caso UFMG, 201348 Extrao de VRR Extrao para um subcorpus Anlise histrica Anlise de desigualdade
  • Slide 49
  • Estudo de Caso: Qualitas Corpus UFMG, 201349 verso 20101126r com 106 sistemas Fonte: Vasilescu et al. [ICSM, 2011]
  • Slide 50
  • Estudo de Caso: Qualitas Corpus UFMG, 201350 Mtricas: Tamanho: NOM Acoplamento: FAN-OUT Complexidade: WMC Encapsulamento: PUBA/NOA
  • Slide 51
  • Estudo de Caso: Qualitas Corpus UFMG, 201351 Anlise da distribuio
  • Slide 52
  • Estudo de Caso: Qualitas Corpus UFMG, 201352
  • Slide 53
  • Valores de referncia relativos UFMG, 201353
  • Slide 54
  • Sistemas outliers UFMG, 201354
  • Slide 55
  • Estudo de Caso VRR para um subcorpus UFMG, 201355
  • Slide 56
  • VRR para um subcorpus UFMG, 201356 Domnio Tools 26 sistemas; Tools - subconjunto do Qualitas Corpus; VRR ligeiramente maiores para os parmetros p e k;
  • Slide 57
  • VRR para um subcorpus UFMG, 201357 Exemplo Corpus original 106 sistemas Domnio Tools 26 sistemas
  • Slide 58
  • Corpus x Subcorpus UFMG, 201358 funo quantil da mediana dos valores de WMC para o corpus e subcorpus;
  • Slide 59
  • Corpus x Subcorpus UFMG, 201359 Diferena apenas nos ltimos quantis; No subcorpus as class