English
Related papers

Related papers: Verification of a Rust Implementation of Knuth's D…

200 papers

We propose a hybrid approach to end-to-end Rust verification where the proof effort is split into powerful automated verification of safe Rust and targeted semi-automated verification of unsafe Rust. To this end, we present Gillian-Rust, a…

Programming Languages · Computer Science 2025-04-11 Sacha-Élie Ayoun , Xavier Denis , Petar Maksimović , Philippa Gardner

Compression is beneficial because it helps detract resource usage. It reduces data storage space as well as transmission traffic and improves web pages loading. Run-length coding (RLC) is a lossless data compression algorithm. Data are…

Data Structures and Algorithms · Computer Science 2016-11-30 Kaveh Geyratmand Haghighi , Mirkamal Mirnia , Ahmad Habibizad Navin

Rust is a memory-safe programming language that significantly improves software security. Existing codebases written in unsafe memory languages, such as C, must first be transpiled to Rust to take advantage of Rust's improved safety…

Software Engineering · Computer Science 2025-10-10 Yubo Bai , Tapti Palit

The Rust programming language is famous for its strong ownership regime: at each point, each value is either exclusively owned, exclusively borrowed through a mutable reference, or borrowed as read-only through one or more shared…

Programming Languages · Computer Science 2026-03-31 Wannes Tas , Bart Jacobs

Rust is a new and promising high-level system programming language. It provides both memory safety and thread safety through its novel mechanisms such as ownership, moves and borrows. Ownership system ensures that at any point there is only…

Programming Languages · Computer Science 2018-05-01 Feng Wang , Fu Song , Min Zhang , Xiaoran Zhu , Jun Zhang

Memory safety has long been a critical challenge in software engineering, particularly for legacy systems written in memory-unsafe languages such as C and C++. Rust, one of the youngest modern programming languages, offers built-in…

Software Engineering · Computer Science 2026-04-20 Sarah Bedell , Nazanin Siavash , Armin Moin

Refactoring tools are central to modern development, with extract-function refactorings used heavily in day-to-day work. For Rust, however, ownership, borrowing, and advanced type features make automated extract-function refactoring…

Programming Languages · Computer Science 2026-01-28 Matthew Britton , Sasha Pak , Alex Potanin

Clausal proofs have become a popular approach to validate the results of SAT solvers. However, validating clausal proofs in the most widely supported format (DRAT) is expensive even in highly optimized implementations. We present a new…

Logic in Computer Science · Computer Science 2017-08-09 Luís Cruz-Filipe , Marijn Heule , Warren Hunt , Matt Kaufmann , Peter Schneider-Kamp

Rust has become a popular system programming language that strikes a balance between memory safety and performance. Rust's type system ensures the safety of low-level memory controls; however, a well-typed Rust program is not guaranteed to…

Programming Languages · Computer Science 2025-02-28 Qihao Lian , Di Wang

We present a methodology for formal verification of arithmetic RTL designs that combines sequential logic equivalence checking with interactive theorem proving. An intermediate model of a Verilog module is hand-coded in Restricted…

Logic in Computer Science · Computer Science 2020-09-30 David M. Russinoff

We present Aeneas, a new verification toolchain for Rust programs based on a lightweight functional translation. We leverage Rust's rich region-based type system to eliminate memory reasoning for many Rust programs, as long as they do not…

Programming Languages · Computer Science 2022-09-29 Son Ho , Jonathan Protzenko

We propose an approach for modular verification of programs that use relaxed-consistency atomic memory access primitives and fences. The approach is sufficient for verifying the core of Rust's Atomic Reference Counting (ARC) algorithm. We…

Programming Languages · Computer Science 2025-09-30 Bart Jacobs , Justus Fasse

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

Rust is a relatively new system programming language that has been experiencing a rapid adoption in the past 10 years. Rust incorporates a memory ownership model enforced at a compile time. Since this model involves zero runtime overhead,…

Programming Languages · Computer Science 2022-09-20 Nikolay Ivanov

Retrieval-Augmented Generation (RAG) has emerged as a widely adopted approach for knowledge injection during large language model (LLM) inference in recent years. However, due to their limited ability to exploit fine-grained inter-document…

Computation and Language · Computer Science 2025-09-09 Weitao Li , Kaiming Liu , Xiangyu Zhang , Xuanyu Lei , Weizhi Ma , Yang Liu

Static analysis tools are essential for ensuring memory safety in Rust programs, particularly as Rust gains adoption in safety-critical domains. However, existing tools such as Rudra and MirChecker suffer from high false positive rates,…

Software Engineering · Computer Science 2026-05-07 Akilesh P , Leuson Da Silva , Foutse Khomh , Sridhar Chimalakonda

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

Translating software written in C to Rust has significant benefits in improving memory safety. However, manual translation is cumbersome, error-prone, and often produces unidiomatic code. Large language models (LLMs) have demonstrated…

Software Engineering · Computer Science 2025-12-24 Tianyang Zhou , Ziyi Zhang , Haowen Lin , Somesh Jha , Mihai Christodorescu , Kirill Levchenko , Varun Chandrasekaran

Low-rank representation~(LRR) has been a significant method for segmenting data that are generated from a union of subspaces. It is, however, known that solving the LRR program is challenging in terms of time complexity and memory…

Machine Learning · Statistics 2017-10-24 Jie Shen , Ping Li , Huan Xu

Rust's novel type system has proved an attractive target for verification and program analysis tools, due to the rich guarantees it provides for controlling aliasing and mutability. However, fully understanding, extracting and exploiting…

Programming Languages · Computer Science 2025-08-27 Zachary Grannan , Aurel Bílý , Jonáš Fiala , Jasper Geer , Markus de Medeiros , Peter Müller , Alexander J. Summers