All Projects → bacam → Coqjvm

bacam / Coqjvm

Coq executable semantics and resource verifier

Labels

Projects that are alternatives of or similar to Coqjvm

Verdi
A framework for formally verifying distributed systems implementations in Coq
Stars: ✭ 496 (+4860%)
Mutual labels:  coq
Finset
A Coq library for extensional finite sets and comprehension
Stars: ✭ 6 (-40%)
Mutual labels:  coq
Cufp 2015 Tutorial
An introductory tutorial for the Coq proof assistant.
Stars: ✭ 9 (-10%)
Mutual labels:  coq
Sf Zh
《软件基础》中译版 Software Foundations Chinese Translation
Stars: ✭ 554 (+5440%)
Mutual labels:  coq
Software Foundations
Coq proofs of exercises in Pierce's book
Stars: ✭ 5 (-50%)
Mutual labels:  coq
Micro Policies Coq
Coq formalization accompanying the paper: Micro-Policies: A Framework for Verified, Tag-Based Security Monitors
Stars: ✭ 18 (+80%)
Mutual labels:  coq
Jscoq
A port of Coq to Javascript -- Run Coq in your Browser
Stars: ✭ 380 (+3700%)
Mutual labels:  coq
Software Foundations
Solutions to the exercises from the 'Software Foundations' book by Benjamin Pierce et al.
Stars: ✭ 9 (-10%)
Mutual labels:  coq
Crimp
Certified Relational to Imperative
Stars: ✭ 5 (-50%)
Mutual labels:  coq
Coqpie
CoqPIE (an IDE for the Coq theorem prover + PEDANTIC)
Stars: ✭ 8 (-20%)
Mutual labels:  coq
Category Theory
An axiom-free formalization of category theory in Coq for personal study and practical work
Stars: ✭ 562 (+5520%)
Mutual labels:  coq
Pudding
KCoFI Pudding: The formal proofs for the KCoFI system
Stars: ✭ 5 (-50%)
Mutual labels:  coq
Autosubst
Automation for de Bruijn syntax and substitution in Coq
Stars: ✭ 22 (+120%)
Mutual labels:  coq
Cosette
Cosette is an automated SQL solver.
Stars: ✭ 533 (+5230%)
Mutual labels:  coq
Hott Species
Combinatorial species in HoTT
Stars: ✭ 9 (-10%)
Mutual labels:  coq
Frap
Formal Reasoning About Programs
Stars: ✭ 465 (+4550%)
Mutual labels:  coq
Coq Guarded Computational Type Theory
Stars: ✭ 18 (+80%)
Mutual labels:  coq
Dblib Linear
Formalisation of the linear lambda calculus in Coq
Stars: ✭ 10 (+0%)
Mutual labels:  coq
Monads
Coq code accompanying several articles on semantics of functional programming languages
Stars: ✭ 9 (-10%)
Mutual labels:  coq
Cpp2v
Formalization of C++ for verification purposes.
Stars: ✭ 24 (+140%)
Mutual labels:  coq

CoqJVM

This repository contains:

  • An executable semantics for a substantial fragment of the JVM in Coq [1];
  • a verifier for simple resource properties where the specifications and proofs are embedded in class files, written in Coq;
  • an OCaml library for dealing with JVM classfiles; and
  • a slightly modified copy of extlib 1.5 (see below).

At the time of writing, I was able to build it with OCaml 4.02.3 and Coq 8.5rc1. To build it you must first install ocamldsort, then run make in the extlib-1.5 directory, followed by the ocaml-jvml-bob directory. The main development can then be built by make all.

The copy of extlib-1.5 has been modified. In particular (from the original svn logs):

  • Properly implement the header=false option in extlib's unzip
  • Fix off-by-one error in extlib's unzip module

and there are some minor changes to the IO module. Some of the unzip changes may be in later versions of extlib.

[1] CoqJVM: An Executable Specification of the Java Virtual Machine using Dependent Types, Robert Atkey, TYPES 2007, Springer LNCS 4941, 2008. DOI: 10.1007/978-3-540-68103-8_2

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].