g2: Haskell symbolic execution engine.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

A Haskell symbolic execution engine. For details, please see: https://github.com/BillHallahan/G2


[Skip to ReadMe]

Properties

Versions0.1.0.0, 0.1.0.1, 0.1.0.1
Change logNone available
Dependenciesarray (>=0.5.1.1 && <=0.5.3.0), base (>=4.8 && <5), bytestring (>=0.10.8.0 && <=0.10.8.2), Cabal (>=2.0.1.0 && <=2.0.1.1), concurrent-extra (>=0.7), containers (==0.5.*), directory (>=1.3.0.2 && <=1.3.3.2), extra (>=1.6.14 && <=1.6.17), filepath (==1.4.1.2), g2, ghc (==8.2.2), ghc-paths (==0.1.*), hashable (>=1.2.6.0 && <=1.3.0.0), hpc (>=0.6.0.0 && <0.6.1), HTTP (>=4000.3.0 && <4001.0), liquid-fixpoint (>=0.7.0.7), liquidhaskell (==0.8.2.2), MissingH (>=1.4.0.0 && <1.5), mtl (==2.2.*), parsec (==3.1.*), process (>=1 && <1.7), reducers (==3.12.*), regex-base (==0.93.*), regex-compat (==0.95.*), split (==0.2.3.*), template-haskell (==2.12.0.0), temporary-rc (==1.2.*), text (==1.2.3.1), time (>=1.6 && <=1.9.3), unordered-containers (==0.2.*) [details]
LicenseBSD-3-Clause
AuthorWilliam Hallahan, Anton Xue
Maintainerwilliam.hallahan@yale.edu
CategoryFormal Methods, Symbolic Computation
Source repositoryhead: git clone https://github.com/BillHallahan/G2.git
ExecutablesQuasiQuote, G2
UploadedSun Jun 30 02:11:00 UTC 2019 by WilliamHallahan

Modules

Downloads

Maintainers' corner

For package maintainers and hackage trustees


Readme for g2-0.1.0.1

[back to package description]

G2 Haskell Symbolic Execution Engine


About

G2 performs lazy symbolic execution of Haskell programs to detect state reachability. It is capable of generating assertion failure counterexamples and solving for higher-order functions.


Dependencies


Setup:

  1. Install GHC 8.2.2 (other GHC 8 versions might also work)

  2. Install Z3

  3. Either:

    a) Pull the Custom Haskell Standard Library into ~/.g2 by running bash base_setup.sh

    b) Manually pull the base library. Add a file to the G2 folder, called g2.cfg that contains: base = /path/to/custom/library


Command line:

Reachability:

cabal run G2 ./tests/Samples/Peano.hs add

LiquidHaskell:

cabal run G2 -- --liquid ./tests/Liquid/Peano.hs --liquid-func add

Arguments:

Authors