Rustin muistinhallinta ja sen vaikutukset käytännön ohjelmistotuotantoon
Autio, Eelis (2025-05-27)
Rustin muistinhallinta ja sen vaikutukset käytännön ohjelmistotuotantoon
Autio, Eelis
(27.05.2025)
Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
avoin
Julkaisun pysyvä osoite on:
https://urn.fi/URN:NBN:fi-fe2025060561020
https://urn.fi/URN:NBN:fi-fe2025060561020
Tiivistelmä
Muistinhallintaan liittyvät ohjelmointivirheet aiheuttavat merkittäviä ongelmia ohjelmistojen vakauteen ja tietoturvallisuuteen. Näiden ongelmien ratkaisemiseksi on kehitetty muistiturvallisia ohjelmointikieliä, joiden muistiturvallisuus perustuu automaattiseen roskankeruuseen. Rust on ohjelmointikieli, joka takaa ohjelmien muistiturvallisuuden lähdekoodin staattisen analyysin avulla. Tämä mahdollistaa suorituskykyisten ja muistiturvallisten ohjelmistojen kehittämisen. Tämän tutkielman tarkoituksena on selvittää, miten Rust takaa ohjelmien muistiturvallisuuden, ja millaisia haasteita näiden takeiden saavuttaminen aiheuttaa käytännön ohjelmistotuotannossa. Tutkielma on toteutettuna kirjallisuuskatsauksena. Lähdeteokset sisältävät tieteellisiä julkaisuja muistinhallinnasta sekä Rustissa, että muissa ohjelmointikielissä. Lisäksi työssä on viitattu yritysten julkaisemiin artikkeleihin, joissa käsitellään Rustin käyttöä heidän tuotantoympäristössään. Memory management errors remain a major source of instability and security vulnerabilities in software systems. To mitigate these issues, memory-safe programming languages have been developed, often relying on automatic garbage collection to ensure safety. Rust is a modern programming language that guarantees memory safety through compile-time static analysis rather than runtime mechanisms. This approach enables the development of high-performance software without sacrificing safety. This thesis aims to examine how Rust enforces memory safety and to explore the practical challenges that arise when adopting Rust in real-world software development. The study is conducted as a literature review, drawing on scientific publications related to memory management in Rust and other programming languages. Additionally, it references industry reports and articles detailing the adoption and use of Rust in production environments.