An open API service indexing awesome lists of open source software.

https://github.com/viperproject/termination-plugin

A Viper plugin for proving termination.
https://github.com/viperproject/termination-plugin

Last synced: about 2 months ago
JSON representation

A Viper plugin for proving termination.

Awesome Lists containing this project

README

          

# Termination Plugin - Viper

An extension/plugin for the [Viper verification infrastructure](http://www.pm.inf.ethz.ch/research/viper.html) that enables termination proofs.

### Compilation
From the termination-plugin subdirectory, create a symbolic link to the directory where you installed Silver:
```sh
$ ln -s ../silver silver
```

For testing also a symbolic link to Silicon is needed:
```sh
$ ln -s ../silicon silicon
```

### Usage
To use the plugin it has to be on the Java classpath. When invoking the back end `--plugin viper.plugin.termination.` has to be specified.

| Plugin Name | Tests |
| ------ | ------ |
| Decreases | Function with Path, Method |
| DecreasesFunction | Function |
| DecreasesFunctionPath | Function with Path |
| DecreasesMethod | Method |

### Test
You can run tests of the Termination Plugin by running `sbt test`.

Tests are currently only done with Silicon as back-end.
Testing with Carbon should be enabled in the future (TODO).