Abstract | ||
---|---|---|
In the multicore era, verification for concurrent programs is increasingly important. Although state-of-the-art verification systems ensure safe concurrent accesses to heap data structures, they tend to ignore program variables. This is problematic since these variables might also be accessed by concurrent threads. One solution is to apply the same permission system, designed for heap memory, to variables. However, variables have different properties than heap memory and could benefit from a simpler reasoning scheme. In this paper, we propose a new permission system to ensure safe accesses to shared variables. Given a shared variable, a thread owns either a full permission or no permission at all. This ensures data-race freedom when accessing variables. Our goal is to soundly manage the transfer of variable permissions among threads. Moreover, we present an algorithm to automatically infer variable permissions from procedure specifications. Though we propose a simpler permission scheme, we show that our scheme is sufficiently expressive to capture programming models such as POSIX threads and Cilk. We also implement this new scheme inside a tool, called Vperm, to automatically verify the correctness of concurrent programs based on given pre/post-specifications. |
Year | DOI | Venue |
---|---|---|
2012 | 10.1007/978-3-642-34281-3_4 | ICFEM |
Keywords | Field | DocType |
concurrent program,permission system,full permission,infer variable permission,simpler permission scheme,new permission system,shared variable,concurrency verification,heap memory,concurrent thread,variable permission,concurrency,verification,variable | Permission,Programming language,Computer science,Concurrency,Correctness,Real-time computing,Thread (computing),POSIX Threads,Heap (data structure),Full Permission,Cilk,Distributed computing | Conference |
Citations | PageRank | References |
2 | 0.36 | 18 |
Authors | ||
3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Duy-Khanh Le | 1 | 12 | 1.92 |
Wei-Ngan Chin | 2 | 868 | 63.37 |
Yong Meng Teo | 3 | 564 | 54.77 |