kupl / MicSE-Public

A Tool for Verifying and Refuting Smart Contract of Tezos

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MicSE

Table of Contents

Introduction

MicSE is a tool for verifying and testing Tezos smart contracts written in Michelson. Michelson is a native smart contract language of the Tezos Blockchain. MicSE verifies and refutes michelson code with initial storage of smart contract by cooperating prover and refuter. MicSE can verify the absence of runtime failures of Michelson programs, e.g., no arithmetic overflow. Also, MicSE supports verification of user-provided assertions.

Documents

Development

Prerequisite

System packages

  • OCaml (v.4.10.0): We use OCaml language to programming.
  • Opam (v2.0.5): We use Opam to manage package of OCaml.

Opam packages

  • Batteries
  • Core (v0.14.0)
  • Dune (v2.4.0): We use Dune to manage build system of OCaml project.
  • Logs
  • Menhir
  • Mtime
  • Ptime
  • Ocamlgraph
  • Yojson
  • Z3 (v4.8.13)
  • Zarith

Git Commit Guidelines

We are following Angular's commitizen rules for formatting git commit message. This allows you to read messages that are easy to understand when looking for project history. It also uses the git commit message to generate our CHANGELOG file.

About

This project is funded by Tezos Foundation: Verification and Testing Infrastructure for Tezos Contracts.

Authored and maintained by Jisuk Byun, Heewoong Jang

Github @cushionbadak Github @JormalHeewoongJang

About

A Tool for Verifying and Refuting Smart Contract of Tezos

License:MIT License


Languages

Language:OCaml 90.3%Language:Python 5.3%Language:LigoLANG 2.9%Language:Shell 1.4%Language:Makefile 0.1%Language:Dockerfile 0.0%