Transcript
Page 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)

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)

Page 2: 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)

UFMG, 2013

Agenda

• Introdução

• Trabalhos Relacionados

• Solução Proposta

• Estudo de Caso

• Trabalhos Futuros

UFMG, 2013

Page 3: 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)

UFMG, 2013

Introdução

Page 4: 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)

UFMG, 2013 4

Métricas de código-fonte

Acoplamento

CoesãoComplexidade

TamanhoEncapsulamento

• Não são amplamente utilizadas para aferir a qualidade interna de produtos de software.

Page 5: 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)

UFMG, 2013

Métricas de código-fonte

5

Pouco usadas na prática

Valores de Referência

Instrumento efetivo de medida

Page 6: 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)

UFMG, 2013 6

Métricas de código-fonte

Extrair Valores de Referência

Não é trivial Utiliza a

experiência

Cauda pesada

Page 7: 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)

UFMG, 2013 7

Distribuição de cauda-pesada

• 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!

Page 8: 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)

UFMG, 2013 8

Trabalhos Relacionados

Page 9: 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)

UFMG, 2013 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;

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]

Page 10: 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)

UFMG, 2013 10

Extração de Valores de Referência

• Estatística descritiva / Especialistas

–Não respeitam a distribuição dos dados;

Erni & Lewerentz [1996]

Lanza & Marinescu [2006]

JPL [2010]

Page 11: 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)

UFMG, 2013 11

Extração de Valores de Referência

• Métodos que consideram distribuições de cauda-pesada

Ferreira et al. [2011]

Alves et al. [2010]Heitlager et al. [2007]Baggen [2012]

Page 12: 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)

UFMG, 2013 12

Modelo de Manutenibilidade do SIG.EU

• Metodologia empírica (100 sistemas);

• Novidade: ponderação por LOC;

Alves et al. [2010]Heitlager et al. [2007]

Baggen [2012]

Page 13: 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)

UFMG, 2013 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

Alves et al. [2010]Heitlager et al. [2007]

Baggen [2012]

Page 14: 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)

UFMG, 2013 14

Extração de Valores de Referência

• Métodos que consideram distribuições de cauda-pesada

Ferreira et al. [2011]

Alves et al. [2010]Heitlager et al. [2007]Baggen [2012]

Page 15: 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)

UFMG, 2013 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:

Page 16: 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)

UFMG, 2013 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

Ferreira et al. [2011]

Page 17: 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)

UFMG, 2013 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

Ferreira et al. [2011]

Alves et al. [2010]Heitlager et al. [2007]Baggen [2012]

Page 18: 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)

UFMG, 2013 18

Solução Proposta

Page 19: 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)

UFMG, 2013 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;

Page 20: 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)

UFMG, 2013 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.

p% das entidades devem ter M k

Page 21: 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)

UFMG, 2013 21

Método empírico para extrair VRR

• Exemplo:

– Métrica: Número de Atributos (NOA)

– Repositório: 106 sistemas Java;

Page 22: 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)

UFMG, 2013 22

Nossa proposta:

Extrair valores de referência relativos

• Exemplo:

• “80% das classes devem ter NOA 8”

p% das entidades devem ter M k

Page 23: 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)

UFMG, 2013 23

Valores de referência relativos

p% das entidades devem ter M k

• “80% das classes devem ter NOA 8”

• Cauda: (1- p%) de entidades com M > K

• Exemplo: 20% das classes podem ter NOA > 8

• Equilíbrio entre regras: reais x idealizadas;

Page 24: 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)

UFMG, 2013 24

Método empírico para extrair VRR

• Calcular p e k

– Corpus: repositório de sistemas;

–MIN: regras de projetos reais;

– TAIL: regras de projetos idealizadas;

Page 25: 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)

UFMG, 2013 25

Método empírico para extrair VRR

• Calcular p e k

–MIN:

– regras de projetos reais;

–% mínima de sistemas que seguem uma

prática amplamente usada;

Page 26: 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)

UFMG, 2013 26

Método empírico para extrair VRR

• 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”

Page 27: 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)

UFMG, 2013 27

Método empírico para extrair VRR

• Calcular p e k

– Corpus: repositório de sistemas;

–MIN: regras de projetos reais;

– TAIL: regras de projetos idealizadas;

• Ponderação entre

real() x idealizado()

Page 28: 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)

UFMG, 2013 28

Exemplo de Parâmetros - NOA

– Corpus: 106 sistemas do Qualitas Corpus;

–MIN: 90% do sistemas

– TAIL: percentil 90

– : 2 (maior relevância)

– 1

Page 29: 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)

UFMG, 2013 29

Método empírico para extrair VRR

Page 30: 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)

UFMG, 2013 30

Método empírico para extrair VRR

Retorna a % de sistemas do corpus que seguem o VRR para o par [p,k]

Page 31: 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)

UFMG, 2013 31

Exemplo – NOA - ComplianceRate• ComplianceRate para diferentes valores de p e k

• Função crescente de acordo com k;• Crescimento mais lento quando p aumenta;

Page 32: 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)

UFMG, 2013 32

Exemplo – NOA - ComplianceRate

• ComplianceRate[85, 17] = 100%

Page 33: 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)

UFMG, 2013 33

Método empírico para extrair VRR

Penaliza CompliaceRate < MIN%

Page 34: 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)

UFMG, 2013 34

Exemplo – NOA - ComplianceRate

• ComplianceRate[85, 17] = 100%

• MIN = 90%

• Penalty1[85, 17] = 0

Page 35: 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)

UFMG, 2013 35

Método empírico para extrair VRR

Penaliza CompliaceRate quando k > TailMedian*

Page 36: 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)

UFMG, 2013 36

Método empírico para extrair VRR

Sistema Tail: 90%Trove 3JUnit 4

Lucene 8Weka 14

TailMedian 6

TailMedian: é a mediana do TAIL de todos os sistemas do corpus;

Exemplo: Corpus – 4 sistemas:

Page 37: 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)

UFMG, 2013 37

Método empírico para extrair VRR

Penaliza CompliaceRate quando k > TailMedian*

Page 38: 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)

UFMG, 2013 38

Exemplo – NOA - ComplianceRate

• ComplianceRate[85, 17] = 100%• K = 17• MedianTail = 9• Penalty2[17]: (17-9)/9 = 0,89

K > MedianTail

Page 39: 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)

UFMG, 2013 39

Método proposto para extrair VRR

O valor de referência relativo é o menor valor encontrado para ComplianceRatePenalty

• ComplianceRatePenalty: média ponderada entre as penalidades

Page 40: 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)

UFMG, 2013 40

NOA - ComplianceRatePenalty

Menor

Page 41: 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)

UFMG, 2013 41

NOA - ComplianceRatePenalty

• ComplianceRatePenalty[85, 17] = 0,89/3 = 0,29• Equilíbrio entre regras reais x idealizadas

Menor

Page 42: 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)

UFMG, 2013 42

NOA - ComplianceRatePenalty

• ComplianceRatePenalty = 0 em 5 casos:

[75,7] [75,8] [75,9] [80,8] [80,9]

Critério de desempate

Maior p e menor k

[80,8] [80,9]

Menor

Page 43: 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)

UFMG, 2013 43

NOA - ComplianceRatePenalty

[75,7] [75,8] [75,9] [80,8] [80,9]“80% das classes devem ter NOA 8”

Valor de referência relativo para a métrica NOA

[p,k] = [80,8]

Page 44: 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)

UFMG, 2013 44

VRR - NOA

“80% das classes devem ter NOA 8”

• Esse VRR representa um equilíbrio entre as duas forças;

• reflete uma regra de projeto real, seguida por 92% dos sistemas no Corpus;

• o limite superior k= 8 é bastante aceitável;

Page 45: 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)

UFMG, 2013 45

O que está na cauda?

Classes com alto valor de NOA

• Considerando apenas sistemas que atendem o VRR

Page 46: 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)

UFMG, 2013 46

Estudo de Caso: Qualitas Corpus

• 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.

Page 47: 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)

UFMG, 2013 47

Estudo de Caso

Page 48: 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)

UFMG, 2013 48

Estudo de Caso

• Extração de VRR

• Extração para um subcorpus

• Análise histórica

• Análise de desigualdade

Page 49: 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)

UFMG, 2013 49

Estudo de Caso: Qualitas Corpus

• versão 20101126r com 106 sistemas

Fonte: Vasilescu et al. [ICSM, 2011]

Page 50: 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)

UFMG, 2013 50

Estudo de Caso: Qualitas Corpus

• Métricas:

– Tamanho: NOM– Acoplamento: FAN-OUT– Complexidade: WMC– Encapsulamento: PUBA/NOA

Page 51: 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)

UFMG, 2013 51

Estudo de Caso: Qualitas Corpus

• Análise da distribuição

Page 52: 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)

UFMG, 2013 52

Estudo de Caso: Qualitas Corpus

Page 53: 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)

UFMG, 2013 53

Valores de referência relativos

Page 54: 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)

UFMG, 2013 54

Sistemas outliers

Page 55: 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)

UFMG, 2013 55

Estudo de Caso

VRR para um subcorpus

Page 56: 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)

UFMG, 2013 56

VRR para um subcorpus

• Domínio Tools – 26 sistemas;

• Tools - subconjunto do Qualitas Corpus;

• VRR ligeiramente maiores para os

parâmetros p e k;

Page 57: 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)

UFMG, 2013 57

VRR para um subcorpus

• Exemplo

• Corpus original – 106 sistemas

• Domínio Tools – 26 sistemas

Page 58: 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)

UFMG, 2013 58

Corpus x Subcorpus

• função quantil da mediana dos valores de WMC para o corpus e subcorpus;

Page 59: 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)

UFMG, 2013 59

Corpus x Subcorpus

• Diferença apenas nos últimos quantis; • No subcorpus as classes da cauda

tendem a ser maiores;

Page 60: 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)

UFMG, 2013 60

VRR para um subcorpus

• 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;

Page 61: 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)

UFMG, 2013 61

Estudo de Caso

Análise Histórica

Page 62: 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)

UFMG, 2013 62

Análise Histórica

• VRR são válidos p/ diferentes versões?

• Sistemas considerados: Qualitas e COMETS

• Intervalos de bi-semanas;

Page 63: 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)

UFMG, 2013 63

Análise Histórica

FAN-OUT (p = 80, k = 15)

Page 64: 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)

UFMG, 2013 64

Análise Histórica

• VRR capturam práticas de projetos

duradouras;

• Sistemas não outliers apresentaram o

mesmo comportamento em todas as

versões analisadas;

Page 65: 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)

UFMG, 2013 65

Estudo de Caso

Análise de Desigualdade

Page 66: 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)

UFMG, 2013 66

Análise de Desigualdade

• Í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

Page 67: 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)

UFMG, 2013 67

Análise de Desigualdade

• JParser e Checkstyle não parecem ser

diferentes em termos de qualidade interna;

Page 68: 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)

UFMG, 2013 68

Discussão

• Staircase-effects

– Refatorações podem mudar o estado de um

sistema;

Page 69: 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)

UFMG, 2013 69

Discussão

• 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;

Page 70: 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)

UFMG, 2013 70

Discussão

• Propriedades Estatísticas

• mediana não é usada para definir um valor de referência;

• usada simplesmente para penalizar Compliance Rates;

Page 71: 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)

UFMG, 2013 71

Trabalhos Futuros

Page 72: 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)

UFMG, 2013 72

Situação Atual

• Método empírico para extrair VRR;

• Viabilidade por meio de estudo de caso

– Subcorpus;

– Análise histórica;

– Análise de desigualdade;

Page 73: 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)

UFMG, 2013 73

Trabalhos futuros

• Aprimorar o método proposto:

– Analisar o impacto dos parâmetros

envolvidos ( e );

– Analisar o impacto do valor da constante

TAIL em diferentes métricas;

Page 74: 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)

UFMG, 2013 74

Trabalhos futuros

• 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]

Page 75: 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)

UFMG, 2013 75

Trabalhos futuros

• Ferramenta de Apoio

Métricas

VRRMétodo

propostoOutliers

Entrada Processamento Saída

Page 76: 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)

UFMG, 2013 76

Trabalhos futuros

• 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

Page 77: 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)

UFMG, 2013 77

Trabalhos futuros

• 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

Bad SmellsAnálise Estática

Violação de Modularidade

Page 78: 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)

UFMG, 2013 78

Publicações

• 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.

Page 79: 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)

UFMG, 2013 79

Cronograma

Page 80: 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)

UFMG, 2013 80

Previsão de defesa

Dezembro/2014

Page 81: 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)

Obrigada!

Page 82: 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)

UFMG, 2013 82

Método empírico para extrair VRR

• Calcular p e k

– Exemplo TAIL:

– Corpus = 4 sistemas e Tail = 90%

Sistema 75% 80% 85% 90%

Trove 2 3 3 3JUnit 2 2 3 4Lucen

e 4 5 6 8Weka 7 8 10 14

Page 83: 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)

UFMG, 2013 83

Análise Histórica

NOM (p = 80, k = 17)

Page 84: 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)

UFMG, 2013 84

Análise Histórica

WMC (p = 75, k = 32)

Page 85: 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)

UFMG, 2013 85

Análise Histórica

PUBA/NOA (p = 75, k = 0,1)

Page 86: 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)

UFMG, 2013 86

Discussão

• Requisitos

– Composição;

– Agregação;

– Simetria;


Top Related