formal-land / coq-of-js

🌍 πŸ“ Formal verification for JavaScript

Home Page:https://formal-land.github.io/coq-of-js/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🌍 πŸ“ coq-of-js

Import JavaScript programs to Coq. Prove all the things! πŸ“

travis status codecov status

Online demo: https://formal-land.github.io/coq-of-js/

The aim of this project is to import JavaScript programs to the Coq language, to do formal verification on JavaScript code.

Still under heavy development

Run

For now: a web-interface to do development, with four columns:

  • the JavaScript input;
  • the Coq output;
  • the JavaScript AST;
  • the Coq AST.

From the command line:

npm install
npm start

or with Yarn:

yarn install
yarn start

Examples

See the online demo.

Todo

We want to validate the basis:

  • have a good project settings (tests, error handling, ...);
  • import a reasonable volume of syntax;
  • handle modules;
  • handle a definition of side-effects;
  • handle records vs maps, sum types, avoiding problems of structural typing vs nominal typing.

Related work

TODO: read all the links!

About

🌍 πŸ“ Formal verification for JavaScript

https://formal-land.github.io/coq-of-js/

License:MIT License


Languages

Language:JavaScript 97.8%Language:CSS 1.1%Language:HTML 1.1%