Undocumented
Static Method | __rshift__ |
Undocumented |
Static Method |
|
Undocumented |
Static Method |
|
Undocumented |
Static Method | BVS |
Undocumented |
Static Method |
|
Undocumented |
Static Method |
|
Undocumented |
Static Method |
|
Undocumented |
Static Method |
|
Undocumented |
Static Method |
|
Undocumented |
Static Method |
|
Undocumented |
Static Method |
|
Undocumented |
Static Method | SGE |
Undocumented |
Static Method | SGT |
Undocumented |
Static Method |
|
Undocumented |
Static Method | SLE |
Undocumented |
Static Method | SLT |
Undocumented |
Static Method | UGE |
Undocumented |
Static Method | UGT |
Undocumented |
Static Method | ULE |
Undocumented |
Static Method | ULT |
Undocumented |
Static Method |
|
Undocumented |
Method | __init__ |
Undocumented |
Method | apply |
Apply an annotation on the backend object. |
Method | BVV |
Undocumented |
Method | constraint |
Undocumented |
Method | convert |
Resolves a claripy.ast.Base into something usable by the backend. |
Method |
|
Undocumented |
Method | intersection |
Undocumented |
Method | name |
This should return the name of an expression. |
Method | simplify |
Undocumented |
Method | union |
Undocumented |
Method | widen |
Undocumented |
Static Method | _op |
Undocumented |
Static Method | _op |
Undocumented |
Static Method | _op |
Undocumented |
Static Method | _op |
Undocumented |
Static Method | _op |
Undocumented |
Static Method | _op |
Undocumented |
Static Method | _op |
Undocumented |
Method | _cardinality |
This should return the maximum number of values that an expression can take on. This should be a strict *over* approximation. |
Method | _convert |
Converts `r` to something usable by this backend. |
Method | _eval |
This function returns up to `n` possible solutions for expression `expr`. |
Method | _has |
The native version of :func:`has_false`. |
Method | _has |
The native version of :func:`has_true`. |
Method | _identical |
This should return whether `a` is identical to `b`. This is the native version of ``identical()``. |
Method | _is |
The native version of is_false. |
Method | _is |
The native version of is_true. |
Method | _max |
Return the maximum value of expr. |
Method | _min |
Return the minimum value of expr. |
Method | _solution |
Return True if v is a solution of expr with the extra constraints, False otherwise. |
Method | _unique |
Undocumented |
Inherited from Backend
:
Method | add |
This function adds constraints to the backend solver. |
Method | batch |
Evaluate one or multiple expressions. |
Method | call |
Calls operation `op` on args `args` with this backend. |
Method | cardinality |
This should return the maximum number of values that an expression can take on. This should be a strict *over* approximation. |
Method | check |
This function does a constraint check and returns the solvers state |
Method | convert |
Undocumented |
Method | default |
Undocumented |
Method | downsize |
Clears all caches associated with this backend. |
Method | eval |
This function returns up to `n` possible solutions for expression `expr`. |
Method | handles |
Checks whether this backend can handle the expression. |
Method | has |
Should return False if `e` can possibly be False. |
Method | has |
Should return True if `e` can possible be True. |
Method | identical |
This should return whether `a` is identical to `b`. Of course, this isn't always clear. True should mean that it is definitely identical. False eans that, conservatively, it might not be. |
Method | is |
Should return True if e can be easily found to be False. |
Method | is |
Should return True if `e` can be easily found to be True. |
Method | max |
Return the maximum value of expr. |
Method | min |
Return the minimum value of `expr`. |
Method | multivalued |
Undocumented |
Method | satisfiable |
This function does a constraint check and checks if the solver is in a sat state. |
Method | singlevalued |
Undocumented |
Method | solution |
Return True if `v` is a solution of `expr` with the extra constraints, False otherwise. |
Method | solver |
This function should return an instance of whatever object handles solving for this backend. For example, in Z3, this would be z3.Solver(). |
Method | unsat |
This function returns the unsat core from the backend solver. |
Class Variable | __slots__ |
Undocumented |
Property | is |
Undocumented |
Method | _abstract |
Abstracts the BackendObject e to an AST. |
Method | _add |
This function adds constraints to the backend solver. |
Method | _batch |
Evaluate one or multiple expressions. |
Method | _call |
_call |
Method | _check |
This function does a constraint check and returns the solvers state |
Method | _make |
Fill up `self._op_expr` dict. |
Method | _make |
Undocumented |
Method | _name |
This should return the name of an object. |
Method | _satisfiable |
This function does a constraint check and returns a model for a solver. |
Method | _simplify |
Undocumented |
Method | _unsat |
This function returns the unsat core from the backend solver. |
Instance Variable | _cache |
Undocumented |
Instance Variable | _false |
Undocumented |
Instance Variable | _op |
Undocumented |
Instance Variable | _op |
Undocumented |
Instance Variable | _solver |
Undocumented |
Instance Variable | _tls |
Undocumented |
Instance Variable | _true |
Undocumented |
Property | _object |
Undocumented |
Apply an annotation on the backend object. :param BackendObject bo: The backend object. :param Annotation annotation: The annotation to be applied :return: A new BackendObject :rtype: BackendObject
claripy.backends.Backend.convert
Resolves a claripy.ast.Base into something usable by the backend. :param expr: The expression. :param save: Save the result in the expression's object cache :return: A backend object.
claripy.backends.Backend.name
This should return the name of an expression. :param a: the AST to evaluate
claripy.backends.Backend._cardinality
This should return the maximum number of values that an expression can take on. This should be a strict *over* approximation. :param a: The AST to evalute :return: An integer
claripy.backends.Backend._eval
This function returns up to `n` possible solutions for expression `expr`. :param expr: An expression (backend object) to evaluate. :param n: A number of results to return. :param extra_constraints: Extra constraints (as ASTs) to add to the solver for this solve. :param solver: A solver object, native to the backend, to assist in the evaluation (for example, a z3.Solver). :param model_callback: a function that will be executed with recovered models (if any) :return: A sequence of up to n results (backend objects).
claripy.backends.Backend._has_false
The native version of :func:`has_false`. :param e: The backend object. :param extra_constraints: Extra constraints (as ASTs) to add to the solver for this solve. :param solver: A solver, for backends that require it. :param model_callback: a function that will be executed with recovered models (if any) :return: A boolean.
claripy.backends.Backend._has_true
The native version of :func:`has_true`. :param e: The backend object. :param extra_constraints: Extra constraints (as ASTs) to add to the solver for this solve. :param solver: A solver, for backends that require it. :param model_callback: a function that will be executed with recovered models (if any) :return: A boolean.
claripy.backends.Backend._identical
This should return whether `a` is identical to `b`. This is the native version of ``identical()``. :param a: the (backend-native) object :param b: the (backend-native) object
claripy.backends.Backend._is_false
The native version of is_false. :param e: The backend object. :param extra_constraints: Extra constraints (as ASTs) to add to the solver for this solve. :param solver: A solver, for backends that require it. :param model_callback: a function that will be executed with recovered models (if any) :return: A boolean.
claripy.backends.Backend._is_true
The native version of is_true. :param e: The backend object. :param extra_constraints: Extra constraints (as ASTs) to add to the solver for this solve. :param solver: A solver, for backends that require it. :param model_callback: a function that will be executed with recovered models (if any) :return: A boolean.
claripy.backends.Backend._max
Return the maximum value of expr. :param expr: expression (backend object) to evaluate :param solver: a solver object, native to the backend, to assist in the evaluation (for example, a z3.Solver) :param extra_constraints: extra constraints (as ASTs) to add to the solver for this solve :param signed: Whether to solve for the maximum signed integer instead of the unsigned max :param model_callback: a function that will be executed with recovered models (if any) :return: the maximum possible value of expr (backend object)
claripy.backends.Backend._min
Return the minimum value of expr. :param expr: expression (backend object) to evaluate :param solver: a solver object, native to the backend, to assist in the evaluation (for example, a z3.Solver) :param extra_constraints: extra constraints (as ASTs) to add to the solver for this solve :param signed: Whether to solve for the minimum signed integer instead of the unsigned min :param model_callback: a function that will be executed with recovered models (if any) :return: the minimum possible value of expr (backend object)
claripy.backends.Backend._solution
Return True if v is a solution of expr with the extra constraints, False otherwise. :param expr: expression (backend object) to evaluate :param v: the proposed solution (backend object) :param solver: a solver object, native to the backend, to assist in the evaluation (for example, a z3.Solver) :param extra_constraints: extra constraints (as ASTs) to add to the solver for this solve :return: True if v is a solution of expr, False otherwise