English
Related papers

Related papers: MISRust: Mapping MISRA-C++ Coding Guidelines to th…

200 papers

The C programming language has been foundational in building system-level software. However, its manual memory management model frequently leads to memory safety issues. In response, Rust has emerged as a memory-safe alternative. Moreover,…

Programming Languages · Computer Science 2026-04-07 HoHyun Sim , Hyeonjoong Cho , Yeonghyeon Go , Sadegh AlMahdi Kazemi Zarkouei , Zhoulai Fu , Ali Shokri , Binoy Ravindran

We present Crux, a cross-language verification tool for Rust and C/LLVM. Crux targets bounded, intricate pieces of code that are difficult for humans to get right: for example, cryptographic modules and serializer / deserializer pairs. Crux…

As modern software extensively uses open source packages, developers regularly pull in new upstream code through frequent updates. While a manual review of all upstream changes may not be practical, developers may rely on the authors' and…

Software Engineering · Computer Science 2023-06-02 Nasif Imtiaz , Preya Shabrina , Laurie Williams

Vision-language models (VLMs), which process image and text inputs, are increasingly integrated into chat assistants and other consumer AI applications. Without proper safeguards, however, VLMs may give harmful advice (e.g. how to…

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2023-11-27 Aurel Bílý , João C. Pereira , Jan Schär , Peter Müller

Rust is an emergent systems programming language highlighting memory safety by its Ownership and Borrowing System (OBS). The existing formal semantics for Rust only covers limited subsets of the major language features of Rust. Moreover,…

Programming Languages · Computer Science 2020-07-28 Shuanglong Kan , Zhe Chen , David Sanan , Shang-Wei Lin , Yang Liu

Program safety (i.e., absence of undefined behaviors) is critical for correct operation of computer systems. It is usually verified at the source level (e.g., by separation logics) and preserved to the target by verified compilers (e.g.,…

Programming Languages · Computer Science 2025-10-14 Jinhua Wu , Yuting Wang , Liukun Yu , Linglong Meng

Automatically translating system software from C to Rust is an appealing but challenging problem, as it requires whole-program reasoning to satisfy Rust's ownership and borrowing discipline. A key enabling step in whole-program translation…

Programming Languages · Computer Science 2026-04-23 Victor Chen , Ayden Coughlin , Michael D. Bond

Permission systems which restrict access to system resources are a well-established technology in operating systems, especially for smartphones. However, as such systems are implemented in the operating system they can at most manage access…

Programming Languages · Computer Science 2025-06-16 Lukas Gehring , Sebastian Rehms , Florian Tschorsch

Microcontroller systems are integral to our daily lives, powering mission-critical applications such as vehicles, medical devices, and industrial control systems. Therefore, it is essential to investigate and outline the challenges…

Cryptography and Security · Computer Science 2025-11-03 Zheyuan Ma , Gaoxiang Liu , Alex Eastman , Kai Kaufman , Md Armanuzzaman , Xi Tan , Katherine Jesse , Robert Walls , Ziming Zhao

This work introduces a new approach to building crash-safe file systems for persistent memory. We exploit the fact that Rust's typestate pattern allows compile-time enforcement of a specific order of operations. We introduce a novel…

Operating Systems · Computer Science 2024-06-17 Hayley LeBlanc , Nathan Taylor , James Bornholt , Vijay Chidambaram

This paper documents a year-long experiment to "profile" the process of learning a programming language: gathering data to understand what makes a language hard to learn, and using that data to improve the learning process. We added…

Programming Languages · Computer Science 2024-01-03 Will Crichton , Shriram Krishnamurthi

State-of-the-art Boolean satisfiability (SAT) solvers constitute a practical and competitive approach for solving various real-world problems. To encourage their widespread adoption, the relatively high barrier of entry following from the…

Logic in Computer Science · Computer Science 2025-05-22 Christoph Jabs

Context: The integration of Rust into kernel development is a transformative endeavor aimed at enhancing system security and reliability by leveraging Rust's strong memory safety guarantees. Objective: We aim to find the current advances in…

Software Engineering · Computer Science 2024-09-10 Shane K. Panter , Nasir U. Eisty

Large language models (LLMs) show promise in code translation due to their ability to generate idiomatic code. However, a significant limitation when using LLMs for code translation is scalability: existing works have shown a drop in…

Programming Languages · Computer Science 2024-12-12 Hanliang Zhang , Cristina David , Meng Wang , Brandon Paulsen , Daniel Kroening

Automatic Static Analysis Tools (ASATs) are widely used by software developers to diffuse and enforce coding practices. Yet, we know little about the documentation of ASATs, despite it being critical to learn about the coding practices in…

Software Engineering · Computer Science 2024-02-14 Corentin Latappy , Thomas Degueule , Jean-Rémy Falleri , Romain Robbes , Xavier Blanc , Cédric Teyton

Large language models (LLMs) show promise in code translation - the task of translating code written in one programming language to another language - due to their ability to write code in most programming languages. However, LLM's…

Software Engineering · Computer Science 2025-04-18 Hasan Ferit Eniser , Hanliang Zhang , Cristina David , Meng Wang , Maria Christakis , Brandon Paulsen , Joey Dodds , Daniel Kroening

Ensuring correctness is crucial for code generation. Formal verification offers a definitive assurance of correctness, but demands substantial human effort in proof construction and hence raises a pressing need for automation. The primary…

Drivers are written in C or restricted subsets of C++ on all production-grade server, desktop, and mobile operating systems. They account for 66% of the code in Linux, but 39 out of 40 security bugs related to memory safety found in Linux…

Large language models (LLMs) are widely used for code generation, but their security reliability remains inconsistent across languages and prompting strategies. Existing prompt engineering improves functional correctness but rarely ensures…

Cryptography and Security · Computer Science 2026-05-26 Mohammed F. Kharma , Mohammad Alkhanafseh , Ahmed Sabbah , David Mohaisen
‹ Prev 1 3 4 5 6 7 10 Next ›