A. W. Appel. Foundational proof-carrying code. In Proc. 16th Annual IEEE Symposium on Logic in Computer Science, pages 247–258, June 2001.
C. Colby, P. Lee, G. Necula, F. Blau, M. Plesko, and K. Cline. A certifying compiler for Java. In Proc. 2000 ACM Conf. on Prog. Lang. Design and Impl., pages 95–107, New York, 2000. ACM Press.
T. Coquand and G. Huet. The calculus of constructions. Information and Computation
, 76:95–120, 1988.CrossRefMathSciNetMATHGoogle Scholar
J.-C. Filliâtre. Verification of non-functional programs using interpretations in type theory. Journal of Functional Programming (to appear), 2001.
J.-C. Filliâtre. The WHY certification tool, tutorial and reference manual. http://why.lri.fr/
, July 2002.
C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, Oct. 1969.
C. A. R. Hoare. Proof of a program: FIND. Communications of the ACM, Jan. 1971.
W. A. Howard. The formulae-as-types notion of constructions. In To H.B.Curry: Essays on Computational Logic, Lambda Calculus and Formalism. Academic Press, 1980.
B. W. Kernighan and D. M. Ritchie. The C Programming Language (Second Edition). Prentice Hall, 1988.
D. E. Knuth. The Art of Computer Programming (Second Edition), volume 1. Addison-Wesley, 1973.
G. Morrisett, D. Walker, K. Crary, and N. Glew. From System F to typed assembly language. In Proc. 25th ACM Symp. on Principles of Prog. Lang., pages 85–97. ACM Press, Jan. 1998.
G. Necula. Proof-carrying code. In Proc. 24th ACM Symp. on Principles of Prog. Lang., pages 106–119, New York, Jan. 1997. ACM Press.
G. Necula and P. Lee. Safe kernel extensions without run-time checking. In Proc. 2nd USENIX Symp. on Operating System Design and Impl., pages 229–243, 1996.
G. Necula and P. Lee. The design and implementation of a certifying compiler. In Proc. 1998 ACM Conf. on Prog. Lang. Design and Impl., pages 333–344, New York, 1998.
C. Paulin-Mohring. Inductive definitions in the system Coq-rules and properties. In M. Bezem and J. Groote, editors, Proc. TLCA
, volume 664 of LNCS
. Springer-Verlag, 1993.Google Scholar
J. C. Reynolds. Lectures on reasoning about shared mutable data structure. IFIP Working Group 2.3 School/Seminar on State-of-the-Art Program Design Using Logic, Tandil, Argentina, September 6-13, 2000.
J. C. Reynolds. Separation logic: A logic for shared mutable data structures. In Proceedings Seventeenth Annual IEEE Symposium on Logic in Computer Science, Los Alamitos, California, 2002. IEEE Computer Society.
The Coq Development Team. The Coq proof assistant reference manual. The Coq release v7.1, Oct. 2001.
The FLINT Project. Coq implementation for certified dynamic storage allocation. http://flint.cs.yale.edu/flint/publications/cdsa.html
, Oct. 2002.
P. R. Wilson, M. S. Johnstone, M. Neely, and D. Boles. Dynamic storage allocation: A survey and critical review. In Proc. Int. Workshop on Memory Management, Kinross Scotland (UK), 1995.
A. K. Wright and M. Felleisen. A syntactic approach to type soundness. Information and Computation
, 115(1):38–94, 1994.MATHCrossRefMathSciNetGoogle Scholar
D. Yu, N. A. Hamid, and Z. Shao. Building certified libraries for PCC: Dynamic storage allocation. Technical Report YALEU/DCS/TR-1247, Dept. of Computer Science, Yale Univeristy, New Haven, CT, Jan. 2003. http://flint.cs.yale.edu/