Inappropriate Software Changes: Rejection and Rework

Detalhes bibliográficos
Autor(a) principal: Souza, Rodrigo Rocha Gomes e
Data de Publicação: 2015
Tipo de documento: Tese
Idioma: eng
Título da fonte: Repositório Institucional da UFBA
Texto Completo: http://repositorio.ufba.br/ri/handle/ri/18021
Resumo: Introdução: A escrita de mudanças no código-fonte para corrigir defeitos ou implementar novas funcionalidades é uma tarefa importante no desenvolvimento de software, uma vez que contribui para evoluir um sistema de software. Nem todas as mudanças, no entanto, são aceitas na primeira tentativa. Mudanças inadequadas podem ser rejeitadas por causa de problemas encontrados durante a revisão de código, durante o teste automatizado, ou durante o teste manual, possivelmente resultando em retrabalho. Nosso objetivo é entender melhor a associação estatística entre diferentes tipos de rejeição --- revisões de código negativas, commits suplementares, reversão de commits e reabertura de tíquetes ---, caracterizar seus impactos em um projeto e entender como elas são afetadas por certas mudanças de processo. Para este fim, esta tese apresenta uma análise de três grandes projetos de software livre desenvolvidos pela Mozilla Foundation, os quais sofreram mudanças significativas no seu processo, como a adoção de lançamentos frequentes. Métodos: Para perseguir nosso objetivo, nos baseamos em tíquetes e commits de um período de mais de quatro anos do histórico dos projetos. Computamos métricas sobre a ocorrência de diversos tipos de rejeição de mudanças e medimos o tempo que leva tanto para submeter uma mudança quanto para rejeitar mudanças inapropriadas. Além disso, validamos nossos resultados com desenvolvedores da Mozilla. Resultados: Descobrimos que técnicas usadas em estudos anteriores para detectar mudanças inadequadas são imprecisas; por isso, propusemos uma técnica alternativa. Determinamos que mudanças inadequadas são um problema relevante e diário, que afeta cerca de 18% de todos os tíquetes em um projeto. Também descobrimos que, quando a Mozilla adotou lançamentos frequentes, embora a proporção de commits revertidos tenha aumentado, as reversões foram realizadas mais cedo no processo.
id UFBA-2_7136e67f8bd2c07d3bdfa37ed3877b6c
oai_identifier_str oai:repositorio.ufba.br:ri/18021
network_acronym_str UFBA-2
network_name_str Repositório Institucional da UFBA
repository_id_str 1932
spelling Souza, Rodrigo Rocha Gomes eSouza, Rodrigo Rocha Gomes eChavez, Christina von Flach GarciaBittencourt, Roberto AlmeidaSant'Anna, Cláudio NogueiraGuerrero, Dalton Dario SereyGerosa, Marco Aurélio2015-08-10T11:52:14Z2015-08-10T11:52:14Z2015-08-102015-07-17http://repositorio.ufba.br/ri/handle/ri/18021Introdução: A escrita de mudanças no código-fonte para corrigir defeitos ou implementar novas funcionalidades é uma tarefa importante no desenvolvimento de software, uma vez que contribui para evoluir um sistema de software. Nem todas as mudanças, no entanto, são aceitas na primeira tentativa. Mudanças inadequadas podem ser rejeitadas por causa de problemas encontrados durante a revisão de código, durante o teste automatizado, ou durante o teste manual, possivelmente resultando em retrabalho. Nosso objetivo é entender melhor a associação estatística entre diferentes tipos de rejeição --- revisões de código negativas, commits suplementares, reversão de commits e reabertura de tíquetes ---, caracterizar seus impactos em um projeto e entender como elas são afetadas por certas mudanças de processo. Para este fim, esta tese apresenta uma análise de três grandes projetos de software livre desenvolvidos pela Mozilla Foundation, os quais sofreram mudanças significativas no seu processo, como a adoção de lançamentos frequentes. Métodos: Para perseguir nosso objetivo, nos baseamos em tíquetes e commits de um período de mais de quatro anos do histórico dos projetos. Computamos métricas sobre a ocorrência de diversos tipos de rejeição de mudanças e medimos o tempo que leva tanto para submeter uma mudança quanto para rejeitar mudanças inapropriadas. Além disso, validamos nossos resultados com desenvolvedores da Mozilla. Resultados: Descobrimos que técnicas usadas em estudos anteriores para detectar mudanças inadequadas são imprecisas; por isso, propusemos uma técnica alternativa. Determinamos que mudanças inadequadas são um problema relevante e diário, que afeta cerca de 18% de todos os tíquetes em um projeto. Também descobrimos que, quando a Mozilla adotou lançamentos frequentes, embora a proporção de commits revertidos tenha aumentado, as reversões foram realizadas mais cedo no processo.Background: Writing source code changes to fix bugs or implement new features is an important software development task, as it contributes to evolve a software system. Not all changes are accepted in the first attempt, though. Inappropriate changes can be rejected because of problems found during code review, automated testing, or manual testing, possibly resulting in rework. Our objective is to better understand the statistical association between different types of rejection---negative code reviews, supplementary commits, reverts, and issue reopening---to characterize their impacts within a project, and to understand how they are affected by certain process changes. To this end, this thesis presents an analysis of three large open source projects developed by the Mozilla Foundation, which underwent significant changes in their process, such as the adoption of rapid releases. Methods: To pursue our objective, we analyzed issues and source code commits from over four years of the projects' history. We computed metrics on the occurrence of multiple types of change rejection and measured the time it takes both to submit a change and to reject inappropriate changes. Furthermore, we validated our findings by discussing them with Mozilla developers. Results: We found that techniques used in previous studies to detect inappropriate changes are imprecise; because of that, we proposed an alternative technique. We determined that inappropriate changes are a relevant, daily problem, that affects about 18% of all issues in a project. We also discovered that, under rapid releases, although the proportion of reverted commits at Mozilla increased, the reverts were performed earlier in the process.Submitted by Rodrigo Souza (rodrigorgs@gmail.com) on 2015-08-10T11:52:14Z No. of bitstreams: 1 rodrigo-thesis-final.pdf: 3966742 bytes, checksum: a3ca54b041cfdc2f5dad0f568b6d3a61 (MD5)Made available in DSpace on 2015-08-10T11:52:14Z (GMT). No. of bitstreams: 1 rodrigo-thesis-final.pdf: 3966742 bytes, checksum: a3ca54b041cfdc2f5dad0f568b6d3a61 (MD5)software engineeringsoftware evolutionmining software repositoriessoftware qualityrelease engineeringInappropriate Software Changes: Rejection and Reworkinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisDepartamento de Ciência da ComputaçãoPrograma Multi-institucional de Pós-Graduação em Ciência da ComputaçãoUFBA-UEFS-UNIFACSbrasilinfo:eu-repo/semantics/openAccessengreponame:Repositório Institucional da UFBAinstname:Universidade Federal da Bahia (UFBA)instacron:UFBAORIGINALrodrigo-thesis-final.pdfrodrigo-thesis-final.pdfapplication/pdf3966742https://repositorio.ufba.br/bitstream/ri/18021/1/rodrigo-thesis-final.pdfa3ca54b041cfdc2f5dad0f568b6d3a61MD51LICENSElicense.txtlicense.txttext/plain1345https://repositorio.ufba.br/bitstream/ri/18021/2/license.txtff6eaa8b858ea317fded99f125f5fcd0MD52TEXTrodrigo-thesis-final.pdf.txtrodrigo-thesis-final.pdf.txtExtracted texttext/plain278203https://repositorio.ufba.br/bitstream/ri/18021/3/rodrigo-thesis-final.pdf.txt9246aa275eb65a551786ab49925120c7MD53ri/180212022-07-05 14:03:43.703oai:repositorio.ufba.br:ri/18021VGVybW8gZGUgTGljZW7vv71hLCBu77+9byBleGNsdXNpdm8sIHBhcmEgbyBkZXDvv71zaXRvIG5vIFJlcG9zaXTvv71yaW8gSW5zdGl0dWNpb25hbCBkYSBVRkJBLgoKIFBlbG8gcHJvY2Vzc28gZGUgc3VibWlzc++/vW8gZGUgZG9jdW1lbnRvcywgbyBhdXRvciBvdSBzZXUgcmVwcmVzZW50YW50ZSBsZWdhbCwgYW8gYWNlaXRhciAKZXNzZSB0ZXJtbyBkZSBsaWNlbu+/vWEsIGNvbmNlZGUgYW8gUmVwb3NpdO+/vXJpbyBJbnN0aXR1Y2lvbmFsIGRhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRhIEJhaGlhIApvIGRpcmVpdG8gZGUgbWFudGVyIHVtYSBj77+9cGlhIGVtIHNldSByZXBvc2l077+9cmlvIGNvbSBhIGZpbmFsaWRhZGUsIHByaW1laXJhLCBkZSBwcmVzZXJ2Ye+/ve+/vW8uIApFc3NlcyB0ZXJtb3MsIG7vv71vIGV4Y2x1c2l2b3MsIG1hbnTvv71tIG9zIGRpcmVpdG9zIGRlIGF1dG9yL2NvcHlyaWdodCwgbWFzIGVudGVuZGUgbyBkb2N1bWVudG8gCmNvbW8gcGFydGUgZG8gYWNlcnZvIGludGVsZWN0dWFsIGRlc3NhIFVuaXZlcnNpZGFkZS4KCiBQYXJhIG9zIGRvY3VtZW50b3MgcHVibGljYWRvcyBjb20gcmVwYXNzZSBkZSBkaXJlaXRvcyBkZSBkaXN0cmlidWnvv73vv71vLCBlc3NlIHRlcm1vIGRlIGxpY2Vu77+9YSAKZW50ZW5kZSBxdWU6CgogTWFudGVuZG8gb3MgZGlyZWl0b3MgYXV0b3JhaXMsIHJlcGFzc2Fkb3MgYSB0ZXJjZWlyb3MsIGVtIGNhc28gZGUgcHVibGljYe+/ve+/vWVzLCBvIHJlcG9zaXTvv71yaW8KcG9kZSByZXN0cmluZ2lyIG8gYWNlc3NvIGFvIHRleHRvIGludGVncmFsLCBtYXMgbGliZXJhIGFzIGluZm9ybWHvv73vv71lcyBzb2JyZSBvIGRvY3VtZW50bwooTWV0YWRhZG9zIGVzY3JpdGl2b3MpLgoKIERlc3RhIGZvcm1hLCBhdGVuZGVuZG8gYW9zIGFuc2Vpb3MgZGVzc2EgdW5pdmVyc2lkYWRlIGVtIG1hbnRlciBzdWEgcHJvZHXvv73vv71vIGNpZW5077+9ZmljYSBjb20gCmFzIHJlc3Ryae+/ve+/vWVzIGltcG9zdGFzIHBlbG9zIGVkaXRvcmVzIGRlIHBlcmnvv71kaWNvcy4KCiBQYXJhIGFzIHB1YmxpY2Hvv73vv71lcyBzZW0gaW5pY2lhdGl2YXMgcXVlIHNlZ3VlbSBhIHBvbO+/vXRpY2EgZGUgQWNlc3NvIEFiZXJ0bywgb3MgZGVw77+9c2l0b3MgCmNvbXB1bHPvv71yaW9zIG5lc3NlIHJlcG9zaXTvv71yaW8gbWFudO+/vW0gb3MgZGlyZWl0b3MgYXV0b3JhaXMsIG1hcyBtYW5077+9bSBhY2Vzc28gaXJyZXN0cml0byAKYW8gbWV0YWRhZG9zIGUgdGV4dG8gY29tcGxldG8uIEFzc2ltLCBhIGFjZWl0Ye+/ve+/vW8gZGVzc2UgdGVybW8gbu+/vW8gbmVjZXNzaXRhIGRlIGNvbnNlbnRpbWVudG8KIHBvciBwYXJ0ZSBkZSBhdXRvcmVzL2RldGVudG9yZXMgZG9zIGRpcmVpdG9zLCBwb3IgZXN0YXJlbSBlbSBpbmljaWF0aXZhcyBkZSBhY2Vzc28gYWJlcnRvLgo=Repositório InstitucionalPUBhttp://192.188.11.11:8080/oai/requestopendoar:19322022-07-05T17:03:43Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)false
dc.title.pt_BR.fl_str_mv Inappropriate Software Changes: Rejection and Rework
title Inappropriate Software Changes: Rejection and Rework
spellingShingle Inappropriate Software Changes: Rejection and Rework
Souza, Rodrigo Rocha Gomes e
software engineering
software evolution
mining software repositories
software quality
release engineering
title_short Inappropriate Software Changes: Rejection and Rework
title_full Inappropriate Software Changes: Rejection and Rework
title_fullStr Inappropriate Software Changes: Rejection and Rework
title_full_unstemmed Inappropriate Software Changes: Rejection and Rework
title_sort Inappropriate Software Changes: Rejection and Rework
author Souza, Rodrigo Rocha Gomes e
author_facet Souza, Rodrigo Rocha Gomes e
author_role author
dc.contributor.author.fl_str_mv Souza, Rodrigo Rocha Gomes e
Souza, Rodrigo Rocha Gomes e
dc.contributor.advisor1.fl_str_mv Chavez, Christina von Flach Garcia
dc.contributor.advisor-co1.fl_str_mv Bittencourt, Roberto Almeida
dc.contributor.referee1.fl_str_mv Sant'Anna, Cláudio Nogueira
Guerrero, Dalton Dario Serey
Gerosa, Marco Aurélio
contributor_str_mv Chavez, Christina von Flach Garcia
Bittencourt, Roberto Almeida
Sant'Anna, Cláudio Nogueira
Guerrero, Dalton Dario Serey
Gerosa, Marco Aurélio
dc.subject.por.fl_str_mv software engineering
software evolution
mining software repositories
software quality
release engineering
topic software engineering
software evolution
mining software repositories
software quality
release engineering
description Introdução: A escrita de mudanças no código-fonte para corrigir defeitos ou implementar novas funcionalidades é uma tarefa importante no desenvolvimento de software, uma vez que contribui para evoluir um sistema de software. Nem todas as mudanças, no entanto, são aceitas na primeira tentativa. Mudanças inadequadas podem ser rejeitadas por causa de problemas encontrados durante a revisão de código, durante o teste automatizado, ou durante o teste manual, possivelmente resultando em retrabalho. Nosso objetivo é entender melhor a associação estatística entre diferentes tipos de rejeição --- revisões de código negativas, commits suplementares, reversão de commits e reabertura de tíquetes ---, caracterizar seus impactos em um projeto e entender como elas são afetadas por certas mudanças de processo. Para este fim, esta tese apresenta uma análise de três grandes projetos de software livre desenvolvidos pela Mozilla Foundation, os quais sofreram mudanças significativas no seu processo, como a adoção de lançamentos frequentes. Métodos: Para perseguir nosso objetivo, nos baseamos em tíquetes e commits de um período de mais de quatro anos do histórico dos projetos. Computamos métricas sobre a ocorrência de diversos tipos de rejeição de mudanças e medimos o tempo que leva tanto para submeter uma mudança quanto para rejeitar mudanças inapropriadas. Além disso, validamos nossos resultados com desenvolvedores da Mozilla. Resultados: Descobrimos que técnicas usadas em estudos anteriores para detectar mudanças inadequadas são imprecisas; por isso, propusemos uma técnica alternativa. Determinamos que mudanças inadequadas são um problema relevante e diário, que afeta cerca de 18% de todos os tíquetes em um projeto. Também descobrimos que, quando a Mozilla adotou lançamentos frequentes, embora a proporção de commits revertidos tenha aumentado, as reversões foram realizadas mais cedo no processo.
publishDate 2015
dc.date.submitted.none.fl_str_mv 2015-07-17
dc.date.accessioned.fl_str_mv 2015-08-10T11:52:14Z
dc.date.available.fl_str_mv 2015-08-10T11:52:14Z
dc.date.issued.fl_str_mv 2015-08-10
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://repositorio.ufba.br/ri/handle/ri/18021
url http://repositorio.ufba.br/ri/handle/ri/18021
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Departamento de Ciência da Computação
dc.publisher.program.fl_str_mv Programa Multi-institucional de Pós-Graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv UFBA-UEFS-UNIFACS
dc.publisher.country.fl_str_mv brasil
publisher.none.fl_str_mv Departamento de Ciência da Computação
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFBA
instname:Universidade Federal da Bahia (UFBA)
instacron:UFBA
instname_str Universidade Federal da Bahia (UFBA)
instacron_str UFBA
institution UFBA
reponame_str Repositório Institucional da UFBA
collection Repositório Institucional da UFBA
bitstream.url.fl_str_mv https://repositorio.ufba.br/bitstream/ri/18021/1/rodrigo-thesis-final.pdf
https://repositorio.ufba.br/bitstream/ri/18021/2/license.txt
https://repositorio.ufba.br/bitstream/ri/18021/3/rodrigo-thesis-final.pdf.txt
bitstream.checksum.fl_str_mv a3ca54b041cfdc2f5dad0f568b6d3a61
ff6eaa8b858ea317fded99f125f5fcd0
9246aa275eb65a551786ab49925120c7
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)
repository.mail.fl_str_mv
_version_ 1801502563183362048