Use este identificador para citar ou linkar para este item: https://repositorio.ufba.br/handle/ri/34683
Registro completo de metadados
Campo DCValorIdioma
dc.contributor.authorDósea, Marcos Barbosa-
dc.contributor.authorSant`Anna, Cláudio Nogueira-
dc.creatorDósea, Marcos Barbosa-
dc.date.accessioned2022-01-19T17:37:52Z-
dc.date.available2022-01-19-
dc.date.available2022-01-19T17:37:52Z-
dc.date.issued2021-08-16-
dc.identifier.citationDÓSEA, Marcos Barbosa. Design-sensitive metric thresholds based on design roles. 2021. 155 f. Tese (Doutorado) - Curso de Ciência da Computação, Instituto de Computação, Universidade Federal da Bahia, Salvador, Bahia, 2021.pt_BR
dc.identifier.urihttps://repositorio.ufba.br/handle/ri/34683-
dc.description.abstractTécnicas de última geração e ferramentas automáticas de análise estática (ASATs) para identificar cheiros de código dependem de avaliação baseada em métricas. No entanto, a maioria dessas técnicas tem baixa precisão. Uma possível razão é que os elementos do código-fonte, como métodos implementados de acordo com diferentes decisões de design, são avaliados pelo mesmo limite genérico para cada métrica. Outra razão possível é que esses limites de métrica geralmente são derivados de classes orientadas por diferentes decisões de projeto. O uso de limites de métricas genéricas que não consideram o contexto de design de cada classe avaliada pode gerar muitos falsos positivos e falsos negativos para desenvolvedores de software. Nosso objetivo é propor técnicas sensíveis ao design para derivar limites de métricas contextuais. Nossa hipótese principal é que usar o papel de design desempenhado por cada classe de sistema para definir esse contexto pode apontar cheiros de código mais relevantes para desenvolvedores de software. Realizamos alguns estudos empíricos para definir as técnicas propostas. Primeiramente, realizamos uma pesquisa em larga escala que mostrou que os profissionais reconhecem dificuldades em encaixar ASATs no processo de desenvolvimento de software. Afirmam também que não há rotina para aplicação. Uma possível razão pela qual os profissionais reconhecem que a maioria dessas ferramentas usa um único limite de métrica, que pode não ser adequado para avaliar todas as classes do sistema. Em segundo lugar, realizamos um estudo empírico para investigar se as decisões de projeto refinadas também influenciam a distribuição de métricas de software e, portanto, devem ser consideradas para derivar limites de métricas. Nossas descobertas mostram que a distribuição de métricas é sensível às seguintes decisões de design: (i) função de design da classe (ii) bibliotecas usadas, (iii) estilo de codificação, (iv) tratamento de exceção e (v) código de registro e depuração mecanismos. Usamos essas descobertas para propor duas novas técnicas para derivar limites de métricas sensíveis ao design usando a função de design de classe como contexto. Em seguida, realizamos dois estudos empíricos de grande escala para avaliá-los. O primeiro estudo mostrou que nossas técnicas propostas melhoraram a precisão de acordo com as percepções dos desenvolvedores. Como é impossível e cansativo realizar uma avaliação completa da qualidade do código-fonte com os desenvolvedores, realizamos um segundo estudo minerando a evolução de projetos de software de domínios arquiteturais populares. Descobrimos que nossas técnicas melhoraram o recall para apontar métodos efetivamente refatorados durante a evolução do software.pt_BR
dc.languageporpt_BR
dc.language.isoenpt_BR
dc.publisherUniversidade Federal da Bahiapt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectSoftware designpt_BR
dc.subjectMetric thresholdspt_BR
dc.subjectDesign decisionspt_BR
dc.subjectDesign rolept_BR
dc.subjectClass design rolept_BR
dc.subjectCode analysispt_BR
dc.subjectStatic analysis toolspt_BR
dc.subjectSoftware qualitypt_BR
dc.subjectEmpirical studiespt_BR
dc.subjectDesign de softwarept_BR
dc.subjectLimites de métricapt_BR
dc.subjectDecisões de designpt_BR
dc.subjectFunção de designpt_BR
dc.subjectFunção de design de classept_BR
dc.subjectAnálise de códigopt_BR
dc.subjectFerramentas de análise estáticapt_BR
dc.subjectQualidade do softwarept_BR
dc.subjectEstudos empíricospt_BR
dc.titleDesign-sensitive metric thresholds based on design rolespt_BR
dc.title.alternativeLimites de métricas sensíveis ao design com base nas funções de designpt_BR
dc.typeTesept_BR
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computação (PGCOMP) pt_BR
dc.publisher.initialsUFBApt_BR
dc.publisher.countryBrasilpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::ENGENHARIA DE SOFTWAREpt_BR
dc.contributor.advisor1Sant'Anna, Cláudio Nogueira-
dc.contributor.advisor1ID0000-0002-6005-5463pt_BR
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/3228159608138969pt_BR
dc.contributor.referee1Mendonça Neto, Manoel Gomes de-
dc.contributor.referee1ID0000-0002-0874-7665pt_BR
dc.contributor.referee1Latteshttp://lattes.cnpq.br/1608062196337851pt_BR
dc.contributor.referee2Chavez , Christina von Flach Garcia-
dc.contributor.referee2ID0000-0001-5172-9641pt_BR
dc.contributor.referee2Latteshttp://lattes.cnpq.br/1827829018668226pt_BR
dc.contributor.referee3Maia, Marcelo de Almeida-
dc.contributor.referee3ID0000-0003-3578-1380pt_BR
dc.contributor.referee3Latteshttp://lattes.cnpq.br/4915659948263445pt_BR
dc.contributor.referee4Aniche, Maurício Finavaro-
dc.contributor.referee4ID0000-0002-8893-2835pt_BR
dc.contributor.referee4Latteshttp://lattes.cnpq.br/5510238266048598pt_BR
dc.creator.ID0000-0002-3981-6301pt_BR
dc.creator.Latteshttp://lattes.cnpq.br/3539806302443105pt_BR
dc.description.resumoState-of-the-art techniques and Automated Static Analysis Tools (ASATs) for identifying code smells rely on metric-based assessment. However, most of these techniques have low accuracy. One possible reason is that source code elements, such as methods implemented according to different design decisions, are assessed through the same generic threshold for each metric. Other possible reason is that these metric thresholds are usually derived from classes driven by different design decisions. Using generic metric thresholds that do not consider the design context of each evaluated class can generate many false positives and false negatives for software developers. Our goal is to propose design-sensitive techniques to derive contextual metric thresholds. Our primary hypothesis is that using the design role played by each system class to define this context may point out more relevant code smells to software developers. We conducted some empirical studies to define the proposed techniques. Firstly, we performed a large-scale survey that showed that practitioners recognize difficulties in fitting ASATs into the software development process. They also claim that there is no routine for application. One possible reason practitioners recognize that most of these tools use a single metric threshold, which might not be adequate to evaluate all system classes. Secondly, we conducted an empirical study to investigate whether fine-grained design decisions also influence the distribution of software metrics and, therefore, should be considered to derive metric thresholds. Our findings show that the distribution of metrics is sensitive to the following design decisions: (i) design role of the class (ii) used libraries, (iii) coding style, (iv) exception handling, and (v) logging and debugging code mechanisms. We used these findings to propose two new techniques to derive design-sensitive metric thresholds using the class design role as context. Then, we carried out two large-scale empirical studies to evaluate them. The first study showed that our proposed techniques improved precision according to developers' perceptions. Since it is impossible and tiring to perform a complete source code quality assessment with developers, we conducted a second study mining the evolution of software projects from popular architectural domains. We found that our techniques improved recall to point out methods effectively refactored during software evolution.pt_BR
dc.publisher.departmentInstituto de Matemáticapt_BR
Aparece nas coleções:Tese (PGCOMP)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
PGCOMP-2021-Tese_Doutorado-Marcos_Barbosa_Dosea.pdf2,37 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.