vellvm

The Vellvm (Verified LLVM) coq development.

  • 所有者: vellvm/vellvm
  • 平台:
  • 许可证: Other
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Vellvm

Build Status

Vellvm is a Coq formalization of the semantics of (a subset of) the
LLVM compiler IR that is intended for formal verification of
LLVM-based software. It is being developed at the
University of Pennsylvania as part of the DeepSpec project.

See:

Participants

  • Steve Zdancewic
  • Yannick Zakowski
  • Calvin Beck
  • Olek Gierczak

Past Contributors

  • Vivien Durey
  • Dmitri Garbuzov
  • William Mansky
  • Milo Martin
  • Santosh Nagarakatte
  • Emmett Neyman
  • Christine Rizkallah
  • Robert Zajac
  • Richard Zhang
  • Jianzhou Zhao

Structure of the repository

/src/ci - travis configuration

/src/coq - Coq formalization (see Denotation.v and TopLevel.v most notably)

/src/ml - OCaml glue code for working with ollvm

/src/ml/extracted - OCaml code extracted from the files in /src/coq directory

/src/doc - coqdoq [not useful yet]

/lib - for 3rd party libraries [as git submodules]

/tests - various LLVM source code tests

Installing / Compiling Vellvm

Assumes:

  • coqc : version 8.9.1 or 8.10.0 (and coqdep, etc.)
  • Coq packages:
    • ext-lib (installed via, e.g. opam install coq-ext-lib)
    • paco (installed via, e.g. opam install coq-paco)
    • flocq (installed via, e.g. opam install coq-flocq, see note below)
    • itree (installed via, e.g. opam install coq-itree)
      • Currently you should actually just use the submodule (lib/InteractionTrees): see the instructions for compilation below.
    • ceres (installed via, e.g. opam install coq-ceres)
  • ocamlc : version 4.04 (probably works with 4.03 or later)
    • OPAM packages: dune, menhir, [optional: llvm (for llvm v. 3.8)]

Compilation:

  1. clone the vellvm git repo with --recurse-submodule option (git clone --recurse-submodules)
  2. run make in the /src directory

Running

Do src/vellvm -help from the command line.

Try src/vellvm -interpret tests/ll/factorial.ll.

Notes

coq-flocq

On some OSX configurations the opam installation for coq-flocq fails with a
permissions error # Failed to create server: Operation not permitted caused by
opam's sandboxing scripts. The solution is to temporarily disable opam's
sandboxing by editing ~/.opam/config to remove the lines having to do with
wrap-*-commands:.

主要指标

概览
名称与所有者vellvm/vellvm
主编程语言LLVM
编程语言Makefile (语言数: 9)
平台
许可证Other
所有者活动
创建于2017-04-06 11:21:21
推送于2025-05-29 20:43:08
最后一次提交
发布数13
最新版本名称v2.1.20250327 (发布于 )
第一版名称dsss17 (发布于 )
用户参与
星数429
关注者数20
派生数36
提交数3.5k
已启用问题?
问题数246
打开的问题数113
拉请求数115
打开的拉请求数3
关闭的拉请求数19
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?