mythril.laser.smt.solver package
Submodules
mythril.laser.smt.solver.independence_solver module
- class mythril.laser.smt.solver.independence_solver.DependenceBucket(variables=None, conditions=None)[source]
Bases:
object
Bucket object to contain a set of conditions that are dependent on each other
- class mythril.laser.smt.solver.independence_solver.DependenceMap[source]
Bases:
object
DependenceMap object that maintains a set of dependence buckets, used to separate independent smt queries
- class mythril.laser.smt.solver.independence_solver.IndependenceSolver[source]
Bases:
object
An SMT solver object that uses independence optimization
- add(*constraints: Tuple[Bool]) None [source]
Adds the constraints to this solver.
- Parameters:
constraints – constraints to add
- append(*constraints: Tuple[Bool]) None [source]
Adds the constraints to this solver.
- Parameters:
constraints – constraints to add
- check(**kwargs)
mythril.laser.smt.solver.solver module
This module contains an abstract SMT representation of an SMT solver.
- class mythril.laser.smt.solver.solver.BaseSolver(raw: T)[source]
Bases:
Generic
[T
]- add(*constraints: List[Bool]) None [source]
Adds the constraints to this solver.
- Parameters:
constraints
- Returns:
- append(*constraints: List[Bool]) None [source]
Adds the constraints to this solver.
- Parameters:
constraints
- Returns:
- check(**kwargs)
- class mythril.laser.smt.solver.solver.Optimize[source]
Bases:
BaseSolver
[Optimize
]An optimizing smt solver.
- maximize(element: Expression[ExprRef]) None [source]
In solving this solver will try to maximize the passed expression.
- Parameters:
element
- minimize(element: Expression[ExprRef]) None [source]
In solving this solver will try to minimize the passed expression.
- Parameters:
element