Use este identificador para citar ou linkar para este item: http://hdl.handle.net/1843/ESBF-AAFJ7Z
Tipo: Tese de Doutorado
Título: Extracting relative thresholds for source code metrics
Autor(es): Paloma Maira de Oliveira
Primeiro Orientador: Marco Tulio de Oliveira Valente
Primeiro membro da banca : Dalton Dario Serey Guerrero
Segundo membro da banca: Eduardo Magno Lages Figueiredo
Terceiro membro da banca: Eduardo Santana de Almeida
Quarto membro da banca: Kecia Aline Marques Ferreira
Quinto membro da banca: Mariza Andrade da Silva Bigonha
Resumo: 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.
Assunto: Computação
Engenharia de software
Software Controle de qualidade
Idioma: Inglês
Editor: Universidade Federal de Minas Gerais
Sigla da Instituição: UFMG
Tipo de Acesso: Acesso Aberto
URI: http://hdl.handle.net/1843/ESBF-AAFJ7Z
Data do documento: 16-Dez-2015
Aparece nas coleções:Teses de Doutorado

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
palomamaira.pdf2.28 MBAdobe PDFVisualizar/Abrir


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