Abstract
We discuss the potential of doing program development, code generation, application-specific modelling, and verification entirely within a proof assistant.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Appel, A.W., Dockins, R., Hobor, A., Beringer, L., Dodds, J., Stewart, G., Blazy, S., Leroy, X.: Program Logics for Certified Compilers. CUP (2014)
Benton, N., Kennedy, A., Varming, C.: Some domain theory and denotational semantics in Coq. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 115–130. Springer, Heidelberg (2009)
Bishop, S., Fairbairn, M., Norrish, M., Sewell, P., Smith, M., Wansbrough, K.: TCP, UDP, and Sockets: Rigorous and experimentally-validated behavioural specification. volume 2: The specification. Technical Report 625, University of Cambridge Computer Laboratory (2005)
Braibant, T., Pous, D.: An efficient Coq tactic for deciding Kleene algebras. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 163–178. Springer, Heidelberg (2010)
Chlipala, A.: The Bedrock structured programming system: Combining generative metaprogramming and Hoare logic in an extensible program verifier. In: ACM International Conference on Functional Programming, ICFP (2013)
Conway, M.E.: Proposal for an UNCOL. Communications of the ACM 1(10), 5–8 (1958)
Jensen, J., Benton, N., Kennedy, A.: High-level separation logic for low-level code. In: ACM Symposium on Principles of Programming Languages, POPL (2013)
Kennedy, A., Benton, N., Jensen, J., Dagand, P.: Coq: The world’s best macro assembler? In: International Symposium on Principles and Practice of Declarative Programming, PPDP (2013)
Klein, G., Elphinstone, K., Heiser, G., Andronick, J., Cock, D., Derrin, P., Elkaduwe, D., Engelhardt, K., Kolanski, R., Norrish, M., Sewell, T., Tuch, H., Winwood, S.: Sel4: Formal verification of an OS kernel. In: 22nd ACM Symposium on Operating Systems Principles, SOSP (2009)
Koprowski, A., Binsztok, H.: TRX: A formally verified parser interpreter. Logical Methods in Computer Science 7(2) (2011)
Kumar, R., Myreen, M.O., Owens, S.A., Norrish, M.: CakeML: A verified implementation of ML. In: ACM Symposium on Principles of Programming Languages, POPL (2014)
Leroy, X.: Formal verification of a realistic compiler. Communications of the ACM 52(7), 107–115 (2009)
Malecha, G., Morrisett, G., Shinnar, A., Wisnesky, R.: Toward a verified relational database management system. In: ACM Symposium on Principles of Programming Languages, POPL (2010)
Myreen, M.O.: Verified just-in-time compiler on x86. In: ACM Symposium on Principles of Programming Languages, POPL (2010)
Myreen, M.O., Gordon, M.J.C.: Function extraction. Science of Computer Programming (2010)
Myreen, M.O., Slind, K., Gordon, M.J.C.: Machine-code verification for multiple architectures - an application of decompilation into logic. In: Formal Methods in Computer-Aided Design, FMCAD (2008)
Nanevski, A., Morrisett, G., Shinnar, A., Govereau, P., Birkedal, L.: Ynot: Reasoning with the awkward squad. In: ACM International Conference on Functional Programming, ICFP (2008)
Ni, Z., Shao, Z.: Certified assembly programming with embedded code pointers. In: ACM Symposium on Principles of Programming Languages, POPL (2006)
Sarkar, S., Sewell, P., Zappa Nardelli, F., Owens, S., Ridge, T., Braibant, T., Myreen, M.O., Alglave, J.: The semantics of x86-cc multiprocessor machine code. In: ACM Symposium on Principles of Programming Languages, POPL (2009)
Strub, P.-Y., Swamy, N., Fournet, C., Chen, J.: Self-certification: Bootstrapping certified typecheckers in F* with Coq. In: ACM Symposium on Principles of Programming Languages, POPL (2012)
Wisnesky, R., Malecha, G., Morrisett, G.: Certified web services in Ynot. In: International Workshop on Automated Specification and Verification of Web Systems, WWV (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer International Publishing Switzerland
About this paper
Cite this paper
Benton, N. (2013). The Proof Assistant as an Integrated Development Environment. In: Shan, Cc. (eds) Programming Languages and Systems. APLAS 2013. Lecture Notes in Computer Science, vol 8301. Springer, Cham. https://doi.org/10.1007/978-3-319-03542-0_22
Download citation
DOI: https://doi.org/10.1007/978-3-319-03542-0_22
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-03541-3
Online ISBN: 978-3-319-03542-0
eBook Packages: Computer ScienceComputer Science (R0)