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.2.3.tar.gz
md5=22e0fc3f97555ac35b96fae10817a887
sha512=10457c9d1302e3f3018dca652cdf81f0cdfd461a79eca1a8a8b754e964a47f7f35c10a8c07aff8f5193ee7e794440635d788d91925ce75fb8280b60b4f0d6663
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