epfl-lara / PVS

The People's Verification System

Home Page:http://pvs.csl.sri.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PVS Specification and Verification System

Build Status

PVS is a verification system: that is, a specification language integrated with support tools and a theorem prover. It is intended to capture the state-of-the-art in mechanized formal methods and to be sufficiently rugged that it can be used for significant applications. PVS is a research prototype: it evolves and improves as we develop or apply new capabilities, and as the stress of real use exposes new requirements.

For documentation and pre-built binaries, please visit http://pvs.csl.sri.com/.

Making PVS 8.0 from sources

In short: 0. For Macs, you'll need to install xcode, in Ubuntu, apt-get install build-essential

  1. Use your favorite package manager to get SBCL and Emacs
  2. git clone https://github.com/SRI-CSL/PVS.git
  3. cd PVS
  4. Run ./configure, use your package manager if, e.g., curl is missing
  5. Run make

Notes:

  1. This works for Mac M1 natively
  2. For some reason the make on Intel Macs pauses a long time at the compile for list-decls; just be patient.
  3. There is a Dockerfile that will create a Docker image for PVS; this can be used on a Windows platform.
  4. If you're using the current version of NASA's pvslib, you will get some errors. You can temporarily use the pvs8.0 branch of https://github.com/samowre/pvslib.git, which is a fork of it upgraded to work with PVS 8.0 and SBCL.

Let us know at pvs@csl.sri.com if you have problems or suggestions.

Source layout

Files:

  • README - this file
  • pvs - the shell script for invoking pvs
  • pvsio-web - the shell script for invoking the pvsio-web prototyping tool
  • pvs.sty - the style file supporting LaTeX output
  • pvs-tex.sub - the default substitution file for generating LaTeX

Directories:

  • Examples - some simple example specifications
  • emacs - Emacs files.
  • wish - Tcl/Tk files
  • bin - shell scripts and executables
  • lib - prelude, help files, and libraries
  • pvsio-web - PVSio-web prototyping tool and example prototypes
  • javascript - experimental javascript front-ends for PVS. See javascript/README.md for more info on how to run the tools.

About

The People's Verification System

http://pvs.csl.sri.com

License:GNU General Public License v2.0


Languages

Language:Common Lisp 71.5%Language:C 9.3%Language:Emacs Lisp 8.2%Language:C++ 2.9%Language:Java 1.6%Language:Python 1.5%Language:Raku 1.4%Language:Roff 0.8%Language:Makefile 0.5%Language:Tcl 0.5%Language:Shell 0.5%Language:TeX 0.3%Language:Yacc 0.3%Language:Perl 0.3%Language:Lex 0.2%Language:mupad 0.1%Language:Prolog 0.0%Language:HTML 0.0%Language:CSS 0.0%Language:Dockerfile 0.0%