Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kiranandcode/camelclone
Automatically push changes to selected repositories - 0% tested yet 100% correct.
https://github.com/kiranandcode/camelclone
coq formalization ocaml verification
Last synced: 17 days ago
JSON representation
Automatically push changes to selected repositories - 0% tested yet 100% correct.
- Host: GitHub
- URL: https://github.com/kiranandcode/camelclone
- Owner: kiranandcode
- Created: 2019-11-07T13:13:55.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2019-11-07T13:20:31.000Z (about 5 years ago)
- Last Synced: 2024-11-06T07:41:30.492Z (2 months ago)
- Topics: coq, formalization, ocaml, verification
- Language: Coq
- Size: 13.7 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Camel Clone - 0% tested, 100% correct!
Example verified program built using Othudd theorem driven development.Camel Clone implements a fairly simple algorithm that, given a
sequence of file directories containing git repositories as input from
a configuration file, navigates to each repository then commits and
pushes any changes to their respective remotes.```
Push changes to selected local repositories online.camelclone.exe
Intended to be run as a chron job for syncing repositories used for coordination
=== flags ===
[-config configuration] file to load repositories, defaults to ~/.camelclone
[-strict] whether the program should immediately exit if any files are not
found. Defaults to false.
[-verbose] whether the program should print detailed information.
Defaults to false.
```As this software was developed using a theorem driven development
cycle, it comes with a formally verified proof of correctness - see
`lib/vericamelclone.v`.Hence, CamelClone is 0% tested, but certainly 100% correct.
*Just you try adding a bug pull request.*
## Requirements
- Coq - 8.9
- Ssreflect - 1.9
- Ocaml
- Dune
- Core## Setup
1. Run make```
make
```4. Verify it works with
```
make run
```