Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

From C to Rust : how feasible is it?

Viirola, Ella ; Hummel, Johan ; Söderberg, Emma LU orcid ; Bexell, Andreas LU ; Kornevi, Peter and Asklund, Ulf LU (2025) 26th International Conference on Product-Focused Software Process Improvement (PROFES 2025) In Lecture Notes in Computer Science p.19-35
Abstract
The C programming language, while offering high performance and low-level control, is memory-unsafe. This makes it prone to programming errors that can result in serious software vulnerabilities and system instability. In this paper, we investigate the feasibility of transitioning a large code base from C to a memory-safe alternative, specifically Rust, in the context of a large company in telecommunications and networking. We explore technical challenges with translation, building on automatic translation with C2Rust, analyze performance impact, and survey developers’ attitudes toward migration. We find that while C2Rust can generate correct code, significant manual effort is required in the translation process, especially to get the... (More)
The C programming language, while offering high performance and low-level control, is memory-unsafe. This makes it prone to programming errors that can result in serious software vulnerabilities and system instability. In this paper, we investigate the feasibility of transitioning a large code base from C to a memory-safe alternative, specifically Rust, in the context of a large company in telecommunications and networking. We explore technical challenges with translation, building on automatic translation with C2Rust, analyze performance impact, and survey developers’ attitudes toward migration. We find that while C2Rust can generate correct code, significant manual effort is required in the translation process, especially to get the benefit of Rust’s safety guarantees. In the internal environment, Rust integration is currently limited, in part by missing compiler support for code closely tied to hardware. Performance results from open-source projects relevant to the company indicate that Rust does not perform significantly worse than C, although further research is needed. Developer attitudes towards a switch were generally positive. Our conclusion is that full migration is currently unfeasible, but gradual adoption is possible. Replication package: https://zenodo.org/records/15754034. (Less)
Please use this url to cite or link to this publication:
author
; ; ; ; and
organization
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
host publication
Product-Focused Software Process Improvement. Industry, Doctoral-Symposium, Tutorial, and Workshop Papers : 26th International Conference, PROFES 2025, Salerno, Italy, December 1–3, 2025, Proceedings - 26th International Conference, PROFES 2025, Salerno, Italy, December 1–3, 2025, Proceedings
series title
Lecture Notes in Computer Science
pages
19 - 35
conference name
26th International Conference on Product-Focused Software Process Improvement (PROFES 2025)
conference location
Salerno, Italy
conference dates
2025-12-01 - 2025-12-03
external identifiers
  • scopus:105023588492
ISBN
978-3-032-12091-5
978-3-032-12092-2
DOI
10.1007/978-3-032-12092-2_2
project
Next Generation Communication and Computational Infrastructures and Applications (NextG2Com)
language
English
LU publication?
yes
id
299f9f51-7436-411a-9cf6-13ae1a748c79
date added to LUP
2025-09-15 13:44:41
date last changed
2026-02-12 03:28:50
@inproceedings{299f9f51-7436-411a-9cf6-13ae1a748c79,
  abstract     = {{The C programming language, while offering high performance and low-level control, is memory-unsafe. This makes it prone to programming errors that can result in serious software vulnerabilities and system instability. In this paper, we investigate the feasibility of transitioning a large code base from C to a memory-safe alternative, specifically Rust, in the context of a large company in telecommunications and networking. We explore technical challenges with translation, building on automatic translation with C2Rust, analyze performance impact, and survey developers’ attitudes toward migration. We find that while C2Rust can generate correct code, significant manual effort is required in the translation process, especially to get the benefit of Rust’s safety guarantees. In the internal environment, Rust integration is currently limited, in part by missing compiler support for code closely tied to hardware. Performance results from open-source projects relevant to the company indicate that Rust does not perform significantly worse than C, although further research is needed. Developer attitudes towards a switch were generally positive. Our conclusion is that full migration is currently unfeasible, but gradual adoption is possible. Replication package: https://zenodo.org/records/15754034.}},
  author       = {{Viirola, Ella and Hummel, Johan and Söderberg, Emma and Bexell, Andreas and Kornevi, Peter and Asklund, Ulf}},
  booktitle    = {{Product-Focused Software Process Improvement. Industry, Doctoral-Symposium, Tutorial, and Workshop Papers : 26th International Conference, PROFES 2025, Salerno, Italy, December 1–3, 2025, Proceedings}},
  isbn         = {{978-3-032-12091-5}},
  language     = {{eng}},
  pages        = {{19--35}},
  series       = {{Lecture Notes in Computer Science}},
  title        = {{From C to Rust : how feasible is it?}},
  url          = {{http://dx.doi.org/10.1007/978-3-032-12092-2_2}},
  doi          = {{10.1007/978-3-032-12092-2_2}},
  year         = {{2025}},
}