Documenting and managing self-admitted technical debt using issues

Detalhes bibliográficos
Autor(a) principal: José Laerte Pires Xavier Júnior
Data de Publicação: 2022
Tipo de documento: Tese
Idioma: eng
Título da fonte: Repositório Institucional da UFMG
Texto Completo: http://hdl.handle.net/1843/51321
https://orcid.org/0000-0001-7925-4115
Resumo: The Technical Debt (TD) metaphor refers to the unavoidable maintenance and evolution costs of the not-quite-right decisions commonly taken by software developers. The term was quickly adopted in industry and became the subject of various studies in the literature, mostly regarding techniques for TD identification, management and payment. In recent years, several studies emerged around the observation that developers explicitly document their debts, which the literature refers as Self-Admitted Technical Debt (SATD). Particularly, most previous studies investigated this practice by analyzing source code comments as indications of TD admission. In this thesis, we denote this form of SATD as SATD-C. However, there is a lack of knowledge about the adoption of different artifacts to admit TD. Particularly, few studies deeply investigated SATD in issue tracker systems, despite the increasing adoption of issues in software development. In order to contribute to this problem, we describe in this thesis an in depth study on the adoption of issues to document and manage Self-Admitted Technical Debt (which we refer as SATD-I). We organize the research in four major working units. We start by exploring the characteristics of SATD-I adoption, in terms of the types of TD commonly documented in issues, and the motivations of its insertion and payment. Next, we strengthen our initial results by investigating the interplay between SATD-C and SATD-I in a large-scale dataset. Based on the evidences that they have distinct natures, we assess the circumstances when each form is more suitable. Finally, we wrap-up the knowledge produced in our empirical studies by proposing and evaluating a light-weight framework to support developers to manage TD through the creation of issues. We call this framework as LTD: Less Technical Debt Framework. Overall, our results confirm that developers also use issues to admit TD in their projects. We also show that issues are more suitable to document high-level and high-priority debts, mostly regarding concerns that need visibility and discussions between developers. Finally, we achieved promising results after adopting LTD in two development teams in a large public company. For example, the teams could reduce TD and create a backlog of issues to manage TD during the execution of sprints.
id UFMG_4e7d8df0aad1e024ebf6858ad8a27e78
oai_identifier_str oai:repositorio.ufmg.br:1843/51321
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Marco Túlio de Oliveira Valentehttp://lattes.cnpq.br/2147157840592913Alfredo Goldman vel LejbmanRodrigo Oliveira SpínolaAndré Cavalcante HoraEduardo Magno Lages Figueiredohttp://lattes.cnpq.br/0756079454124435José Laerte Pires Xavier Júnior2023-03-29T14:38:48Z2023-03-29T14:38:48Z2022-12-15http://hdl.handle.net/1843/51321https://orcid.org/0000-0001-7925-4115The Technical Debt (TD) metaphor refers to the unavoidable maintenance and evolution costs of the not-quite-right decisions commonly taken by software developers. The term was quickly adopted in industry and became the subject of various studies in the literature, mostly regarding techniques for TD identification, management and payment. In recent years, several studies emerged around the observation that developers explicitly document their debts, which the literature refers as Self-Admitted Technical Debt (SATD). Particularly, most previous studies investigated this practice by analyzing source code comments as indications of TD admission. In this thesis, we denote this form of SATD as SATD-C. However, there is a lack of knowledge about the adoption of different artifacts to admit TD. Particularly, few studies deeply investigated SATD in issue tracker systems, despite the increasing adoption of issues in software development. In order to contribute to this problem, we describe in this thesis an in depth study on the adoption of issues to document and manage Self-Admitted Technical Debt (which we refer as SATD-I). We organize the research in four major working units. We start by exploring the characteristics of SATD-I adoption, in terms of the types of TD commonly documented in issues, and the motivations of its insertion and payment. Next, we strengthen our initial results by investigating the interplay between SATD-C and SATD-I in a large-scale dataset. Based on the evidences that they have distinct natures, we assess the circumstances when each form is more suitable. Finally, we wrap-up the knowledge produced in our empirical studies by proposing and evaluating a light-weight framework to support developers to manage TD through the creation of issues. We call this framework as LTD: Less Technical Debt Framework. Overall, our results confirm that developers also use issues to admit TD in their projects. We also show that issues are more suitable to document high-level and high-priority debts, mostly regarding concerns that need visibility and discussions between developers. Finally, we achieved promising results after adopting LTD in two development teams in a large public company. For example, the teams could reduce TD and create a backlog of issues to manage TD during the execution of sprints.A metáfora da Dívida Técnica (TD, do inglês Technical Debt) refere-se aos custos inequívocos de manutenção e evolução gerados por decisões sub-ótimas comumente tomadas por desenvolvedores de software. Desde a sua concepção, o termo foi rapidamente adotado na indústria e tornou-se objeto de diversos estudos, investigando técnicas de identificação, gerenciamento e pagamento de TD. Nos últimos anos, vários estudos surgiram em torno do fato de que desenvolvedores documentam explicitamente suas dívidas, o que a literatura conhece como Dívida Técnica Auto-Admitida (SATD, do inglês Self-Admitted Technical Debt). Particularmente, a maioria dos estudos anteriores investigou essa prática analisando comentários de código fonte para identificar indícios de admissão de TD. Nesta tese, denotamos essa forma de SATD como SATD-C. No entanto, ainda não está claro como diferentes artefatos de software são utilizados para admitir TD. Especificamente, poucos estudos investigaram profundamente SATD em sistemas de rastreamento de issues, apesar da sua crescente adoção no desenvolvimento de software. Para contribuir na resolução desse problema, descreve-se nesta tese um estudo aprofundado sobre a adoção de issues para documentar e gerir a Dívida Técnica Auto-Admitida (denotado como SATD-I). Esta pesquisa está organizada em quatro unidades de trabalho. Inicialmente, são exploradas as características da adoção do SATD-I, em termos dos tipos de TD comumente documentados em issues, e as motivações para a criação e o pagamento delas. Em seguida, estende-se os resultados iniciais investigando a interação entre SATD-C e SATD-I em um dataset de larga escala. Com base nas evidências de que elas possuem naturezas distintas, avaliam-se as circunstâncias em que cada forma de SATD é mais adequada. Finalmente, reune-se o conhecimento produzido nos estudos empíricos anteriores para propor e avaliar um framework leve para apoiar o gerenciamento de TD através da criação de issues. Esse framework é denominado LTD: Less Technical Debt Framework. No geral, os resultados obtidos confirmam que os desenvolvedores também utilizam issues para admitir TD em seus projetos. Mostra-se também que issues são mais adequadas para documentar dívidas de alto nível e alta prioridade. Por fim, foram obtidos resultados promissores após a adoção do LTD em duas equipes de desenvolvimento em uma grande empresa pública. Por exemplo, as equipes conseguiram reduzir o TD e criar uma lista de issues para gerenciar o TD durante a execução dos sprints.CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível SuperiorengUniversidade Federal de Minas GeraisPrograma de Pós-Graduação em Ciência da ComputaçãoUFMGBrasilICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃOComputação – TesesDívida técnica – TesesMineração de repositórios de software – TesesFramework (Programa de computador) – TesesSoftware - Documentação – TesesTechnical debtDocumentationMining software repositoriesIssue tracking systemsLTD frameworkDocumenting and managing self-admitted technical debt using issuesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALCTD-SBC-ThesisFull.pdfCTD-SBC-ThesisFull.pdfPhD Thesisapplication/pdf7355343https://repositorio.ufmg.br/bitstream/1843/51321/1/CTD-SBC-ThesisFull.pdf2b6246bcf1c3a02063775d1eb69d1fa6MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-82118https://repositorio.ufmg.br/bitstream/1843/51321/2/license.txtcda590c95a0b51b4d15f60c9642ca272MD521843/513212023-03-29 11:38:48.818oai:repositorio.ufmg.br:1843/51321TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEgRE8gUkVQT1NJVMOTUklPIElOU1RJVFVDSU9OQUwgREEgVUZNRwoKQ29tIGEgYXByZXNlbnRhw6fDo28gZGVzdGEgbGljZW7Dp2EsIHZvY8OqIChvIGF1dG9yIChlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSBhbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIChSSS1VRk1HKSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZSBpcnJldm9nw6F2ZWwgZGUgcmVwcm9kdXppciBlL291IGRpc3RyaWJ1aXIgYSBzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIGZvcm1hdG9zIMOhdWRpbyBvdSB2w61kZW8uCgpWb2PDqiBkZWNsYXJhIHF1ZSBjb25oZWNlIGEgcG9sw610aWNhIGRlIGNvcHlyaWdodCBkYSBlZGl0b3JhIGRvIHNldSBkb2N1bWVudG8gZSBxdWUgY29uaGVjZSBlIGFjZWl0YSBhcyBEaXJldHJpemVzIGRvIFJJLVVGTUcuCgpWb2PDqiBjb25jb3JkYSBxdWUgbyBSZXBvc2l0w7NyaW8gSW5zdGl0dWNpb25hbCBkYSBVRk1HIHBvZGUsIHNlbSBhbHRlcmFyIG8gY29udGXDumRvLCB0cmFuc3BvciBhIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGTUcgcG9kZSBtYW50ZXIgbWFpcyBkZSB1bWEgY8OzcGlhIGRlIHN1YSBwdWJsaWNhw6fDo28gcGFyYSBmaW5zIGRlIHNlZ3VyYW7Dp2EsIGJhY2stdXAgZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogZGVjbGFyYSBxdWUgYSBzdWEgcHVibGljYcOnw6NvIMOpIG9yaWdpbmFsIGUgcXVlIHZvY8OqIHRlbSBvIHBvZGVyIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRlIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgZGUgbmluZ3XDqW0uCgpDYXNvIGEgc3VhIHB1YmxpY2HDp8OjbyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiBkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvIGRhIHB1YmxpY2HDp8OjbyBvcmEgZGVwb3NpdGFkYS4KCkNBU08gQSBQVUJMSUNBw4fDg08gT1JBIERFUE9TSVRBREEgVEVOSEEgU0lETyBSRVNVTFRBRE8gREUgVU0gUEFUUk9Dw41OSU8gT1UgQVBPSU8gREUgVU1BIEFHw4pOQ0lBIERFIEZPTUVOVE8gT1UgT1VUUk8gT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgRVhJR0lEQVMgUE9SIENPTlRSQVRPIE9VIEFDT1JETy4KCk8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVUZNRyBzZSBjb21wcm9tZXRlIGEgaWRlbnRpZmljYXIgY2xhcmFtZW50ZSBvIHNldSBub21lKHMpIG91IG8ocykgbm9tZXMocykgZG8ocykgZGV0ZW50b3IoZXMpIGRvcyBkaXJlaXRvcyBhdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KRepositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2023-03-29T14:38:48Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.pt_BR.fl_str_mv Documenting and managing self-admitted technical debt using issues
title Documenting and managing self-admitted technical debt using issues
spellingShingle Documenting and managing self-admitted technical debt using issues
José Laerte Pires Xavier Júnior
Technical debt
Documentation
Mining software repositories
Issue tracking systems
LTD framework
Computação – Teses
Dívida técnica – Teses
Mineração de repositórios de software – Teses
Framework (Programa de computador) – Teses
Software - Documentação – Teses
title_short Documenting and managing self-admitted technical debt using issues
title_full Documenting and managing self-admitted technical debt using issues
title_fullStr Documenting and managing self-admitted technical debt using issues
title_full_unstemmed Documenting and managing self-admitted technical debt using issues
title_sort Documenting and managing self-admitted technical debt using issues
author José Laerte Pires Xavier Júnior
author_facet José Laerte Pires Xavier Júnior
author_role author
dc.contributor.advisor1.fl_str_mv Marco Túlio de Oliveira Valente
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/2147157840592913
dc.contributor.referee1.fl_str_mv Alfredo Goldman vel Lejbman
dc.contributor.referee2.fl_str_mv Rodrigo Oliveira Spínola
dc.contributor.referee3.fl_str_mv André Cavalcante Hora
dc.contributor.referee4.fl_str_mv Eduardo Magno Lages Figueiredo
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/0756079454124435
dc.contributor.author.fl_str_mv José Laerte Pires Xavier Júnior
contributor_str_mv Marco Túlio de Oliveira Valente
Alfredo Goldman vel Lejbman
Rodrigo Oliveira Spínola
André Cavalcante Hora
Eduardo Magno Lages Figueiredo
dc.subject.por.fl_str_mv Technical debt
Documentation
Mining software repositories
Issue tracking systems
LTD framework
topic Technical debt
Documentation
Mining software repositories
Issue tracking systems
LTD framework
Computação – Teses
Dívida técnica – Teses
Mineração de repositórios de software – Teses
Framework (Programa de computador) – Teses
Software - Documentação – Teses
dc.subject.other.pt_BR.fl_str_mv Computação – Teses
Dívida técnica – Teses
Mineração de repositórios de software – Teses
Framework (Programa de computador) – Teses
Software - Documentação – Teses
description The Technical Debt (TD) metaphor refers to the unavoidable maintenance and evolution costs of the not-quite-right decisions commonly taken by software developers. The term was quickly adopted in industry and became the subject of various studies in the literature, mostly regarding techniques for TD identification, management and payment. In recent years, several studies emerged around the observation that developers explicitly document their debts, which the literature refers as Self-Admitted Technical Debt (SATD). Particularly, most previous studies investigated this practice by analyzing source code comments as indications of TD admission. In this thesis, we denote this form of SATD as SATD-C. However, there is a lack of knowledge about the adoption of different artifacts to admit TD. Particularly, few studies deeply investigated SATD in issue tracker systems, despite the increasing adoption of issues in software development. In order to contribute to this problem, we describe in this thesis an in depth study on the adoption of issues to document and manage Self-Admitted Technical Debt (which we refer as SATD-I). We organize the research in four major working units. We start by exploring the characteristics of SATD-I adoption, in terms of the types of TD commonly documented in issues, and the motivations of its insertion and payment. Next, we strengthen our initial results by investigating the interplay between SATD-C and SATD-I in a large-scale dataset. Based on the evidences that they have distinct natures, we assess the circumstances when each form is more suitable. Finally, we wrap-up the knowledge produced in our empirical studies by proposing and evaluating a light-weight framework to support developers to manage TD through the creation of issues. We call this framework as LTD: Less Technical Debt Framework. Overall, our results confirm that developers also use issues to admit TD in their projects. We also show that issues are more suitable to document high-level and high-priority debts, mostly regarding concerns that need visibility and discussions between developers. Finally, we achieved promising results after adopting LTD in two development teams in a large public company. For example, the teams could reduce TD and create a backlog of issues to manage TD during the execution of sprints.
publishDate 2022
dc.date.issued.fl_str_mv 2022-12-15
dc.date.accessioned.fl_str_mv 2023-03-29T14:38:48Z
dc.date.available.fl_str_mv 2023-03-29T14:38:48Z
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://hdl.handle.net/1843/51321
dc.identifier.orcid.pt_BR.fl_str_mv https://orcid.org/0000-0001-7925-4115
url http://hdl.handle.net/1843/51321
https://orcid.org/0000-0001-7925-4115
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 Universidade Federal de Minas Gerais
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv UFMG
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
bitstream.url.fl_str_mv https://repositorio.ufmg.br/bitstream/1843/51321/1/CTD-SBC-ThesisFull.pdf
https://repositorio.ufmg.br/bitstream/1843/51321/2/license.txt
bitstream.checksum.fl_str_mv 2b6246bcf1c3a02063775d1eb69d1fa6
cda590c95a0b51b4d15f60c9642ca272
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv
_version_ 1803589540472946688