会议专题

Formal Reasoning about Concurrent Assembly Code with Reentrant Locks

This paper focuses on the problem of reason ing about concurrent assembly code with reentrant locks. Our verification technique is based on concurrent separation logic (CSL). In CSL, locks are treated as nonreentrant locks and each lock is associated with a resource invariant, the lock-protected resources are obtained and released through acquiring and releasing the lock respectively. In order to accommodate for reentrancy, we introduce some additional notions into our specification language to describe reentrant level for each acquiring and releasing lock operation. Keeping track of the reentrant level for each lock in the pre-and post conditions enables the program logic to ensure that resources are not re-acquired upon reentrancy, thus resources owned by a thread are prevented from reintroducing in the postcondition. Our framework is fully mechanized. Its soundness has been verified using the Coq proof assistant. We demonstrate the usage of our framework through giving a safety proof of a simple program.

reentrant locks concurrent separation logic safety program logic

Ming Fu Yu Zhang Yong Li

Department of Computer Science & Technology University of Science & Technology of China Hefei, 230027, China Software Security Laboratory Suzhou Institute for Advanced Study, USTC SuZhou, 215123, China

国际会议

Third International Symposium on Theoretical Aspects of Software Engineering TASE 2009(第三届软件工程理论国际研讨会)

天津

英文

233-240

2009-07-29(万方平台首次上网日期,不代表论文的发表时间)