Flow-Sensitive Points-to Analysis for Rust: Enhancing Rupta for Improved Precision
Open Access
- Author:
- Butcher, Quinn
- Area of Honors:
- Computer Science
- Degree:
- Bachelor of Science
- Document Type:
- Thesis
- Thesis Supervisors:
- G. Gary Tan, Thesis Supervisor
Mohamed Khaled Almekkawy, Thesis Honors Advisor - Keywords:
- Rust
MIR
Pointer Analysis
Dominance Frontier
Dominator Tree
Rupta
Static Single Assignment
Pointer-to - Abstract:
- This thesis presents an approach to enhancing the Rupta program analysis tool with flow-sensitive points-to analysis for Rust. Flow sensitivity in points-to analysis enables more precise tracking of program behavior by considering control flow during analysis, a critical feature for improving accuracy in languages like Rust. Initially, a Global Value Numbering (GVN) approach was implemented in the tool to introduce flow sensitivity; however, this method had superfluous complexity, such was not implemented. The approach was subsequently revised to use a dominator tree and dominance frontier technique for introducing phi-functions into the Rust Intermediate Representation (MIR). This method allows for more accurate flow-sensitive analysis by incorporating control flow structures and ensuring that phi-functions correctly handle control flow edges. A custom translation function was developed to convert MIR into a form that supports these changes, leading to more accurate points-to relationships. The improved Rupta tool was evaluated on Rust programs, showing enhanced precision in points-to analysis. This work contributes to the development of more efficient and accurate static analysis tools for Rust and provides a foundation for future improvements in flow-sensitive analysis.
Accessible Version in Progress
We're generating an accessible version of this file to meet ADA Title II requirements. This process may take up to one hour. Please return later to access the accessible copy once it's ready.
You can still download the current version by clicking "OK".
What's happening:
An accessible PDF is being generated using Adobe with AI used to generate alternative text (alt text) for images in the PDF.