From C to Rust : how feasible is it?
(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:
https://lup.lub.lu.se/record/299f9f51-7436-411a-9cf6-13ae1a748c79
- author
- Viirola, Ella
; Hummel, Johan
; Söderberg, Emma
LU
; Bexell, Andreas
LU
; Kornevi, Peter
and Asklund, Ulf
LU
- organization
- publishing date
- 2025
- 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}},
}