Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/51321
Type: Tese
Title: Documenting and managing self-admitted technical debt using issues
Authors: José Laerte Pires Xavier Júnior
First Advisor: Marco Túlio de Oliveira Valente
First Referee: Alfredo Goldman vel Lejbman
Second Referee: Rodrigo Oliveira Spínola
Third Referee: André Cavalcante Hora
metadata.dc.contributor.referee4: Eduardo Magno Lages Figueiredo
Abstract: 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.
Abstract: 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.
Subject: 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
language: eng
metadata.dc.publisher.country: Brasil
Publisher: Universidade Federal de Minas Gerais
Publisher Initials: UFMG
metadata.dc.publisher.department: ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
metadata.dc.publisher.program: Programa de Pós-Graduação em Ciência da Computação
Rights: Acesso Aberto
URI: http://hdl.handle.net/1843/51321
Issue Date: 15-Dec-2022
Appears in Collections:Teses de Doutorado

Files in This Item:
File Description SizeFormat 
CTD-SBC-ThesisFull.pdfPhD Thesis7.18 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.