English
Related papers

Related papers: The Case for Writing Network Drivers in High-Level…

200 papers

In modern runtime systems, memory layout calculations are hand-coded in systems languages. Primitives in these languages are not powerful enough to describe a rich set of layouts, leading to reliance on ad-hoc macros, numerous interrelated…

Programming Languages · Computer Science 2019-09-13 Karl Cronburg , Samuel Z. Guyer

Legacy device drivers implement both device resource management and isolation. This results in a large code base with a wide high-level interface making the driver vulnerable to security attacks. This is particularly problematic for…

Operating Systems · Computer Science 2014-11-17 Ardalan Amiri Sani , Lin Zhong , Dan S. Wallach

New programming languages (e.g., Swift, Go, Rust, etc.) are being introduced to provide a better opportunity for the developers to make software development robust and easy. At the early stage, a programming language is likely to have…

Software Engineering · Computer Science 2021-05-06 Partha Chakraborty , Rifat Shahriyar , Anindya Iqbal , Gias Uddin

Software developers compose systems from components written in many different languages. A business-logic component may be written in Java or OCaml, a resource-intensive component in C or Rust, and a high-assurance component in Coq. In this…

Programming Languages · Computer Science 2017-11-15 Daniel Patterson , Amal Ahmed

Memory safety violations in low-level code, written in languages like C, continues to remain one of the major sources of software vulnerabilities. One method of removing such violations by construction is to port C code to a safe C dialect.…

Software Engineering · Computer Science 2024-04-02 Nausheen Mohammed , Akash Lal , Aseem Rastogi , Subhajit Roy , Rahul Sharma

Existing C to Rust translation techniques fail to balance quality and scalability: transpilation-based approaches scale to large projects but produce code with poor safety, idiomaticity, and readability. In contrast, LLM-based techniques…

Software Engineering · Computer Science 2025-11-26 Saman Dehghan , Tianran Sun , Tianxiang Wu , Zihan Li , Reyhaneh Jabbarvand

Graphics Processing Units (GPU) offer tremendous computational power by following a throughput oriented computing paradigm where many thousand computational units operate in parallel. Programming this massively parallel hardware is…

Programming Languages · Computer Science 2023-05-08 Bastian Köpcke , Sergei Gorlatch , Michel Steuwer

Tock began 10 years ago as a research operating system developed by academics to help other academics build urban sensing applications. By leveraging a new language (Rust) and new hardware protection mechanisms, Tock enabled…

Operating Systems · Computer Science 2026-03-25 Leon Schuermann , Brad Campbell , Branden Ghena , Philip Levis , Amit Levy , Pat Pannuto

Rust aims to be a safe programming language applicable to systems programming applications. In particular, its type system has strong guardrails to prevent a variety of issues, such as memory safety bugs and data races. However, these…

Programming Languages · Computer Science 2024-10-04 Alex Le Blanc , Patrick Lam

Large language models have shown good potential in supporting software development tasks. This is why more and more developers turn to LLMs (e.g. ChatGPT) to support them in fixing their buggy code. While this can save time and effort, many…

Software Engineering · Computer Science 2024-09-06 Yacine Majdoub , Eya Ben Charrada

Rust is a popular memory-safe systems programming language. In order to interact with hardware or call into non-Rust libraries, Rust provides \emph{unsafe} language features that shift responsibility for ensuring memory safety to the…

Cryptography and Security · Computer Science 2025-10-09 Merve Gülmez , Thomas Nyman , Christoph Baumann , Jan Tobias Mühlberg

The Rust programming language, with its safety guarantees, has established itself as a viable choice for low-level systems programming language over the traditional, unsafe alternatives like C/C++. These guarantees come from a strong…

Software Engineering · Computer Science 2023-08-11 Pantazis Deligiannis , Akash Lal , Nikita Mehrotra , Aseem Rastogi

Programmable switch hardware makes it possible to move fine-grained control logic inside the network data plane, improving performance for a wide range of applications. However, applications with integrated control are inherently hard to…

Networking and Internet Architecture · Computer Science 2021-07-07 John Sonchack , Devon Loehr , Jennifer Rexford , David Walker

Rust aims to offer full memory safety for programs, a guarantee that untamed C programs do not enjoy. How difficult is it to translate existing C code to Rust? To get a complementary view from that of automatic C to Rust translators, we…

Software Engineering · Computer Science 2024-12-09 Ruishi Li , Bo Wang , Tianyu Li , Prateek Saxena , Ashish Kundu

The Go programming language offers strong protection from memory corruption. As an escape hatch of these protections, it provides the unsafe package. Previous studies identified that this unsafe package is frequently used in real-world code…

Software Engineering · Computer Science 2023-06-02 Anna-Katharina Wickert , Clemens Damke , Lars Baumgärtner , Eyke Hüllermeier , Mira Mezini

Rewriting C code in Rust provides stronger memory safety, yet migrating large codebases such as the 32-million-line Linux kernel remains challenging. While rule-based translators (e.g., C2Rust) provide accurate yet largely unsafe Rust…

Programming Languages · Computer Science 2025-04-01 Yuchen Liu , Junhao Hu , Yingdi Shan , Ge Li , Yanzhen Zou , Yihong Dong , Tao Xie

Given programming languages can provide different types and levels of security support, it is critically important to consider security aspects while selecting programming languages for developing software systems. Inadequate consideration…

Software Engineering · Computer Science 2021-11-29 Roland Croft , Yongzheng Xie , Mansooreh Zahedi , M. Ali Babar , Christoph Treude

Historically, Fortran and C have been the default programming languages in High-Performance Computing (HPC). In both, programmers have primitives and functions available that allow manipulating system memory and interacting directly with…

Programming Languages · Computer Science 2021-10-25 Manuel Costanzo , Enzo Rucci , Marcelo Naiouf , Armando De Giusti

Modern code generation tools utilizing AI models like Large Language Models (LLMs) have gained increased popularity due to their ability to produce functional code. However, their usage presents security challenges, often resulting in…

Software Engineering · Computer Science 2025-02-07 Yujia Fu , Peng Liang , Amjed Tahir , Zengyang Li , Mojtaba Shahin , Jiaxin Yu , Jinfu Chen

Despite extensive usage in high-performance, low-level systems programming applications, C is susceptible to vulnerabilities due to manual memory management and unsafe pointer operations. Rust, a modern systems programming language, offers…

Software Engineering · Computer Science 2024-12-24 Manish Shetty , Naman Jain , Adwait Godbole , Sanjit A. Seshia , Koushik Sen