期刊文献+
共找到2篇文章
< 1 >
每页显示 20 50 100
RSMC:A Safety Model Checker for Concurrency and Memory Safety of Rust 被引量:1
1
作者 YAN Fei WANG Qizhong +1 位作者 ZHANG Liqiang CHEN Yasha 《Wuhan University Journal of Natural Sciences》 CAS CSCD 2020年第2期129-138,共10页
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 st... 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 annotations to verify Rust programs.We evaluate RSMC on two categories of Rust programs,and the result shows that RSMC can effectively find concurrency bugs and memory safety errors in vulnerable Rust programs,which include unsafe code. 展开更多
关键词 RUST memory safety concurrency safety model checking
原文传递
Certifying Concurrent Programs Using Transactional Memory 被引量:1
2
作者 李隆 张昱 +1 位作者 陈意云 李勇 《Journal of Computer Science & Technology》 SCIE EI CSCD 2009年第1期110-121,共12页
Transactional memory (TM) is a new promising concurrency-control mechanism that can avoid many of the pitfalls of the traditional lock-based techniques. TM systems handle data races between threads automatically so ... Transactional memory (TM) is a new promising concurrency-control mechanism that can avoid many of the pitfalls of the traditional lock-based techniques. TM systems handle data races between threads automatically so that programmers do not have to reason about the interaction of threads manually. TM provides a programming model that may make the development of multi-threaded programs easier. Much work has been done to explore the various implementation strategies of TM systems and to achieve better performance, but little has been done on how to formally reason about programs using TM and how to make sure that such reasoning is sound. In this paper, we focus on the semantics of transactional memory and present a proof-carrying code (PCC) system for reasoning about programs using TM . We formalize our reasoning with respect to the TM semantics, prove its soundness, and use examples to demonstrate its effectiveness. 展开更多
关键词 program verification transactional memory proof-carrying code concurrent program safety
原文传递
上一页 1 下一页 到第
使用帮助 返回顶部