DEFINING METRIC THRESHOLDS FOR SOFTWARE PRODUCT LINES: A COMPARATIVE STUDY

Documentos relacionados
10 Lições Aprendidas ao Desenvolver um Estudo na Indústria

Revisão Sistemática da Literatura sobre Métodos de Localização de Características

Identifying thresholds for object-oriented software metrics

Agenda da Aula. Programação Orientada a Características com AHEAD. Característica Modular. Programação Orientada a Características (FOP)

MODELAGEM E OTIMIZAÇÃO DE SOFTWARE AUTOMOTIVOS PROPOSTA DE TRABALHO DE GRADUAÇÃO

10/10/2012. Artigo: Autores:

Sistema de Reconhecimento de Logotipos

Disciplina Medições e Qualidade de Software. Tópicos da Disciplina. Método de Avaliação. Qualidade de Software.

Um Método para Identificação de Bad Smells a partir de Diagramas de Classes

Agenda da Aula. Programação Orientada a Características com AHEAD. Característica Modular. Programação Orientada a Características (FOP)

ferramentas de detecção de Bad Smell Apresentação: Maria Luísa Costa Pinto

18/10/2013. Resumo. Os mecanismos. Introdução. Padrões de projeto (OO) Compilação condicional

Análise de Métricas Estáticas para Sistemas JavaScript

A UTILIDADE DOS VALORES REFERÊNCIA DE MÉTRICAS NA AVALIAÇÃO DA QUALIDADE DE SOFTWARES ORIENTADOS POR OBJETO.

EXTRAÇÃO SEMI - AUTOMÁTICA DE FEIÇÕES LINEARES E A CALIBRAÇÃO DOS PARÂMETROS INTRÍNSECOS DE CÂMERAS Projeto de Pesquisa PIBIC/CNPq ( )

Esteganografia em Vídeos: Revisão Sistemática

UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO

Índice. Classificação de textos para o ensino de português como segunda língua. Índice. technology from seed

Diego Martin Mancini Orientador: Prof. Paulo A. V. de Miranda Instituto de Matemática e Estatística Universidade de São Paulo

Revisão Sistemática. Profa. Fátima L. S. Nunes. Semana do Livro 2018 EACH - USP. Profa. Fátima Nunes

Avaliação de Desempenho de Sistemas Operacionais em dispositivos embarcados para a provisão de serviços em Internet das Coisas

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação

Análise de Difusão de Influência em redes sociais com foco na Hipótese dos Influentes

ArchLint: Uma Ferramenta para Detecção de Violações Arquiteturais usando Histórico de Versões

Extração de objetos de interesse em imagens digitais utilizando a biblioteca de Visão Computacional OpenCV

Aula 2: Planejamento da RS

Revisão/Mapeamento Sistemático

Apresentação do Curso de Gerência de Configuração

Tela Principal do ArgoUML. ArgoUML: Diagrama de Casos de Uso. Elementos do diagrama. Criar um novo diagrama. Elementos do diagrama

Composição e Geração de Aplicações usando Aspectos

TEMPLATE PARA TCC IFFAR - SVS

Usando aprendizagem de máquina para identificar anomalias de design prejudiciais à manutenibilidade: um estudo preliminar

3 Trabalhos Relacionados

CRI Minas Indústria 4.0. Case Vallourec: Golden Batch na produção de tubos

Detecção Automática de Incompatibilidades Cross-Browser utilizando Redes Neurais Artificiais

DCC / ICEx / UFMG. O Modelo CMMI. Eduardo Figueiredo.

Avaliação de atividades de programação submetidas em MOOC com emprego de técnicas de visualização

ANALISANDO TÉCNICAS DE DESENVOLVIMENTO EM REPOSITÓRIOS DE SOFTWARE ALUNO: BRENO GUSTAVO DE CARVALHO SIQUEIRA TORRES ORIENTADOR: MÁRCIO LOPES CORNÉLIO

Algoritmo CLIQUE (Clustering In QUEst)

Maringá, setembro de 2016.

ArgoUML-SPL: Uma Linha de Produtos para Modelagem de Sistemas usando UML

UNIVERSIDADE FEDERAL DA BAHIA

Diferença estrutural entre versões de um programa

Reengenharia, Refatoração e Bad Smell

ENGENHARIA DE SOFTWARE MEDIÇÃO E QUALIDADE DE SW

USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS

05/10/2014. Agenda. Feature Oriented Programming with AHEAD. Definition of Feature. Feature Oriented Programming (FOP) Program Configuration

Aula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02

Metodologia da Pesquisa em Sistemas de Informação. Aula 3. Projeto de Pesquisa. Revisão Sistemática. Profa. Fátima L. S. Nunes

Detecção e Correção Automáticas de Olhos Vermelhos

REVISÃO SISTEMÁTICA APLICADA À ENGENHARIA DE RISCOS DE PROJETOS DE SOFTWARE.

ABD Arquivos e Bibliotecas Digitais

Reutilização de Software

Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino

Plano de pesquisa de mestrado em ciência da computação. Márcio G. Morais

Dicas para Buscas de Estudos Primários durante a Condução da Revisão Sistemática

Referenciação Bibliográfica de Documentos

Extração de Aspectos. PUC Minas Instituto de Informática. Mestrado em Informática. Aluno: Marcelo Nassau Malta

Metodologia de Pesquisa em Sistemas Web e Multimídia Interativos. Projeto de Experimento

Avaliação Experimental da Relação entre Coesão e o Esforço de Compreensão de Programas: Um Estudo Preliminar

ESTRUTURA CURRICULAR ECTS ÁREA CIENTÍFICA OBRIGATÓRIOS OPCIONAIS

Automactically Extracting Class Diagrams from Spreadsheets

Caracterizando a Implementação de Processos de Reutilização do MR- MPS-SW: Resultados Preliminares

Citações e fator de impacto não refletem relevância clínica da informação em saúde

Aplicação da técnica de mineração de dados por meio do algoritmo J48 para definição de limiares de imagens de sensoriamento remoto

MANGUE Métricas e Ferramentas para Avaliação Automática da Qualidade de Código-Fonte Paulo R. M. Meirelles IME-USP

Engenharia de Software II

MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS

Reúso de Software: o cenário industrial brasileiro

UMA FERRAMENTA DE APOIO À EDIÇÃO E VALIDAÇÃO DE OVMS TEXTUAIS PARA DAR SUPORTE AO PROCESSO DE ANÁLISE AUTOMÁTICA 1

O reconhecimento facial é dividido em três etapas: i) detecção da face, ii) extração de características e iii) reconhecimento da face.

RAFTool - Ferramenta de Filtragem de Métodos, Classes e Pacotes com Medições Incomuns de Métricas de Software

Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa

Uma Linha de Produto de Software para Módulos de Aprendizagem Interativa

ANÁLISE DO DESEMPENHO DA PROTEÇÃO DIFERENCIAL SOB CONDIÇÃO DE SATURAÇÃO DOS TRANSFORMADORES DE CORRENTE

Avaliação de Tecnologias em Saúde no Brasil

Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Departamento de Computação Medições e Métricas de Software

Aplicação de Histograma de Gradientes Orientados para detecção de hidrômetros em imagens de fundo complexo

Suporte à Execução Eficiente de Aplicações em Plataformas com Paralelismo Multi-Nível

IA346 M Métodos de Pesquisa Para Engenharia de Computação. Atividade 07

Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software

BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa

AVALIAÇÃO E VALIDAÇÃO DE OBJETOS DIGITAIS

Análise comparativa de fundos de hedge brasileiros utilizando DEA e bootstrap

SQLLOMining: Obtenção de Objetos de Aprendizagem utilizando técnicas de Aprendizado de Máquina

Aula 18 Métricas e Anomalias de Modularidade

Estratégias e Perfis de Programadores Iniciantes na Identificação de Anomalias de Modularidade de Software

Avoiding code pitfalls in Aspect-Oriented Programming

Linhas de Produtos de Software. Professor: Uirá DIMAp / UFRN,

Run-Time Variability through Component Dynamic Loading

Universidade Federal de Pernambuco

Daikon Invariant Detector. Bárbara dos Santos Flores Fernanda Sant Anna Pimenta

CRIAÇÃO DE BIBLIOTECA DE METADADOS PARA FRAMEWORK DE GAMIFICAÇÃO RELATÓRIO FINAL DE PROJETO DE INICIAÇÃO CIENTÍFICA.

A Preliminary Investigation Towards the Impact of Composition Properties on Code Anomalies

UNIVERSIDADE FEDERAL DE P ERNAMBUCO

Tipos para uma Linguagem de Transformação

Construindo Jogos Digitais para apoiar o Ensino de Matemática e Ensinar a Construir e Testar Sistemas Concorrentes

Transcrição:

DEFINING METRIC THRESHOLDS FOR SOFTWARE PRODUCT LINES: A COMPARATIVE STUDY APRESENTADO POR: BRUNO LUAN DE SOUSA QUA L I DA DE E MEDIÇÃO DE SOFTWA R E U N I V E R S I DA D E F E D E R A L D E MINAS G E R A I S ( UFMG)

DADOS TÉCNICOS Título Defining Metric Thresholds for Software Product Lines: A Comparative Study. Autores Gustavo Vale; Danyllo Albuquerque; Eduardo Figueiredo; Alessandro Garcia Ano de Publicação 2015 Publicação Proceedings of the 19th International Conference on Software Product Line

ORGANIZAÇÃO DO TRABALHO Introdução Trabalhos Relacionados Configuração do Estudo Métodos para Derivação de Valores Referências para Métricas Métricas de Softwares Selecionadas Benchmarks de Linhas de Produto de Software Oráculo de Code Smells

ORGANIZAÇÃO DO TRABALHO Avaliação Correlação com LOC Distribuição das Métricas de Softwares Valores Referências derivados Identificação de Code Smells Lições Aprendidas Ameaças à Validade Conclusão e Trabalhos Futuros Agradecimentos

MOTIVAÇÃO Alto crescimento do tamanho e complexidade dos softwares. Dificuldade de controle da qualidade em Linhas de Produtos de Softwares (LPSs). Alta demanda das LPSs na indústria. Eficiência da medição é fundamental para a qualidade das LPSs. Métricas são essenciais. Altamente dependente de Valores Referências. Dificuldade uma derivação pontual desses limiares. Existência de vários métodos para derivação de Thresholds.

OBJETIVOS Comparar métodos para derivação de valores referências para LPSs. Foco na distribuição assimétrica das métricas de software. Investigar o contexto em que cada método é bem sucedido. Etapas: Construção de um referencial teórico. Escolha métricas. Agrupamento de softwares LPSs. Derivação de Valores Referências. Análise dos Valores Referências.

TRABALHOS RELACIONADOS Revisão da Literatura baseada em uma Revisão Sistemática. Bases Pesquisas: IEEExplore ; Science Direct; ACM Digital Library; El Compendex; Uso da técnica snowballing. Extração de 50 estudos primários.

TRABALHOS RELACIONADOS Sumarização dos métodos de derivação: Thresholds derivados da experiência de programação; Thresholds derivados de análise de medição; Metodologias para caracterização da distribuição de métricas;

CONFIGURAÇÃO DO ESTUDO Organizado em quatro etapas: Métodos para derivação de Thresholds. Seleção das métricas de software. Benchmarks de linha de produto de software. Oráculo para Code Smells.

CONFIGURAÇÃO DO ESTUDO Métodos para derivação de Thresholds. Comparação de três métodos nesse estudo. Métodos: Método proposto por Alves et. al. (2010). Método proposto por Ferreira et. al. (2012). Método proposto por Oliveira et. al. (2014).

CONFIGURAÇÃO DO ESTUDO Seleção das métricas de software. Métricas selecionadas. Linhas de Código (LOC); Acoplamento entre classes de objetos (CBO); Métodos ponderados por classe (WMC); Número de refinamento de constantes (NCR); Compõe uma estratégia de detecção. Coleta automática por meio de uma ferramenta: Variability Smell Detection (VSD).

CONFIGURAÇÃO DO ESTUDO Benchmarks de linha de produto de software. Foco em SPLs desenvolvidas em FOP. Repositórios utilizados na coleta: SPL2go; FeatureIDE; 47 softwares extraídos dos dois repositórios. 17 softwares extraídos de artigos. Critérios de inclusão e exclusão: Versões mais recentes; Seleção de implementações AHEAD e FeatureHouse; Total de 33 softwares selecionados.

CONFIGURAÇÃO DO ESTUDO Oráculo para Code Smells. Foi produzido um oráculo para avaliação dos valores referências. Passos seguidos: Escolha de uma LPS alvo; Definição do bad smell; Seleção de uma estratégia de detecção; Validação dos resultados com um especialista; LPS alvo: MobileMedia. Bad Smell: God Class. Estratégia de detecção: ((LOC> threshold) and (CBO> threshold) and ((WMC/LOC)> threshold)) or (NCR> threshold)

AVALIAÇÃO Planejamento: Correlação com LOC. Distribuição das métricas de softwares. Valores Limites Derivados. Identificação de Code Smells.

AVALIAÇÃO Figura 1: Correlação das métricas com LOC.

AVALIAÇÃO Figura 2: Valores da Distribuição das métricas.

AVALIAÇÃO Figura 3: Comparação dos Valores Referêcias Derivados.

AVALIAÇÃO Figura 4: Resultado de Recall e Precision.

CONCLUSÃO Este artigo mostra a importância das métricas em conjunto e dos valores referências para as mesmas. Comparação de três métodos de derivação de valores referências. Criação de um repositório com 64 LPSs. Método proposto por Alves et. al. (2010) mostrou-se mais sensível ao benchmark utilizado. LOC, WMC e NCR possuem distribuição de cauda pesada e CBO possui uma distribuição diferente.

CONCLUSÃO Método proposto por Alves et. al. (2010) mostrou-se melhor na avaliação individual. Método proposto por Ferreira et. al. (2012) apresentou uma maior precisão. Método proposto por Oliveira et. al. (2014) apresentou um maior recall. Trabalhos Futuros: Explorar alguns pontos desejáveis em métodos de derivação de valores referências. Construir uma ferramenta de medição para códigos desenvolvidos em FeatureHouse. Explorar como construir benchmarks representativos.

REFERÊNCIAS Alves, T.L., Ypma, C. and Visser, J. Deriving Metric Thresholds From Benchmark Data. In Proc. of 26th Int. Conf. on Software Maintenance (ICSM), pp. 1 10, 2010. Ferreira, K., Bigonha, M., Bigonha, R., Mendes, L. and Almeida, H. Identifying Thresholds for Object-Oriented Software Metrics. Journal of Systems and Software, vol. 85, Issue 2, pp. 244 257, February, 2012. Oliveira, P., Valente, M.T. and Lima, F.P. Extracting Relative Thresholds for Source Code Metrics. In Proceedings of the Conference on Software Maintenance, and Reengineering (CSMR), pp.254-263, 2014. Vale, G., Albuquerque, D., Figueiredo, E., and Garcia, A. Defining metric thresholds for software product lines: a comparative study. In Proceedings of the 19th International Conference on Software Product Line (SPLC '15), ACM, New York, NY, USA, 176-185, 2015.

OBRIGADO!