|
ABSTRACT
We propose a dependent type theory that integrates programming, specifications, and reasoning about higher-order concurrent programs with shared transactional memory. The design builds upon our previous work on Hoare Type Theory (HTT), which we extend with types that correspond to Hoare-style specifications for transactions. The types track shared and local state of the process separately, and enforce that shared state always satisfies a given invariant, except at specific critical sections which appear to execute atomically. Atomic sections may violate the invariant, but must restore it upon exit. HTT follows Separation Logic in providing tight specifications of space requirements. As a logic, we argue that HTT is sound and compositional. As a programming language, we define its operational semantics and show adequacy with respect to specifications.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
 |
2
|
|
| |
3
|
S. Brookes. A semantics for concurrent separation logic. In CONCUR'04, pages 16--34.
|
 |
4
|
|
 |
5
|
|
| |
6
|
X. Feng, R. Ferreira, and Z. Shao. On the relationship between concurrent separation logic and assume-guarantee reasoning. In ESOP'07, pages 173--188.
|
 |
7
|
|
| |
8
|
A. Gotsman, J. Berdine, B. Cook, N. Rinetzky, and M. Sagiv. Local reasoning for storable locks and threads. In APLAS'07, pages 19--38.
|
 |
9
|
|
 |
10
|
Tim Harris , Simon Marlow , Simon Peyton-Jones , Maurice Herlihy, Composable memory transactions, Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 15-17, 2005, Chicago, IL, USA
[doi> 10.1145/1065944.1065952]
|
| |
11
|
A. Hobor, A. W. Appel, and F. Z. Nardelli. Oracle Semantics for Concurrent Separation Logic. In ESOP'08, pages 353--367.
|
| |
12
|
N. Krishnaswami. Separation logic for a higher-order typed language. In SPACE'06, pages 73--82.
|
| |
13
|
Z. Luo. An Extended Calculus of Constructions. PhD thesis, University of Edinburgh, 1990.
|
 |
14
|
|
| |
15
|
The Coq development team. The Coq proof assistant reference manual. LogiCal Project, 2004. Version 8.0.
|
| |
16
|
|
| |
17
|
J. L. McCarthy. Towards a mathematical science of computation. In IFIP Congress, pages 21--28, 1962.
|
| |
18
|
|
| |
19
|
K. F. Moore and D. Grossman. High level small step operational semantics for transactions. In Workshop on Transactional Computing, August 2007.
|
| |
20
|
A. Nanevski, A. Ahmed, G. Morrisett, and L. Birkedal. Abstract Predicates and Mutable ADTs in Hoare Type Theory. In ESOP'07, pages 189--204.
|
| |
21
|
A. Nanevski, P. Govereau, and G. Morriset. Type-theoretic semantics for transactional concurrency. Technical Report TR-09-07, Harvard University, July 2007.
|
| |
22
|
A. Nanevski, G. Morrisett, and L. Birkedal. Hoare Type Theory, Polymorphism and Separation. Journal of Functional Programming, 18(5&6):865--911, 2008.
|
 |
23
|
Aleksandar Nanevski , Greg Morrisett , Avraham Shinnar , Paul Govereau , Lars Birkedal, Ynot: dependent types for imperative programs, Proceeding of the 13th ACM SIGPLAN international conference on Functional programming, September 20-28, 2008, Victoria, BC, Canada
|
| |
24
|
|
| |
25
|
|
 |
26
|
|
 |
27
|
|
| |
28
|
R. L. Petersen, L. Birkedal, A. Nanevski, and G. Morrisett. A realizability model for impredicative Hoare Type Theory. In ESOP'08, pages 337--352.
|
 |
29
|
|
 |
30
|
|
| |
31
|
V. Vafeiadis and M. Parkinson. A marriage of rely/guarantee and separation logic. In CONCUR'07, pages 256--271.
|
| |
32
|
K. Watkins, I. Cervesato, F. Pfenning, and D. Walker. A concurrent logical framework: The propositional fragment. In Types for Proofs and Programs, volume 3085 of Lecture Notes in Computer Science, pages 355--377.
|
 |
33
|
|
 |
34
|
|
| |
35
|
D. Zhu and H. Xi. Safe programming with pointers through stateful views. In PADL'05, pages 83--97.
|
|