Skip navigation
Use este identificador para citar ou linkar para este item: https://repositorio.ufpe.br/handle/123456789/56900

Compartilhe esta página

Registro completo de metadados
Campo DCValorIdioma
dc.contributor.advisorLIMA FILHO, Fernando José Castor de-
dc.contributor.authorOLIVEIRA, Delano Hélio-
dc.date.accessioned2024-07-23T12:49:01Z-
dc.date.available2024-07-23T12:49:01Z-
dc.date.issued2023-11-01-
dc.identifier.citationOLIVEIRA, Delano Hélio Oliveira. Understanding Code Understandability. 2023. Tese (Doutorado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2023.pt_BR
dc.identifier.urihttps://repositorio.ufpe.br/handle/123456789/56900-
dc.description.abstractUnderstanding source code is vital in software development, and developers spent be- tween 58% and 70% of their time to code comprehension. This comprehension relies on code legibility and readability, influenced by factors like formatting, code constructs, and naming conventions. Formatting elements, such as spacing, are factors that impact the legibility of the source code and, consequently, may affect the ability of developers to identify the elements of the code while reading it. Structural and semantic characteristics, such as programming constructs, impact the readability of the source code and may affect the ability of developers to understand it while reading the code. This thesis explores code alternatives for improving code legibility and readability through empirical studies and practical evidence. We conducted four distinct studies. In the first one, we performed a systematic literature review to identify how code legibility and readability are evaluated, revealing categories of tasks and response variables. In the second one, we conducted another review, but focused on formatting ele- ments, discovering 13 factors categorized into five groups that impact code legibility. A third review examined code elements, categorizing 20 factors into five groups affecting code read- ability. Finally, in the fourth study, we performed a survey of 2,401 code review comments where we found that over 42% aimed to improve code understandability. Also, we identified eight categories of code understandability smells where the 84.3% of improvement suggestions were accepted by developers. Based on these studies, we found limitations in the literature, which include a lack of replications, outdated studies, and insufficient power analyses. Despite these challenges, developers often adopt code alternatives suggested by research. Additionally, practical evidence highlights limitations of linters in code understandability where only 30% of the code understandability smells identified are flagged by linters. This thesis contributes a comprehensive catalog of code alternatives, aiding the creation of evidence-based coding guidelines and automated tools. We also presented a learning taxonomy adapted to program comprehension that simplifies research design in program comprehension. Moreover, we have available a dataset of code review comments and analysis of popular linters that serves as a valuable resource for researchers and developers, enabling the creation of automated tools to detect and repair code understandability smells.pt_BR
dc.language.isoengpt_BR
dc.publisherUniversidade Federal de Pernambucopt_BR
dc.rightsopenAccesspt_BR
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazil*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/*
dc.subjectLegibilidade de forma de códigopt_BR
dc.subjectLegibilidade de conteúdo de códigopt_BR
dc.subjectCompreensão de códigopt_BR
dc.subjectRevisão de códigopt_BR
dc.titleUnderstanding Code Understandabilitypt_BR
dc.typedoctoralThesispt_BR
dc.contributor.advisor-coDELFIM, Fernanda Madeiral-
dc.contributor.authorLatteshttp://lattes.cnpq.br/0587113301498767pt_BR
dc.publisher.initialsUFPEpt_BR
dc.publisher.countryBrasilpt_BR
dc.degree.leveldoutoradopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/7310046838140771pt_BR
dc.publisher.programPrograma de Pos Graduacao em Ciencia da Computacaopt_BR
dc.description.abstractxCompreender o código-fonte é vital no desenvolvimento de software, com os desenvolve- dores gastando entre 58% e 70% de seu tempo na compreensão do código. Essa compreensão depende da legibilidade de forma e legibilidade de conteúdo do código, influenciada por fa- tores como formatação, construções de código e convenções de nomenclatura. Elementos de formatação, como espaçamento, são fatores que impactam a legibilidade de forma do código- fonte e, consequentemente, podem afetar a capacidade dos desenvolvedores de identificar os elementos do código durante a leitura. Características estruturais e semânticas, como con- struções de programação, impactam a legibilidade de conteúdo do código-fonte e podem afetar a capacidade dos desenvolvedores de entendê-lo durante a leitura do código. Esta tese explora alternativas de código para melhorar a legibilidade de forma e legibilidade de conteúdo do código através de estudos empíricos e evidências práticas. Nós realizamos quatro estudos distintos. No primeiro estudo, nós desenvolvemos uma revisão sistemática da literatura para identificar como são avaliadas a legibilidade de forma e a legibilidade de conteúdo do código, revelando categorias de tarefas e variáveis de resposta. No segundo estudo, nós executamos outra revisão, mas com foco nos elementos de formatação, descobrindo 13 fatores categoriza- dos em cinco grupos que impactam a legibilidade de forma do código. Uma terceira revisão examinou os elementos do código, categorizando 20 fatores em cinco grupos que afetam a legibilidade de conteúdo do código. Por fim, no quarto estudo, realizamos um survey com 2.401 comentários de revisão de código, onde descobrimos que mais de 42% visavam melho- rar a compreensão do código. Além disso, identificamos oito categorias de understandability smells onde 84,3% das sugestões de melhoria foram aceitas pelos desenvolvedores. Com base nesses estudos, encontramos limitações na literatura, que incluem falta de replicações, estudos desatualizados e potência estatística insuficientes. Apesar desses desafios, os desenvolvedores frequentemente adotam alternativas de código sugeridas pela pesquisa. Além disso, evidên- cias práticas destacam as limitações dos linters na compreensibilidade do código, onde apenas 30% dos code understandability smells identificados são sinalizados por linters. Esta tese con- tribui com um catálogo abrangente de alternativas de código, auxiliando na criação de guia de estilos de codificação baseadas em evidências e ferramentas automatizadas. Também apresen- tamos uma taxonomia de aprendizagem adaptada à compreensão do programa que simplifica o projeto de pesquisas em compreensão de programas. Além disso, nós disponibilizamos um conjunto de dados de comentários de revisão de código e análise de linters populares que serve como um recurso valioso para pesquisadores e desenvolvedores, permitindo a criação de ferramentas automatizadas para detectar e reparar code understandability smells.pt_BR
dc.contributor.advisor-coLatteshttp://lattes.cnpq.br/8246690925340020pt_BR
Aparece nas coleções:Teses de Doutorado - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
TESE Delano Hélio Oliveira.pdf2,32 MBAdobe PDFThumbnail
Visualizar/Abrir


Este arquivo é protegido por direitos autorais



Este item está licenciada sob uma Licença Creative Commons Creative Commons