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?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?