00 CAMPUS ARISTÓTELES CALAZANS SIMÕES (CAMPUS A. C. SIMÕES) IC - INSTITUTO DE COMPUTAÇÃO Dissertações e Teses defendidas na UFAL - IC
Use este identificador para citar ou linkar para este item: http://www.repositorio.ufal.br/jspui/handle/riufal/6146
Tipo: Dissertação
Título: Developer´s assumptions on identifying bug-introducing changes
Título(s) alternativo(s): Premissas dos Desenvolvedores na Identificação de Mudanças que Introduzem Bugs
Autor(es): Souza, Jairo Raphael Moreira Correia de
Primeiro Orientador: Santos Neto, Baldoino Fonseca dos
metadata.dc.contributor.referee1: Ribeiro, Márcio de Medeiros
metadata.dc.contributor.referee2: Pinto, Gustavo Henrique Lima
Resumo: Durante a revisão de código, desenvolvedores podem realizar premissas que podem guiar o seu processo de revisão de código (por exemplo, os desenvolvedores podem considerar que o código com baixa cobertura de teste tem mais probabilidade de apresentar erros. Assim, eles podem concentrar sua atenção nesse trecho de código). Embora os estudos anteriores tenham investigado as premissas dos desenvolvedores envolvendo diferentes preocupações, nenhum deles concentram-se em analisar as premissas dos desenvolvedores durante a revisão de código para identificar alterações que introduzem bugs. Portanto, nosso estudo tem como objetivo investigar essas premissas, quão relevantes elas são para os desenvolvedores, por que os desenvolvedores colocam mais ou menos relevância para algumas premissas e quais premissas são consenso ou dissenso entre os eles. Para isso, utilizamos a metodologia Q para conduzir nosso estudo contendo 41 desenvolvedores analisando 41 premissas extraídas de diferentes fontes. Os resultados indicam que: (i) as premissas dos desenvolvedores estão relacionadas às características das mudanças, linguagem de programação, experiência e hábitos dos desenvolvedores, práticas organizacionais, manutenção do código, propriedade e testes; (ii) existem cinco pontos de vista comuns entre os desenvolvedores sobre a relevância das premissas; (iii) complexidade e propriedade de código (code onwership), tempo de entrega curto, práticas de desenvolvimento e familiaridade com o código são as principais razões para os desenvolvedores colocarem mais e/ou menos relevância em certas premissas; e (iv) premissas envolvendo alto número de funcionalidades (features), linguagens de programação e aceitação de solicitações de mudanças (pull-requests) apresentam mais consenso entre os desenvolvedores, enquanto que premissas envolvendo commits de merge, histórico de software, familiaridade com a linguagem de programação, reutilização de código e propriedade de código apresentam mais dissensos. Essas descobertas são um conhecimento valioso para profissionais e pesquisadores no sentido do aprimoramento de ferramentas e/ou técnicas de revisão de código para identificar mudanças que introduzem bugs.
Abstract: During the code review, developers can make assumptions that may guide their review process (e. g., developers may consider that code with low test coverage is more likely to introduce bugs. Thus, they can focus their attention on this code). Although studies have investigated developers’ assumptions involving different concerns in software engineering, none of those studies focus on analyzing developers’ assumptions when reviewing code to identify bug-introducing changes. Our study investigates those assumptions, how relevant they are for developers, why developers put more/less relevance for some assumptions, and which assumptions are consensus/dissensus among groups of developers. We apply the Qmethodology to conduct our study with 41 developers analyzing 41 assumptions extracted from different sources. The results indicate: (i) the developers’ assumptions involve concerns related to the programming language, developers’ experience and habits, organizational practices as well as code maintenance, ownership and testing; (ii) five common viewpoints among developers regarding the relevance of assumptions; (iii) code complexity and ownership, short delivery time, developers practices and familiarity with the code are the main reasons for developers to put more/less relevance to some assumptions; and (iv) while assumptions involving programming languages, features invocation and pull-request acceptance present more consensus among developers, assumptions involving merge commits, software history, familiarity with the programming language, code reuse and ownership present more dissensus. These findings are valuable knowledge for both practitioners and researchers towards improving state-of-the-art code review tools/techniques to identifying bug-introducing changes.
Palavras-chave: Computação
Software - Desenvolvimento
Software - Confiabilidade
Computation
Software – Development
Software - Reliability
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Idioma: eng
País: Brasil
Editor: Universidade Federal de Alagoas
Sigla da Instituição: UFAL
metadata.dc.publisher.program: Programa de Pós-Graduação em Informática
Citação: SOUZA, Jairo Raphael Moreira Correia de. Developer´s assumptions on identifying bug-introducing changes. 2019. 70 f. Dissertação (Mestrado em Informática) – Instituto de Computação, Programa de Pós Graduação em Informática, Universidade Federal de Alagoas, Maceió, 2019.
Tipo de Acesso: Acesso Aberto
URI: http://www.repositorio.ufal.br/handle/riufal/6146
Data do documento: 4-out-2019
Aparece nas coleções:Dissertações e Teses defendidas na UFAL - IC

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Developer´s assumptions on identifying bug-introducing changes.pdf16.04 MBAdobe PDFVisualizar/Abrir


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