Banca de DEFESA: MARCOS BARBOSA DÓSEA

Uma banca de DEFESA de DOUTORADO foi cadastrada pelo programa.
DISCENTE : MARCOS BARBOSA DÓSEA
DATA : 16/08/2021
HORA: 08:30
LOCAL: Conferência Web
TÍTULO:

Valores Limiares de Métricas Sensíveis a Design baseados em Papéis de Design


PALAVRAS-CHAVES:

Software Design, Limiares de Métricas, Decisões de Design, Papel de Design, Papel de Design da Classe, Análise de Código, Ferramentas de Análise Estática, Qualidade de Software, Estudos Empíricos


PÁGINAS: 155
RESUMO:

O estado da arte das técnicas para identificação de anomalias de código são baseadas na análise de métricas do código. Entretanto, muitas dessas técnicas possuem baixa acurácia. Uma possível razão é porque os elementos do código-fonte, tais como métodos, implementados com diferentes decisões de design, são avaliados usando os mesmos valores limiares para cada métrica. Outra possível razão é que estes valores limiares são geralmente derivados de classes que foram desenvolvidas usando decisões de design distintas. Usar valores limiares genéricos e que não consideram o contexto de design de cada classe avaliada pode gerar muitos falsos positivos e falsos negativos para os desenvolvedores de software. Nosso objetivo é considerar o papel de design desempenhado por cada classe do sistema como contexto para derivar valores limiares e detectar anomalias de código. Nossa principal hipótese é que valores limiares que consideram o papel de design da classe como contexto, podem apontar anomalias de código mais relevantes para os desenvolvedores de software. Nós conduzimos alguns estudos experimentais para definição de duas técnicas que consideram o papel de design como contexto. Primeiro, nós executamos uma survey de larga escala que mostrou que profissionais possuem dificuldades para ajustar ferramentas de análise estática de código nos seus processos de desenvolvimento de software. Uma possível razão reconhecida pelos profissionais é que muitas dessas ferramentas usam um valor limiar genérico para cada métrica que pode não ser adequado para avaliar todas as classes do sistema. Segundo, nós definimos uma heurística para identificar o principal papel de design de cada classe e conduzimos um estudo empírico para investigar a influência de algumas decisões de design na distribuição dos valores das métricas de software. Nossas descobertas mostram que as decisões de design que mais influenciaram na distribuição dos valores das métricas foram: (i) papel de design de classe (ii) bibliotecas utilizadas, (iii) estilo de codificação, (iv) estratégia de codificação usada para tratamento de exceção, e (v) estratégia para realizar log e depuração do código. Portanto, essa decisões de design poderiam ser consideradas como contexto para derivar valores limiares. Nós usamos essas descobertas para propor duas novas técnicas para derivar valores limiares sensíveis ao design do sistema usando os papéis de design da classe como contexto. Em seguida, realizamos dois estudos experimentais para avaliar as técnicas propostas. O primeiro estudo mostrou que as técnicas melhoraram a precisão de acordo com as percepções dos desenvolvedores. Como é impossível e cansativo fazer uma avaliação completa da qualidade do código-fonte com os desenvolvedores, conduzimos um segundo estudo explorando a evolução dos projetos de software de domínios arquiteturais populares. Descobrimos que nossas técnicas melhoraram o \emph{recall} para apontar métodos efetivamente refatorados durante a evolução do software.


MEMBROS DA BANCA:
Presidente - 1710389 - CLAUDIO NOGUEIRA SANT ANNA
Interna - 287345 - CHRISTINA VON FLACH GARCIA CHAVEZ
Interno - 1674550 - MANOEL GOMES DE MENDONCA NETO
Externo à Instituição - MAURÍCIO FINAVARO ANICHE
Externo à Instituição - MARCELO DE ALMEIDA MAIA - UFU
Notícia cadastrada em: 25/11/2021 15:20
SIGAA | STI/SUPAC - - | Copyright © 2006-2024 - UFBA