Create Savage authored by Martin Hashem's avatar Martin Hashem
This is a small intro to the savage tool.
It's an allusion to the generated svg (SaVaGe) and the "wild" nature of SDE's execution, if one doesn't see the underlying vstate structure.
Savage reads a KleeNet Log (.knl) file and visualises a real run of KleeNet on actual code.
### Less talk more fancy pictures
Savage creates both animated and static [SVG 1.1](http://www.w3.org/TR/SVG/) pictures. To view this, you require a user agent that supports svg. As of this writing opera is the only web-browser capable of correctly displaying svg animations. The following static svg might display correctly in other browsers, too. Who knows.
*Note: The svgs seem not to be served correctly. You may experience problems with displaying them directly from the server.* **Download them and open them locally!**
[Static SVG](https://code.comsys.rwth-aachen.de/redmine/attachments/241/static.svg)
[Animated SVG](https://code.comsys.rwth-aachen.de/redmine/attachments/242/log.svg)
[Rendered Video in the Ogg-Video format](https://code.comsys.rwth-aachen.de/redmine/attachments/243/animation-render.ogv)
```
wget 'https://code.comsys.rwth-aachen.de/redmine/attachments/242/log.svg' -O /tmp/log.svg && opera /tmp/log.svg
```
If your browser cannot correctly display the svgs, check out the ogg video to get an impression of how it would look like on the [Presto](http://en.wikipedia.org/wiki/Presto_(layout_engine)) engine.
#### State Mapping Algorithms
Here is a comparison (of a slightly modified scenario) of the COW and SDS state mapping algorithm:
[Copy-on-Write Algorithm](https://code.comsys.rwth-aachen.de/redmine/attachments/244/log-cow.svg)
[Super-Distributed-State Algorithm](https://code.comsys.rwth-aachen.de/redmine/attachments/245/log-sds.svg)
```
wget 'https://code.comsys.rwth-aachen.de/redmine/attachments/244/log-cow.svg' -O /tmp/log-cow.svg && opera /tmp/log-cow.svg
wget 'https://code.comsys.rwth-aachen.de/redmine/attachments/245/log-sds.svg' -O /tmp/log-sds.svg && opera /tmp/log-sds.svg
```
### Mobile World Congress Demo
Here is the demo we presented on the [MWC'13](http://www.mobileworldcongress.com/)
#### Build yourself
```
wget 'https://code.comsys.rwth-aachen.de/redmine/attachments/246/mwc.knl' -O mwc.knl && $KLEE/tools/savage -i mwc.knl -o mwc.svg && opera mwc.svg
```
#### Download built svg
```
wget 'https://code.comsys.rwth-aachen.de/redmine/attachments/247/mwc.svg' -O mwc.svg && opera mwc.svg
```
![animation-render](uploads/4497b11d117f0da89bb5b8a2ae9c64e6/animation-render.ogv)
![log.svg](uploads/2e61ff24b9194938269aa1d9ce3ef160/log.svg)
![log-cow.svg](uploads/ab96a9984cc4f874a5eb45cb37814c03/log-cow.svg)
![log-sds.svg](uploads/91a47d26ee3f7684e70fe651a0134e8a/log-sds.svg)
[mwc.knl](uploads/ee4858a65da5518b8fbf970b42e23e0c/mwc.knl)
![mwc.svg](uploads/30415f45fb1b5e9367df6fab2e496b71/mwc.svg)
![static.svg](uploads/3149d88ed4c10d26cabeb982424603db/static.svg)
\ No newline at end of file