Logo do repositório
 
Publicação

Investigation and application of the Rust programming language in spacecraft embedded software

dc.contributor.advisorPereira, Francisco José Batista
dc.contributor.authorLopes, Carolina Batista Veríssimo
dc.date.accessioned2026-03-25T16:54:19Z
dc.date.available2026-03-25T16:54:19Z
dc.date.issued2026-02-05
dc.description.abstractA linguagem de programação Rust tem ganho destaque no desenvolvimento de sistemas críticos devido à sua abordagem inovadora para garantir segurança e eficiência na gestão de memória. Em contraste, linguagens tradicionais como C e C++ continuam amplamente utilizadas neste domínio, apesar de introduzirem riscos associados à gestão manual de recursos e à ocorrência de vulnerabilidades de segurança. No setor espacial, onde os requisitos de fiabilidade e conformidade são especialmente rigorosos, estas limitações tornam-se particularmente relevantes. Este trabalho insere-se num estudo pioneiro realizado em colaboração com a Critical Software, tendo como objetivo avaliar a viabilidade da adoção de Rust no contexto espacial. Para tal, foi analisada a arquitetura da plataforma Karvel, um on-board software modular desenvolvido em C, e foi implementado o seu módulo de gestão de memória em Rust, totalmente integrado com os restantes módulos escritos em C. Através desta abordagem, foi possível realizar uma análise comparativa entre as duas versões, considerando métricas como número de linhas de código, complexidade, desempenho e consumo de memória. Os resultados obtidos permitem identificar vantagens e desafios na utilização de Rust em sistemas críticos, contribuindo para fundamentar futuras decisões de adoção tecnológica na indústria espacial e reforçando a investigação sobre o papel das linguagens de programação seguras neste setor.por
dc.description.abstractThe Rust programming language has gained increasing relevance in the development of critical systems due to its innovative approach to ensuring memory safety and efficiency. In contrast, traditional languages such as C and C++ remain widely used in this domain, despite their susceptibility to memory management errors and security vulnerabilities. In the space sector, where reliability and compliance requirements are particularly stringent, these limitations raise critical concerns. This dissertation is part of a pioneering study conducted in collaboration with Critical Software, aiming to assess the feasibility of adopting Rust in space applications. To this end, the architecture of Karvel, a modular on-board software platform developed in C, was analysed, and its memory management module was re-implemented in Rust and fully integrated with the remaining C modules. This approach enabled a comparative analysis between the two implementations, based on metrics such as lines of code, complexity, performance, and memory usage. The results provide insights into the advantages and challenges of applying Rust in critical systems, supporting future decisions on its adoption within the space industry and contributing to the ongoing research on memory-safe programming languages in this domain.eng
dc.identifier.tid204216419
dc.identifier.urihttp://hdl.handle.net/10400.26/62451
dc.language.isoeng
dc.rights.uriN/A
dc.subjectRust
dc.subjectSistemas críticos
dc.subjectEmbedded software
dc.subjectSistemas espaciais
dc.subjectInteroperabilidade C/Rust
dc.subjectGestão de memória
dc.subjectAnálise comparativa
dc.titleInvestigation and application of the Rust programming language in spacecraft embedded softwareeng
dc.typemaster thesis
dspace.entity.typePublication

Ficheiros

Principais
A mostrar 1 - 1 de 1
A carregar...
Miniatura
Nome:
Carolina-Batista-Verissimo-Lopes.pdf
Tamanho:
2.37 MB
Formato:
Adobe Portable Document Format
Licença
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
license.txt
Tamanho:
1.85 KB
Formato:
Item-specific license agreed upon to submission
Descrição: