Yuga: Automatically Detecting Lifetime Annotation Bugs in the Rust Language
Vikram Nitin, Anne Mulhern, Sanjay Arora, Baishakhi Ray

TL;DR
Yuga is a static analysis tool designed to automatically detect lifetime annotation bugs in Rust, improving security by identifying subtle memory safety issues that existing tools often miss.
Contribution
The paper introduces Yuga, a novel multi-phase static analysis tool that effectively detects lifetime annotation bugs in Rust, supported by curated datasets and empirical validation.
Findings
Yuga achieves high precision in detecting lifetime bugs.
It outperforms existing tools in identifying subtle memory safety issues.
The curated datasets facilitate further research in Rust bug detection.
Abstract
The Rust programming language is becoming increasingly popular among systems programmers due to its efficient performance and robust memory safety guarantees. Rust employs an ownership model to ensure this guarantee by allowing each value to be owned by only one identifier at a time. Additionally, it introduces the concept of borrowing and lifetimes to enable other variables to borrow the values under certain conditions temporarily. Despite its benefits, security vulnerabilities have been reported in Rust projects, often attributed to the use of "unsafe" Rust code. These vulnerabilities, in part, arise from incorrect lifetime annotations on function signatures. However, existing tools fail to detect these bugs, primarily because such bugs are rare, challenging to detect through dynamic analysis, and require explicit memory models. To overcome these limitations, first, we characterize…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Reliability and Analysis Research · Software Engineering Research · Software System Performance and Reliability
