A systematic and efficient approach for identifying architectural technical debt

Detalhes bibliográficos
Autor(a) principal: Sousa, Armando Soares
Data de Publicação: 2024
Tipo de documento: Tese
Idioma: eng
Título da fonte: Repositório Institucional da Universidade Federal do Ceará (UFC)
Texto Completo: http://repositorio.ufc.br/handle/riufc/77637
Resumo: Architectural Technical Debt (ATD) refers to the accumulated costs and trade-offs that arise from architectural decisions and technical trade-offs made during the software development process. It results from the compromises made to meet short-term goals and deadlines, often leading to long-term consequences in terms of system quality, maintainability, and evolution. It is one of the leading Technical Debts (TD) that most impact maintaining complex software systems. Sometimes, due to a lack of information, software engineers rely mainly on source code artifacts as a source of information to manage ATD, which is a challenging task. For this, it is necessary to identify which source code artifacts are related to architectural problems and decide whether these artifacts are leading to a recurring and increasing maintenance effort over time. This thesis aims to propose an automated approach to identifying architectural technical debt and its impact on source code files using Architectural Smells, code metrics, historical data, and information from Git repositories. The approach employs a range of research techniques, including literature review, case studies, interviews with practitioners, and generalization assessment using ChatGPT. Based on the Design Science Method, we present a solution that can be used by researchers and industry practitioners to identify ATD-related code artifacts in code repositories under configuration management. The proposed method allows us to identify source code artifacts that help refactor decision-making for ATD resolution without requiring evaluation by experts in software architecture. Our analysis revealed that source code files associated with Architectural Smells, which are frequently modified and exhibit increasing size and complexity over time, are more likely to be associated with ATD. Therefore, we can conclude that it is feasible to systematically identify the presence of ATD by solely using information from source code artifacts within a Version Control System. This automated approach offers potential benefits for developers by providing insights into architectural issues and reducing the search space for ATD effects on the project’s source code artifacts.
id UFC-7_bf0cd3b8a9a61b190e82fd1faa9ed963
oai_identifier_str oai:repositorio.ufc.br:riufc/77637
network_acronym_str UFC-7
network_name_str Repositório Institucional da Universidade Federal do Ceará (UFC)
repository_id_str
spelling Sousa, Armando SoaresBritto, Ricardo de SousaRocha, Lincoln Souza2024-08-12T16:22:31Z2024-08-12T16:22:31Z2024SOUSA, Armando Soares. A systematic and efficient approach for identifying architectural technical debt. 2024. 173 f. Tese (Doutorado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2024.http://repositorio.ufc.br/handle/riufc/77637Architectural Technical Debt (ATD) refers to the accumulated costs and trade-offs that arise from architectural decisions and technical trade-offs made during the software development process. It results from the compromises made to meet short-term goals and deadlines, often leading to long-term consequences in terms of system quality, maintainability, and evolution. It is one of the leading Technical Debts (TD) that most impact maintaining complex software systems. Sometimes, due to a lack of information, software engineers rely mainly on source code artifacts as a source of information to manage ATD, which is a challenging task. For this, it is necessary to identify which source code artifacts are related to architectural problems and decide whether these artifacts are leading to a recurring and increasing maintenance effort over time. This thesis aims to propose an automated approach to identifying architectural technical debt and its impact on source code files using Architectural Smells, code metrics, historical data, and information from Git repositories. The approach employs a range of research techniques, including literature review, case studies, interviews with practitioners, and generalization assessment using ChatGPT. Based on the Design Science Method, we present a solution that can be used by researchers and industry practitioners to identify ATD-related code artifacts in code repositories under configuration management. The proposed method allows us to identify source code artifacts that help refactor decision-making for ATD resolution without requiring evaluation by experts in software architecture. Our analysis revealed that source code files associated with Architectural Smells, which are frequently modified and exhibit increasing size and complexity over time, are more likely to be associated with ATD. Therefore, we can conclude that it is feasible to systematically identify the presence of ATD by solely using information from source code artifacts within a Version Control System. This automated approach offers potential benefits for developers by providing insights into architectural issues and reducing the search space for ATD effects on the project’s source code artifacts.Dívida Técnica Arquitetural (DTA) refere-se aos custos acumulados e compensações que surgem de decisões arquiteturais e compensações técnicas feitas durante o processo de desenvolvimento de software. Resulta dos compromissos assumidos para cumprir metas e prazos de curto prazo, muitas vezes levando a consequências de longo prazo em termos de qualidade, manutenção e evolução do sistema. É uma das principais Dívidas Técnicas (DT) que mais impactam a manutenção de sistemas de software complexos. Às vezes, devido à falta de informações, os engenheiros de software dependem principalmente de artefatos de código-fonte como fonte de informações para gerenciar a DTA, o que é uma tarefa desafiadora. Para isso, é necessário identificar quais artefatos do código-fonte estão relacionados a problemas arquiteturais e decidir se esses artefatos estão gerando um esforço de manutenção recorrente e crescente ao longo do tempo. Esta tese tem como objetivo propor uma abordagem automatizada para identificar dívidas técnicas arquiteturais e seu impacto em arquivos de código-fonte usando Architectural Smells, métricas de código, dados históricos e informações de repositórios Git. A abordagem emprega uma variedade de técnicas de pesquisa, incluindo revisão de literatura, estudos de caso, entrevistas com profissionais e avaliação de generalização usando ChatGPT. Com base no método Design Science, apresentamos uma solução que pode ser usada por pesquisadores e profissionais da indústria para identificar artefatos de código relacionados a DTA em repositórios de código sob gerência de configuração. O método proposto permite identificar artefatos de código-fonte que auxiliam na refatoração da tomada de decisão para resolução de DTA sem a necessidade de avaliação por especialistas em arquitetura de software. Nossa análise revelou que os arquivos de código-fonte associados a Architectural Smells, que são frequentemente modificados e apresentam tamanho e complexidade crescentes ao longo do tempo, têm maior probabilidade de estar associados a DTA. Portanto, podemos concluir que é viável identificar sistematicamente a presença de DTA utilizando apenas informações de artefatos de código-fonte usando um Sistema de Controle de Versão. Essa abordagem automatizada oferece benefícios potenciais para os desenvolvedores, fornecendo insights sobre questões architeturais e reduz o espaço de pesquisa para efeitos de DTA nos artefatos do código-fonte do projeto.A systematic and efficient approach for identifying architectural technical debtA systematic and efficient approach for identifying architectural technical debtinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisDívida Técnica ArquiteturalMineração de repositórios de softwareAnálise de mudança de códigoArchitectural Technical DebtMining software repositoriesCode change analysisCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOinfo:eu-repo/semantics/openAccessengreponame:Repositório Institucional da Universidade Federal do Ceará (UFC)instname:Universidade Federal do Ceará (UFC)instacron:UFChttp://lattes.cnpq.br/7157995294447623http://lattes.cnpq.br/0656977742590515http://lattes.cnpq.br/31655322534852752024-08-12ORIGINAL2024_tese_assousa.pdf2024_tese_assousa.pdfapplication/pdf3947551http://repositorio.ufc.br/bitstream/riufc/77637/3/2024_tese_assousa.pdfae3bd1f844b0f43c2210ab5cc8e9e667MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81748http://repositorio.ufc.br/bitstream/riufc/77637/4/license.txt8a4605be74aa9ea9d79846c1fba20a33MD54riufc/776372024-08-12 13:22:32.989oai:repositorio.ufc.br:riufc/77637Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttp://www.repositorio.ufc.br/ri-oai/requestbu@ufc.br || repositorio@ufc.bropendoar:2024-08-12T16:22:32Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)false
dc.title.pt_BR.fl_str_mv A systematic and efficient approach for identifying architectural technical debt
dc.title.en.pt_BR.fl_str_mv A systematic and efficient approach for identifying architectural technical debt
title A systematic and efficient approach for identifying architectural technical debt
spellingShingle A systematic and efficient approach for identifying architectural technical debt
Sousa, Armando Soares
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Dívida Técnica Arquitetural
Mineração de repositórios de software
Análise de mudança de código
Architectural Technical Debt
Mining software repositories
Code change analysis
title_short A systematic and efficient approach for identifying architectural technical debt
title_full A systematic and efficient approach for identifying architectural technical debt
title_fullStr A systematic and efficient approach for identifying architectural technical debt
title_full_unstemmed A systematic and efficient approach for identifying architectural technical debt
title_sort A systematic and efficient approach for identifying architectural technical debt
author Sousa, Armando Soares
author_facet Sousa, Armando Soares
author_role author
dc.contributor.co-advisor.none.fl_str_mv Britto, Ricardo de Sousa
dc.contributor.author.fl_str_mv Sousa, Armando Soares
dc.contributor.advisor1.fl_str_mv Rocha, Lincoln Souza
contributor_str_mv Rocha, Lincoln Souza
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Dívida Técnica Arquitetural
Mineração de repositórios de software
Análise de mudança de código
Architectural Technical Debt
Mining software repositories
Code change analysis
dc.subject.ptbr.pt_BR.fl_str_mv Dívida Técnica Arquitetural
Mineração de repositórios de software
Análise de mudança de código
dc.subject.en.pt_BR.fl_str_mv Architectural Technical Debt
Mining software repositories
Code change analysis
description Architectural Technical Debt (ATD) refers to the accumulated costs and trade-offs that arise from architectural decisions and technical trade-offs made during the software development process. It results from the compromises made to meet short-term goals and deadlines, often leading to long-term consequences in terms of system quality, maintainability, and evolution. It is one of the leading Technical Debts (TD) that most impact maintaining complex software systems. Sometimes, due to a lack of information, software engineers rely mainly on source code artifacts as a source of information to manage ATD, which is a challenging task. For this, it is necessary to identify which source code artifacts are related to architectural problems and decide whether these artifacts are leading to a recurring and increasing maintenance effort over time. This thesis aims to propose an automated approach to identifying architectural technical debt and its impact on source code files using Architectural Smells, code metrics, historical data, and information from Git repositories. The approach employs a range of research techniques, including literature review, case studies, interviews with practitioners, and generalization assessment using ChatGPT. Based on the Design Science Method, we present a solution that can be used by researchers and industry practitioners to identify ATD-related code artifacts in code repositories under configuration management. The proposed method allows us to identify source code artifacts that help refactor decision-making for ATD resolution without requiring evaluation by experts in software architecture. Our analysis revealed that source code files associated with Architectural Smells, which are frequently modified and exhibit increasing size and complexity over time, are more likely to be associated with ATD. Therefore, we can conclude that it is feasible to systematically identify the presence of ATD by solely using information from source code artifacts within a Version Control System. This automated approach offers potential benefits for developers by providing insights into architectural issues and reducing the search space for ATD effects on the project’s source code artifacts.
publishDate 2024
dc.date.accessioned.fl_str_mv 2024-08-12T16:22:31Z
dc.date.available.fl_str_mv 2024-08-12T16:22:31Z
dc.date.issued.fl_str_mv 2024
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.citation.fl_str_mv SOUSA, Armando Soares. A systematic and efficient approach for identifying architectural technical debt. 2024. 173 f. Tese (Doutorado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2024.
dc.identifier.uri.fl_str_mv http://repositorio.ufc.br/handle/riufc/77637
identifier_str_mv SOUSA, Armando Soares. A systematic and efficient approach for identifying architectural technical debt. 2024. 173 f. Tese (Doutorado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2024.
url http://repositorio.ufc.br/handle/riufc/77637
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.source.none.fl_str_mv reponame:Repositório Institucional da Universidade Federal do Ceará (UFC)
instname:Universidade Federal do Ceará (UFC)
instacron:UFC
instname_str Universidade Federal do Ceará (UFC)
instacron_str UFC
institution UFC
reponame_str Repositório Institucional da Universidade Federal do Ceará (UFC)
collection Repositório Institucional da Universidade Federal do Ceará (UFC)
bitstream.url.fl_str_mv http://repositorio.ufc.br/bitstream/riufc/77637/3/2024_tese_assousa.pdf
http://repositorio.ufc.br/bitstream/riufc/77637/4/license.txt
bitstream.checksum.fl_str_mv ae3bd1f844b0f43c2210ab5cc8e9e667
8a4605be74aa9ea9d79846c1fba20a33
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)
repository.mail.fl_str_mv bu@ufc.br || repositorio@ufc.br
_version_ 1847792471809982464