Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/ESBF-AAFJ7Z
Type: Tese de Doutorado
Title: Extracting relative thresholds for source code metrics
Authors: Paloma Maira de Oliveira
First Advisor: Marco Tulio de Oliveira Valente
First Referee: Dalton Dario Serey Guerrero
Second Referee: Eduardo Magno Lages Figueiredo
Third Referee: Eduardo Santana de Almeida
metadata.dc.contributor.referee4: Kecia Aline Marques Ferreira
metadata.dc.contributor.referee5: Mariza Andrade da Silva Bigonha
Abstract: Diversas métricas de código fonte já foram propostas para aferir a qualidade interna de sistemas orientados a objetos. No entanto, tais métricas são pouco utilizadas na prática. Um dos motivos é a falta de valores de referência confiáveis. Assim, nesta proposta de tese propõe-se o conceito de valores de referência relativos para avaliar métricas que estão em conformidade com distribuições de cauda-pesada (heavy-tailed). Os valores de referência propostos são ditos relativos, pois eles devem ser seguidos pela maioria das entidades de código fonte, contudo tolera-se um número de entidades acima do limite superior definido. Foi proposto um método empírico para extração de valores de referência relativos a partir de um repositório de sistemas. O método proposto foi aplicado usando o repositório Qualitas Corpus. Além disso, nós executamos uma análise extensiva dos valores de referência: (i) inicialmente, nós aplicamos os valores de referência relativo em uma amostra de 308 repositórios populares disponíveis no GitHub. Nós concluímos que a maioria dos repositórios seguem os valores de referência e que sistemas que não seguem os valores de referência, são geralmente aplicação Android, as quais possuem poucas classes com tendência a God Class; (ii) nós comparamos nossos valores de referência relativo com valores de referência extraídos usando o método SIG, um método amplamente usando na indústria de software. Com esse estudo, nós concluímos que sistemas que não seguem os valores de referência relativo, são sistemas considerados de alto risco de acordo com o SIG método; (iii) nós avaliamos a influência do contexto em nossos resultados e nós concluímos que o impacto da mudança de contexto nos valores de referência relativo é limitado; (iv) nós executamos uma análise histórica para verificar se os valores de referência relativos são válidos em diferentes versões de um sistema. Nos concluímos que nossos valores de referência capturam práticas de software duradoura; (v) nós analisamos se classes que não seguem os valores de referência são importante em termos de manutenção. Nós concluímos que tais classes são importantes, uma vez que elas são frequentemente modificadas; (vi) nós investigamos se existe relação entre densidade bad smells em um sistema e sua aderência ao valores de referência relativos. Nós não encontramos evidências que sistemas que não seguem os valores de referência possuam mais bad smells; (vii) finalmente, nós reportamos os resultados de um estudo realizado para validar nosso método com desenvolvedores. Nós concluímos que sistemas com boa qualidade seguem os valores de referência propostos.
Abstract: Meaningful thresholds are needed for promoting software metrics as an effective instrument to measure the internal quality of systems. To address this challenge, we propose in this thesis the concept of relative thresholds for evaluating metrics data following heavy-tailed distributions. The proposed concept assumes that metric thresholds should be followed by most entities, but that it is also natural to have entities in the 'long-tail' that do not follow the defined limits. We describe an empirical method for deriving relative thresholds from a set of systems and apply this method to the well-known Qualitas Corpus. We compare the proposed thresholds with thresholds extracted according to a method largely used by the software industry. We also evaluate our method under different contexts and using the history of versions of five systems. Finally, we validate our method with software practitioners. Overall, we found that good quality systems as cited by experts follow the thresholds.
Subject: Computação
Engenharia de software
Software Controle de qualidade
language: Inglês
Publisher: Universidade Federal de Minas Gerais
Publisher Initials: UFMG
Rights: Acesso Aberto
URI: http://hdl.handle.net/1843/ESBF-AAFJ7Z
Issue Date: 16-Dec-2015
Appears in Collections:Teses de Doutorado

Files in This Item:
File Description SizeFormat 
palomamaira.pdf2.28 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.