|
ABSTRACT
In previous work, we proposed a Hoare Type Theory (HTT) which combines effectful higher-order functions, dependent types and Hoare Logic specifications into a unified framework. However, the framework did not support polymorphism, and ailed to provide a modular treatment of state in specifications. In this paper, we address these shortcomings by showing that the addition of polymorphism alone is sufficient for capturing modular state specifications in the style of Separation Logic. Furthermore, we argue that polymorphism is an essential ingredient of the extension, as the treatment of higher-order functions requires operations not encodable via the spatial connectives of Separation Logic.
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
|
M. Abadi and K.R.M. Leino. A logic of object-oriented programs. In Verification: Theory and Practice, pages 11--41. Springer-Verlag, 2004.
|
| |
2
|
M. Barnett, K.R.M. Leino, and W. Schulte. The Spec# programming system: An overview. In CASSIS 2004, Lecture Notes in Computer Science. Springer, 2004.
|
 |
3
|
|
| |
4
|
B. Biering, L. Birkedal, and N. Torp-Smith. BI hyperdoctrines, Higher-Order Separation Logic, and Abstraction. Technical Report ITU-TR-2005-69, IT University of Copenhagen, Copenhagen, Denmark, July 2005.
|
 |
5
|
|
| |
6
|
|
 |
7
|
|
| |
8
|
A. Church. A formulation of the simple theory of types. The Journal of Symbolic Logic, 5(2):56--68, Jun 1940.
|
| |
9
|
S.A. Cook. Soundness and completeness of an axiom system for program verification. SIAM Journal of Computing, 7(1):70--90, 1978.
|
| |
10
|
D.L. Detlefs, K.R.M. Leino, G. Nelson, and J.B. Saxe. Extended static checking. Compaq Systems Research Center, Research Report 159, December 1998.
|
| |
11
|
|
 |
12
|
|
| |
13
|
M. Hofmann. Extensional Concepts in Intensional Type Theory. PhD thesis, Department of Computer Science, University of Edinburgh, July 1995. Avaliable as Technical Report ECS-LFCS-95-327.
|
| |
14
|
|
| |
15
|
W.A. Howard. The formulae-as-types notion of construction. In To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pages 479--490. Academic Press, 1980.
|
| |
16
|
Trevor Jim , J. Greg Morrisett , Dan Grossman , Michael W. Hicks , James Cheney , Yanling Wang, Cyclone: A Safe Dialect of C, Proceedings of the General Track: 2002 USENIX Annual Technical Conference, p.275-288, June 10-15, 2002
|
 |
17
|
|
| |
18
|
N. Krishnaswami. Separation logic for a higher-order typed language. In Workshop on Semantics, Program Analysis and Computing Environments for Memory Management, SPACE'06, pages 73--82, 2006.
|
| |
19
|
K.R.M. Leino, G. Nelson, and J.B. Saxe. ESC/Java User's Manual. Compaq Systems Research Center, October 2000. Technical Note 2000-002.
|
 |
20
|
|
| |
21
|
P. Martin-Löf. On the meanings of the logical constants and the justifications of the logical laws. Nordic Journal of Philosophical Logic, 1 1):11--60, 1996.
|
| |
22
|
C. McBride. Dependently Typed Functional Programs and their Proofs. PhD thesis, University of Edinburgh, 1999.
|
| |
23
|
J.L. McCarthy. Towards a mathematical science of computation. In IFIP Congress, pages 21--28, 1962.
|
| |
24
|
|
| |
25
|
|
| |
26
|
A. Nanevski and G. Morrisett. Dependent type theory of stateful higher-order functions. Technical Report TR-24-05, Harvard University, December 2005.
|
| |
27
|
A. Nanevski, G. Morrisett, and L. Birkedal. Polymorphism and Separation in Hoare Type Theory. Technical Report TR-10-06, Harvard University, April 2006. Available at http://www.eecs.harvard.edu/~aleks/papers/hoarelogic/httsep.pdf.
|
| |
28
|
A. Nanevski, F. Pfenning, and B. Pientka. Contextual modal type theory. Under consideration for publication in the ACM Transactions on Computation Logic, September 2005.
|
 |
29
|
|
| |
30
|
|
 |
31
|
|
| |
32
|
|
| |
33
|
S. Peyton Jones, editor. Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, April 2003.
|
| |
34
|
|
 |
35
|
|
| |
36
|
|
 |
37
|
|
| |
38
|
|
| |
39
|
SRI International and DSTO. The HOL System: Description. University of Cambridge Computer Laboratory, July 1991.
|
 |
40
|
|
| |
41
|
K. Watkins, I. Cervesato, F. Pfenning, and D. Walker. A concurrent logical framework: The propositional fragment. In S. Berardi, M. Coppo, and F. Damiani, editors, Types for Proofs and Programs, volume 3085 of Lecture Notes in Computer Science, pages 355--377. Springer, 2004.
|
| |
42
|
H. Xi. Applied Type System (extended abstract). In TYPES'03, pages 394--408. Springer-Verlag LNCS 3085, 2004.
|
 |
43
|
Hongwei Xi , Chiyan Chen , Gang Chen, Guarded recursive datatype constructors, Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.224-235, January 15-17, 2003, New Orleans, Louisiana, USA
|
| |
44
|
D. Zhu and H. Xi. Safe programming with pointers through stateful views. In Practical Aspects of Declarative Languages, PADL'05, volume 3350 of Lecture Notes in Computer Science, pages 83--97, Long Beach, California, January 2005. Springer.
|
|