Skip navigation
Use este identificador para citar ou linkar para este item: http://repositorio.unb.br/handle/10482/39101
Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
2020_LuísHenriqueVieiraAmaral.pdf1,28 MBAdobe PDFVisualizar/Abrir
Registro completo de metadados
Campo DCValorIdioma
dc.contributor.advisorAlmeida, Rodrigo Bonifácio de-
dc.contributor.authorAmaral, Luis Henrique Vieira-
dc.date.accessioned2020-07-06T21:04:58Z-
dc.date.available2020-07-06T21:04:58Z-
dc.date.submitted2020-02-18-
dc.identifier.citationAMARAL, Luis Henrique Vieira. What could the source code history tell UsAbout errors. 2020. 60 f., il. Dissertação (Mestrado em Informática)—Universidade de Brasília, Brasília, 2020.pt_BR
dc.identifier.urihttps://repositorio.unb.br/handle/10482/39101-
dc.descriptionDissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2020.pt_BR
dc.description.abstractQuase todos os desenvolvedores criam software usando uma abordagem de desenvolvi- mento colaborativo. Nesse cenário, após concluir a tarefa, desenvolvedores submetem suas contribuições a um repositório remoto— disponibilizando-os para outros colabora- dores. Enquanto sequências de revisões e trabalho paralelo aumentam a produtividade do software, por outro lado, alterações simultâneas podem causar conflitos de mescla- gem. Além disso, quando duas entidades de software (por exemplo, classes, métodos, campos) são mudados frequentemente de forma simultânea, eles se tornam dependentes de co-alteração um do outro— um tipo de dependência que geralmente está oculta dos de- senvolvedores. Alguns estudos investigam como reduzir as dependências de co-alterações e de conflitos sintáticos em operações de mesclagem, mas existem algumas questões em aberto sobre esse tipo específico de dependência e se conflitos de mesclagem introduzem bugs. Neste trabalho, esclarecemos essas questões e apresentamos os resultados de uma avaliação empírica que explora os dados históricos de 34 projetos Apache, para verificar se as alterações que introduziram erros (BIC) se correlacionam com cenários de mesclagem conflitantes e commits que levam a dependências de co-alterações. Nosso estudo apresenta que o SZZ - um algoritmo para encontrar os commits que introduziram erros - rotulou 3,62 % dos cenários de mesclagem em conflito como um commit de introdução de erros e 18,77 % dos commits levam a dependências de co-alterações . Nossos resultados trazem várias implicações para pesquisadores e profissionais. Entre eles, evidenciamos que os desenvolvedores não devem ter medo de resolver conflitos, já que apenas uma pequena porcentagem de os cenários de mesclagem em conflito foi suspeita de ter introduzido bugs.pt_BR
dc.description.sponsorshipCAPESpt_BR
dc.language.isoInglêspt_BR
dc.rightsAcesso Abertopt_BR
dc.titleWhat could the source code history tell UsAbout errorspt_BR
dc.typeDissertaçãopt_BR
dc.subject.keywordEvolução de código-fontept_BR
dc.subject.keywordErrors de softwarept_BR
dc.subject.keywordSZZpt_BR
dc.subject.keywordConflitos de mesclagempt_BR
dc.subject.keywordDependências de co-alteraçõespt_BR
dc.rights.licenseA concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.bce.unb.br, www.ibict.br, http://hercules.vtls.com/cgi-bin/ndltd/chameleon?lng=pt&skin=ndltd sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra disponibilizada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data.pt_BR
dc.description.abstract1Almost all developers build software using a collaborative development approach. In this scenario, after concluding a task, developers commit their contributions to a remote repository—making them available to other contributors. While sequences of revisions and parallel working increase software productivity, on the other hand, concurrent changes might cause merge conflicts. Moreover, when two software entities (e.g. classes, methods, fields) are frequently changed together, they become co-change dependent on each other— a kind of dependency that is often hidden from the developers. Some studies investigate how to reduce co-change dependencies and syntactic conflicts in merge operations, but there are some open questions about whether this particular kind of dependency and merge conflicts introduce bugs. In this work, we shed light upon these questions and present the results of an empirical assessment that mine the historical data of 39 Apache projects, to verify if bug-introducing changes (BIC) correlate with conflicted merge sce- narios and commits that lead to co-change dependencies. Our study presents that SZZ — an algorithm to find bug introducing commits — labeled 3.62% of conflicted merge scenarios as being a bug-introducing commit and 18.77% of the commits that lead to co-change dependencies. Our results bring several implications for both researchers and practitioners. Among them, we give evidence that developers should not be afraid of solv- ing conflicts since just a small percentage of the conflicted merge scenarios are suspicious of having introduced bugs.pt_BR
dc.description.unidadeInstituto de Ciências Exatas (IE)pt_BR
dc.description.unidadeDepartamento de Ciência da Computação (IE CIC)pt_BR
dc.description.ppgPrograma de Pós-Graduação em Informáticapt_BR
Aparece nas coleções:Teses, dissertações e produtos pós-doutorado

Mostrar registro simples do item Visualizar estatísticas



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