package soteria
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Soteria is a toolkit for writing symbolic bug-finding tools
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.1.0.tar.gz
md5=8f15271b81e34caa12a39e3b7a63313a
sha512=5f6987cf362bc06402d9bed324c7b060384d7ef02479e2a614ca4b4122cc65082f6afc892c398c6562b0eb42fc13d6cc77e76c2518221590576215aaa00ee5bd
doc/index.html
Soteria Documentation
Soteria is a comprehensive library for writing symbolic execution engines. The library is parametric and allows for defining one's own notion of symbolic value or solver, enabling arbitrary language-specific optimisations. Our goal is for symbolic execution engines to be easy to write, easy to read, highly customisable and efficient.
Manual contents
- The symbolic execution tutorial walks you through the basics of doing symbolic execution with Soteria.
- The logging tutorial explains how to use the Logs module for debugging and monitoring your analyses.
- The statistics tutorial shows how to track and report metrics during symbolic execution.
- The sym_state PPX tutorial explains how to derive symbolic state boilerplate.
Library
Core components of Soteria, enabling symbolic execution, solver-interaction, user-friendly reporting, and more.
Soteria.SymexThe core of Soteria symbolic execution.Soteria.DataSymbolic abstractions over common data structures.Soteria.Sym_statesSeparation-logic ready state modules.Soteria.LogicSeparation logic assertionsSoteria.SolversLow-level solver manipulation and utilities.Soteria.LogsLogging facilities for symbolic execution.Soteria.TerminalUtilities for displaying messages to the user.Soteria.StatsTracking of statistics across symbolic execution.Soteria.ConfigGlobal configuration module.Soteria.SmtPerformance-focused SMT-LIB s-expression and solver interface.Soteria.Soteria_stdStandard library extensions and utilities for Soteria.
The two built-in symbolic value implementations, to get started; you can also define your own!
Soteria.Tiny_valuesMinimal natural integer based values. Suitable for toy examples.Soteria.Bv_valuesExtensible bit-vector based values, with floating point support. Suitable for low-level languages.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page