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

Compartilhe esta página

Registro completo de metadados
Campo DCValorIdioma
dc.contributor.advisorGAMA, Kiev Santos da-
dc.contributor.authorLUCENA, Sofia Melo de-
dc.date.accessioned2025-04-23T12:37:06Z-
dc.date.available2025-04-23T12:37:06Z-
dc.date.issued2025-03-28-
dc.date.submitted2025-04-10-
dc.identifier.citationLUCENA, Sofia Melo. Análise estática da propagação de erros em Rust: um estudo expandido. 2025. Trabalho de Conclusão de Curso (Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2025.pt_BR
dc.identifier.urihttps://repositorio.ufpe.br/handle/123456789/62474-
dc.description.abstractEsse trabalho investiga como erros em projetos Rust são propagados e tratados, analisando repositórios de código aberto para identificar padrões e correlações entre métricas. Em particular, analisamos quão comum é a existência de funções que propagam erros e a distância entre a sinalização e o tratamento desses erros. Além disso, examinamos se o nível de maturidade de um projeto influencia a complexidade da propagação e tratamento de erros. A metodologia adotada envolve a extração automatizada de métricas, como a proporção de propagação de erros por função, a profundidade das cadeias de tratamento e a quantidade de erros ignorados, complementada por técnicas de visualização de dados. Os resultados indicam que, em média, 17% das funções no código dos projetos analisados envolvem propagação ou tratamento de erros. A maioria dos erros na amostra de dados é propagada por até quatro chamadas de função antes de ser tratada, com esse número aumentando conforme a complexidade das cadeias, atingindo um máximo de 12 chamadas nas amostras analisadas. Projetos menos maduros não apresentam diferenças significativas no tratamento de erros quando comparados a projetos mais maduros. Por fim, a investigação revelou padrões relevantes sobre o tratamento de erros em Rust, incluindo práticas comuns no uso das funções expect e unwrap, a substituição de mensagens de erro que compromete a sua rastreabilidade e o uso de erros dinâmicos em executáveis CLI. A principal contribuição deste trabalho é fornecer uma análise do tratamento de erros na linguagem, auxiliando na compreensão das práticas adotadas pela comunidade e oferecendo insights para futuras pesquisas sobre qualidade e segurança do software em Rust.pt_BR
dc.format.extent49p.pt_BR
dc.language.isoporpt_BR
dc.rightsopenAccesspt_BR
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/*
dc.subjectEngenharia de Softwarept_BR
dc.subjectRUSTpt_BR
dc.subjectTratamento de Errospt_BR
dc.subjectPropagação de Errospt_BR
dc.subjectQualidade de Softwarept_BR
dc.titleAnálise estática da propagação de erros em Rust: um estudo expandidopt_BR
dc.typebachelorThesispt_BR
dc.contributor.advisor-coLIMA FILHO, Fernando José Castor de-
dc.degree.levelGraduacaopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/6185519785664724pt_BR
dc.description.abstractxThis study investigates how errors in Rust projects are propagated and handled by analyzing open-source repositories to identify patterns and correlations among metrics. Specifically, we examine how frequently functions propagate errors and the distance between error signaling and handling. Additionally, we explore whether a project’s maturity level influences the complexity of error propagation and handling. The adopted methodology involves the automated extraction of metrics such as the proportion of error propagation per function, the depth of error-handling chains, and the number of ignored errors, complemented by data visualization techniques. The results indicate that, on average, 17% of functions in the analyzed code involve error propagation or handling. Most errors in the dataset are propagated through up to four function calls before being handled, with this number increasing as chain complexity grows, reaching a maximum of 12 calls in the analyzed samples. Less mature projects do not show significant differences in error handling compared to more mature ones. Finally, the investigation revealed relevant patterns in Rust’s error-handling practices, including the frequent use of the expect and unwrap functions, the replacement of error messages that compromises traceability, and the use of dynamic errors in CLI executables. The primary contribution of this study is to provide an in-depth analysis of error handling in Rust, helping to understand the community’s practices and offering insights for future research on software quality and security in the language.pt_BR
dc.subject.cnpqÁreas::Ciências Exatas e da Terra::Ciência da Computaçãopt_BR
dc.degree.departament::(CIN-DCC) - Departamento de Ciência da Computaçãopt_BR
dc.degree.graduation::CIn-Curso de Ciência da Computaçãopt_BR
dc.degree.grantorUniversidade Federal de Pernambucopt_BR
dc.degree.localRecifept_BR
dc.contributor.advisor-coLatteshttp://lattes.cnpq.br/7310046838140771pt_BR
Aparece nas coleções:(TCC) - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
TCC-Sofia Melo de Lucena.pdf708,72 kBAdobe PDFThumbnail
Visualizar/Abrir


Este arquivo é protegido por direitos autorais



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