Skip to content

Commit eebac4b

Browse files
committed
GitHub-friendly README
1 parent 67f4ed1 commit eebac4b

File tree

2 files changed

+53
-38
lines changed

2 files changed

+53
-38
lines changed

README.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# mCoq
2+
3+
mCoq is a tool for mutation analysis of verification projects that use the [Coq proof assistant](https://coq.inria.fr).
4+
5+
Note for ICSE-Demo reviewers: we recently cleaned up the code and improved our scripts for running the tool, so the steps shown in paper submission may differ from the ones below. Additionally, the directory structures may differ from the ones shown in the demo video.
6+
7+
## Requirements
8+
9+
- [OCaml 4.07.1](https://ocaml.org)
10+
- [Coq 8.10.2](https://coq.inria.fr/download)
11+
- [SerAPI 0.7.0](https://github.com/ejgallego/coq-serapi)
12+
- [Python 3](https://www.python.org)
13+
- [JDK 8](https://openjdk.java.net) (or later)
14+
- [Gradle 6](https://gradle.org/install/)
15+
16+
## Installation and usage
17+
18+
We strongly recommend installing the required versions of OCaml, Coq,
19+
and SerAPI via the [OPAM package manager](https://opam.ocaml.org/),
20+
version 2.0.5 or later.
21+
22+
To set up the OPAM and OCaml environment:
23+
```
24+
$ opam switch create 4.07.1
25+
$ opam switch 4.07.1
26+
$ eval $(opam env)
27+
```
28+
29+
Then, install Coq and SerAPI, pinning them to avoid unintended upgrades:
30+
```
31+
$ opam update
32+
$ opam pin add coq 8.10.2
33+
$ opam pin add coq-serapi 8.10.0+0.7.0
34+
```
35+
36+
Next, clone the mCoq repository and enter the directory:
37+
```
38+
$ git clone https://github.com/EngineeringSoftware/mcoq.git
39+
$ cd mcoq
40+
```
41+
42+
The entry point for using mCoq is the `mcoq.py` script. To see
43+
the available options, run:
44+
```
45+
./mcoq.py --help
46+
```
47+
48+
For example, to apply mCoq to [StructTact](https://github.com/uwplse/StructTact), revision [b95f041](https://github.com/uwplse/StructTact/commit/b95f041cb83986fb0fe1f9689d7196e2f09a4839), use:
49+
```
50+
./mcoq.py --project StructTact --sha b95f041 --url https://github.com/uwplse/StructTact.git --buildcmd "./configure && make -j4" --qdir ".,StructTact"
51+
```
52+
53+
After running this command, look for a HTML report in the `reports` directory.

README.txt

Lines changed: 0 additions & 38 deletions
This file was deleted.

0 commit comments

Comments
 (0)