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)

Slides:



Advertisements
Apresentações semelhantes
INSTITUTO NACIONAL DE METEOROLOGIA
Advertisements

Transporte através da membrana e osmose
EBSCOhost Básico.
PERC (Patient Education Reference Center) Tutorial de uso.
EBSCO Admin Estatísticas.
Projeto BPAD Boletim de Produção Ambulatorial Digital
Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999:
Qualidade de Software Aula 4
Geração de Tráfego Auto-Similar e Estimação do Parâmetro de Hurst através do método R/S Thiago Souto Maior.
XIV SEMANA PEDAGOGICA FAEST – UNISERRA 20 a 23 de agosto de 2012 Educar – ato de consenso ou de conflito? 23/03/2017.
TEORIA GERAL DOS CONTRATOS CLASSIFICAÇÃO
Protótipo de Simulador de Elevadores
UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Métricas de Software Prof.ª Adriana dos Santos Caparróz Carvalho.
Técnicas de orçamento de capital
FINANÇAS EM PROJETOS DE TI
Planeamento Temporal e Monitorização do Projecto de SW
UBA VII – Genética Molecular
Estatística Descritiva Aula 02
Custo de Capital Regulatório Thiago Costa Monteiro Caldeira
Medidas de Posição e Dispersão
Cartões CRC (Class Responsibility Card)
Walter de Abreu Cybis Outubro, 2003
Refactoring de Programas Java
Capítulo 6 Estimativas e Tamanho de Amostras
Porto Alegre, 5 de Outubro de 2009
-- PNOTA -- Uma Aplicação para Correção Assistida de Questões Discursivas Filipe Wall Mutz.
Estatística Prof: Msc Engª Heloísa Bernardo
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
MÉTRICAS ASSOCIADAS AO DESENVOLVIMENTO DE
Grupo 5: Fernando Lourenço Pinho Costa Rafael de Souza Santos
Princípios e Conceitos de Software(v2)
Classes e objetos Modelagem
ESTATÍSTICA: O estudo numérico dos fatos sociais
Pontifícia Universidade Católica de Campinas
Francisco Figueiredo Brasília, 31 de janeiro de 2011.
SISTEMA ENDÓCRINO AFECÇÕES 11/1/2013.
ME623 Planejamento e Pesquisa
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
Cap 4 – Métricas do Processo e Projeto de Software
Universidade do Vale do Rio dos Sinos - UNISINOS
Apresentação Monografia I
UBAIII Biologia Molecular
UBAIII Biologia Molecular
Funções e suas propriedades
Cobertura Daniella de Oliveira Costa Jonathan Silva Pereira
CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula 1
TRABALHOS DE METODOLOGIA OU TCC / UNIVEL
Sobre mim 2013.
Prof. Msc. Mauro Enrique Carozzo Todaro
BATFARM Project: Moving farms towards a cleaner rural environment
Métricas de Reuso Jorge Mascena Paulo Maciel Pós-graduação em Ciência da Computação Centro de Informática -UFPE.
CLASSES: SÃO INTERVALOS DE VARIAÇÃO DA VARIÁVEL.
Universidade Tecnológica Federal do Paraná
ANÁLISE ESTATÍSTICA II
Gestão de Riscos em e-Learning
Seleção de Atributos Ricardo Prudêncio.
PAE PROGRAMA DE ACELERAÇÃO DA ERUDIÇÃO 16/06/20131.
11 AVALAIÇÃO DOS MODELOS DE INDICADORES DE SUSTENTABILIDADE: um estudo bibliográfico de seu escopo e abrangência. Francisco I. Giocondo César (IFSP)
1 Luís Cláudio Dallier Saldanha Análise da pesquisa em EaD.
Marli Deon Sette
Estatística Aplicada Aula 8
Detecting bad smells in source code using change history information
Testes Baseados Em Riscos: Uma revisão do Estado-da- Arte Nielson Pontes Outubro, 2010.
13/11/2007 João Arthur Brunet Monteiro GMF/DSC/CEEI/UFCG Evolução de Software A Survey of Software Refactoring Reconstruction of Successful Software Evolution.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Semana /08/2012 Professor Leomir J. Borba-
Detecção de tráfego Skype na Web através de Redes Neurais Artigo Original: Freire, P. E., Ziviani, A., and Salles, R. M. (2008). Detecting skype flows.
TÉCNICAS DE ESTIMATIVAS
QUALIDADE DE SOFTWARE Prof. Carlos Augusto da Costa Carvalho.
Transcrição da apresentação:

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)

Agenda Introdução Trabalhos Relacionados Solução Proposta Estudo de Caso Trabalhos Futuros UFMG, 2013

Introdução UFMG, 2013

Métricas de código-fonte UFMG, Acoplamento Coesão Complexidade Tamanho Encapsulamento Não são amplamente utilizadas para aferir a qualidade interna de produtos de software.

Métricas de código-fonte UFMG, Pouco usadas na prática Pouco usadas na prática Valores de Referência Instrumento efetivo de medida

Métricas de código-fonte UFMG, Extrair Valores de Referência Não é trivial Utiliza a experiência Cauda pesada

Distribuição de cauda-pesada UFMG, 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!

Trabalhos Relacionados UFMG, 20138

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

Extração de Valores de Referência Estatística descritiva / Especialistas – Não respeitam a distribuição dos dados; UFMG, Erni & Lewerentz [1996] Lanza & Marinescu [2006] JPL [2010]

Extração de Valores de Referência Métodos que consideram distribuições de cauda-pesada UFMG, Ferreira et al. [2011] Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]

Modelo de Manutenibilidade do SIG.EU Metodologia empírica (100 sistemas); Novidade: ponderação por LOC; UFMG, Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]

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, Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]

Extração de Valores de Referência Métodos que consideram distribuições de cauda-pesada UFMG, Ferreira et al. [2011] Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]

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,

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, Ferreira et al. [2011]

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, Ferreira et al. [2011] Alves et al. [2010] Heitlager et al. [2007] Baggen [2012]

Solução Proposta UFMG,

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,

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,

Método empírico para extrair VRR UFMG, Exemplo: – Métrica: Número de Atributos (NOA) – Repositório: 106 sistemas Java;

Nossa proposta: UFMG,

Valores de referência relativos UFMG,

Método empírico para extrair VRR UFMG, Calcular p e k – Corpus: repositório de sistemas; – MIN : regras de projetos reais; – TAIL : regras de projetos idealizadas;

Método empírico para extrair VRR UFMG, Calcular p e k – MIN : – regras de projetos reais; – % mínima de sistemas que seguem uma prática amplamente usada;

Método empírico para extrair VRR UFMG, 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”

Método empírico para extrair VRR UFMG,

Exemplo de Parâmetros - NOA UFMG,

Método empírico para extrair VRR UFMG,

Método empírico para extrair VRR UFMG, Retorna a % de sistemas do corpus que seguem o VRR para o par [p,k]

Exemplo – NOA - ComplianceRate UFMG, ComplianceRate para diferentes valores de p e k Função crescente de acordo com k; Crescimento mais lento quando p aumenta;

Exemplo – NOA - ComplianceRate UFMG, ComplianceRate[85, 17] = 100%

Método empírico para extrair VRR UFMG, Penaliza CompliaceRate < MIN%

Exemplo – NOA - ComplianceRate UFMG, ComplianceRate[85, 17] = 100% MIN = 90% Penalty1[85, 17] = 0

Método empírico para extrair VRR UFMG, Penaliza CompliaceRate quando k > TailMedian*

Método empírico para extrair VRR SistemaTail: 90% Trove3 JUnit4 Lucene8 Weka14 TailMedian6 UFMG, TailMedian: é a mediana do TAIL de todos os sistemas do corpus; Exemplo: Corpus – 4 sistemas:

Método empírico para extrair VRR UFMG, Penaliza CompliaceRate quando k > TailMedian*

Exemplo – NOA - ComplianceRate UFMG, ComplianceRate[85, 17] = 100% K = 17 MedianTail = 9 Penalty2[17]: (17-9)/9 = 0,89 K > MedianTail

Método proposto para extrair VRR UFMG, O valor de referência relativo é o menor valor encontrado para ComplianceRatePenalty ComplianceRatePenalty: média ponderada entre as penalidades

NOA - ComplianceRatePenalty UFMG, Menor

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

NOA - ComplianceRatePenalty UFMG, 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

NOA - ComplianceRatePenalty UFMG, 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]

VRR - NOA UFMG,

O que está na cauda? UFMG, Classes com alto valor de NOA Considerando apenas sistemas que atendem o VRR

Estudo de Caso: Qualitas Corpus UFMG, 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.

Estudo de Caso UFMG,

Estudo de Caso UFMG, Extração de VRR Extração para um subcorpus Análise histórica Análise de desigualdade

Estudo de Caso: Qualitas Corpus UFMG, versão r com 106 sistemas Fonte: Vasilescu et al. [ICSM, 2011]

Estudo de Caso: Qualitas Corpus UFMG, Métricas: – Tamanho: NOM – Acoplamento: FAN-OUT – Complexidade: WMC – Encapsulamento: PUBA/NOA

Estudo de Caso: Qualitas Corpus UFMG, Análise da distribuição

Estudo de Caso: Qualitas Corpus UFMG,

Valores de referência relativos UFMG,

Sistemas outliers UFMG,

Estudo de Caso VRR para um subcorpus UFMG,

VRR para um subcorpus UFMG, Domínio Tools – 26 sistemas; Tools - subconjunto do Qualitas Corpus; VRR ligeiramente maiores para os parâmetros p e k;

VRR para um subcorpus UFMG, Exemplo Corpus original – 106 sistemas Domínio Tools – 26 sistemas

Corpus x Subcorpus UFMG, função quantil da mediana dos valores de WMC para o corpus e subcorpus;

Corpus x Subcorpus UFMG, Diferença apenas nos últimos quantis; No subcorpus as classes da cauda tendem a ser maiores;

VRR para um subcorpus UFMG, 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;

Estudo de Caso Análise Histórica UFMG,

Análise Histórica UFMG, VRR são válidos p/ diferentes versões? Sistemas considerados: Qualitas e COMETS Intervalos de bi-semanas;

Análise Histórica UFMG, FAN-OUT (p = 80, k = 15)

Análise Histórica UFMG, VRR capturam práticas de projetos duradouras; Sistemas não outliers apresentaram o mesmo comportamento em todas as versões analisadas;

Estudo de Caso Análise de Desigualdade UFMG,

Análise de Desigualdade UFMG, Í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

Análise de Desigualdade UFMG, JParser e Checkstyle não parecem ser diferentes em termos de qualidade interna;

Discussão UFMG, Staircase-effects – Refatorações podem mudar o estado de um sistema;

Discussão UFMG, 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;

Discussão UFMG, Propriedades Estatísticas mediana não é usada para definir um valor de referência; usada simplesmente para penalizar Compliance Rates;

Trabalhos Futuros UFMG,

Situação Atual UFMG, Método empírico para extrair VRR; Viabilidade por meio de estudo de caso – Subcorpus; – Análise histórica; – Análise de desigualdade;

Trabalhos futuros UFMG,

Trabalhos futuros UFMG, 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]

Trabalhos futuros UFMG, Ferramenta de Apoio Métricas VRR Método proposto Outliers Entrada Processamento Saída

Trabalhos futuros UFMG, 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

Trabalhos futuros UFMG, 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

Publicações UFMG, Paloma Oliveira; Hudson Borges; Marco Tulio Valente; Heitor Costa. Metrics Based Detection of Similar Software. SEKE, Paloma Oliveira; Hudson Borges; Marco Tulio Valente; Heitor Costa. Uma Abordagem para Verificação de Similaridade entre Sistemas Orientados a Objetos. SBQS, 2012.

Cronograma UFMG,

UFMG, Previsão de defesa Dezembro/2014

Obrigada!

Método empírico para extrair VRR UFMG, Calcular p e k – Exemplo TAIL : – Corpus = 4 sistemas e Tail = 90% Sistema75%80%85%90% Trove JUnit Lucene Weka

Análise Histórica UFMG, NOM (p = 80, k = 17)

Análise Histórica UFMG, WMC (p = 75, k = 32)

Análise Histórica UFMG, PUBA/NOA (p = 75, k = 0,1)

Discussão UFMG, Requisitos – Composição; – Agregação; – Simetria;