Static Deadlock Detection for Rust Programs

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Zhang, Yu, Zhang, Kaiwen, Liu, Guanjun
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866908751443787776
author Zhang, Yu
Zhang, Kaiwen
Liu, Guanjun
author_facet Zhang, Yu
Zhang, Kaiwen
Liu, Guanjun
contents Rust relies on its unique ownership mechanism to ensure thread and memory safety. However, numerous potential security vulnerabilities persist in practical applications. New language features in Rust pose new challenges for vulnerability detection. This paper proposes a static deadlock detection method tailored for Rust programs, aiming to identify various deadlock types, including double lock, conflict lock, and deadlock associated with conditional variables. With due consideration for Rust's ownership and lifetimes, we first complete the pointer analysis. Then, based on the obtained points-to information, we analyze dependencies among variables to identify potential deadlocks. We develop a tool and conduct experiments based on the proposed method. The experimental results demonstrate that our method outperforms existing deadlock detection methods in precision.
format Preprint
id arxiv_https___arxiv_org_abs_2401_01114
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Static Deadlock Detection for Rust Programs
Zhang, Yu
Zhang, Kaiwen
Liu, Guanjun
Programming Languages
Cryptography and Security
Software Engineering
Rust relies on its unique ownership mechanism to ensure thread and memory safety. However, numerous potential security vulnerabilities persist in practical applications. New language features in Rust pose new challenges for vulnerability detection. This paper proposes a static deadlock detection method tailored for Rust programs, aiming to identify various deadlock types, including double lock, conflict lock, and deadlock associated with conditional variables. With due consideration for Rust's ownership and lifetimes, we first complete the pointer analysis. Then, based on the obtained points-to information, we analyze dependencies among variables to identify potential deadlocks. We develop a tool and conduct experiments based on the proposed method. The experimental results demonstrate that our method outperforms existing deadlock detection methods in precision.
title Static Deadlock Detection for Rust Programs
topic Programming Languages
Cryptography and Security
Software Engineering
url https://arxiv.org/abs/2401.01114