首页|RSMC: A Safety Model Checker for Concurrency and Memory Safety of Rust

RSMC: A Safety Model Checker for Concurrency and Memory Safety of Rust

扫码查看
Rust is a system-level programming language that provides thread and memory safety guarantee through a suite of static compiler checking rules and prevents segmentation errors.However,since compiler checking is too strict to confine Rust's programmability,the developers prefer to use the keyword "unsafe" to bypass compiler checking,through which the caller could interact with OS directly.Unfortunately,the code block with "unsafe" would easily lead to some serious bugs such as memory safety violation,race condition and so on.In this paper,to verify memory and concurrency safety of Rust programs,we present RSMC (Safety Model Checker for Rust),a tool based on Smack to detect concurrency bugs and memory safety errors in Rust programs,in which we combine concurrency primitives model checking and memory boundary model checking.RSMC,with an assertion generator,can automatically insert assertions and requires no programmer annota tions to verify Rust programs.We evaluate RSMC on two categories of Rust programs,and the result shows that RSMC can effectively fmd concurrency bugs and memory safety errors in vulnerable Rust programs,which include unsafe code.

Rustmemory safetyconcurrency safetymodel checking

YAN Fei、WANG Qizhong、ZHANG Liqiang、CHEN Yasha

展开 >

Key Laboratory of Aerospace Information Security and Trusted Computing, Ministry of Education, School of Cyber Science and Engineering, Wuhan University, Wuhan 430072, Hubei,China

Institute of Systems Engineering, Academy of Military Science of the Chinese People's Liberation Army, Beijing 100082, China

Supported by the National Basic Research Program of China (973 Program)

2014CB340601

2020

武汉大学自然科学学报(英文版)
武汉大学

武汉大学自然科学学报(英文版)

CSTPCDCSCD
影响因子:0.066
ISSN:1007-1202
年,卷(期):2020.25(2)
  • 11