class ConstrainedFrontend(Frontend): (source)
Known subclasses: claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
, claripy.frontends.light_frontend.LightFrontend
, claripy.frontends.replacement_frontend.ReplacementFrontend
Undocumented
Method | __getstate__ |
Undocumented |
Method | __init__ |
Undocumented |
Method | __setstate__ |
Undocumented |
Method | add |
Adds constraint(s) to constraints list. |
Method | batch |
Evaluates `exprs`, returning a list of tuples (one tuple of `n` solutions for expression). |
Method | check |
Checks the satisfiability of stored constraints conjunction. |
Method | combine |
Undocumented |
Method | downsize |
Undocumented |
Method | eval |
Evaluates expression `e`, returning a tuple of `n` solutions. |
Method | finalize |
Undocumented |
Method | independent |
Undocumented |
Method | is |
Checks if `e` can only (and TRIVIALLY) evaluate to False. If this function returns True, then the expression cannot ever be True, regardless of constraints or anything else. If the expression returns False, then the expression might STILL not ever be True; it's just that we can't trivially prove it... |
Method | is |
Checks if `e` can only (and TRIVIALLY) evaluate to True. If this function returns True, then the expression cannot ever be False, regardless of constraints or anything else. If the expression returns False, then the expression might STILL not ever be False; it's just that we can't trivially prove it... |
Method | max |
Evaluates `e`, returning its max possible value. |
Method | merge |
Undocumented |
Method | min |
Evaluates `e`, returning its min possible value. |
Method | satisfiable |
Checks if stored constraints conjunction is satisfiable. |
Method | simplify |
Simplifies the stored constraints conjunction. |
Method | solution |
Checks if `v` is a possible solution to `e`. |
Method | split |
Undocumented |
Instance Variable | constraints |
Undocumented |
Instance Variable | variables |
Undocumented |
Method | _blank |
Undocumented |
Method | _copy |
Undocumented |
Instance Variable | _finalized |
Undocumented |
Inherited from Frontend
:
Method | blank |
Undocumented |
Method | branch |
Undocumented |
Method | eval |
Evaluates expression `e`, returning a list of `n` concrete ASTs. |
Static Method | _split |
Returns independent constraints, split from this Frontend's `constraints`. |
Method | _concrete |
Undocumented |
Method | _constraint |
Undocumented |
claripy.frontend.Frontend.add
claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
, claripy.frontends.replacement_frontend.ReplacementFrontend
Adds constraint(s) to constraints list. :param constraints: constraint(s) to add :return:
claripy.frontend.Frontend.batch_eval
claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
, claripy.frontends.light_frontend.LightFrontend
, claripy.frontends.replacement_frontend.ReplacementFrontend
Evaluates `exprs`, returning a list of tuples (one tuple of `n` solutions for expression). :param exprs: expressions :param n: the number of solutions to return :param extra_constraints: extra constraints to consider when performing the evaluation :param exact: whether or not to perform an exact evaluation. Ignored by non-approximating backends. :return: list of tuples of python primitives representing results
claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
Checks the satisfiability of stored constraints conjunction. :param extra_constraints: extra constraints to consider when checking satisfiability :param exact: whether or not to perform exact checking. Ignored by non-approximating backends. :return: 'SAT' if the conjunction is satisfiable otherwise 'UNSAT'
claripy.frontend.Frontend.combine
claripy.frontends.composite_frontend.CompositeFrontend
Undocumented
claripy.frontend.Frontend.eval
claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
, claripy.frontends.light_frontend.LightFrontend
, claripy.frontends.replacement_frontend.ReplacementFrontend
Evaluates expression `e`, returning a tuple of `n` solutions. :param e: the expression :param n: the number of solutions to return :param extra_constraints: extra constraints to consider when performing the evaluation :param exact: whether or not to perform an exact evaluation. Ignored by non-approximating backends. :return: tuple of python primitives representing results
claripy.frontend.Frontend.finalize
claripy.frontends.composite_frontend.CompositeFrontend
Undocumented
claripy.frontend.Frontend.is_false
claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
, claripy.frontends.light_frontend.LightFrontend
, claripy.frontends.replacement_frontend.ReplacementFrontend
Checks if `e` can only (and TRIVIALLY) evaluate to False. If this function returns True, then the expression cannot ever be True, regardless of constraints or anything else. If the expression returns False, then the expression might STILL not ever be True; it's just that we can't trivially prove it. In other words, a return value of False gives you no information whatsoever. :param e: the expression :param extra_constraints: extra constraints to consider when performing the evaluation :param exact: whether or not to perform an exact evaluation. Ignored by non-approximating backends. :return: True if it can only evaluate to False otherwise False
claripy.frontend.Frontend.is_true
claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
, claripy.frontends.light_frontend.LightFrontend
, claripy.frontends.replacement_frontend.ReplacementFrontend
Checks if `e` can only (and TRIVIALLY) evaluate to True. If this function returns True, then the expression cannot ever be False, regardless of constraints or anything else. If the expression returns False, then the expression might STILL not ever be False; it's just that we can't trivially prove it. In other words, a return value of False gives you no information whatsoever. :param e: the expression :param extra_constraints: extra constraints to consider when performing the evaluation :param exact: whether or not to perform an exact evaluation. Ignored by non-approximating backends. :return: True if it can only evaluate to True otherwise False
claripy.frontend.Frontend.max
claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
, claripy.frontends.light_frontend.LightFrontend
, claripy.frontends.replacement_frontend.ReplacementFrontend
Evaluates `e`, returning its max possible value. :param e: the expression :param extra_constraints: extra constraints to consider when performing the evaluation :param signed: whether the value should be treated as a signed integer :param exact: whether or not to perform an exact evaluation. Ignored by non-approximating backends. :return: max possible value
claripy.frontend.Frontend.min
claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
, claripy.frontends.light_frontend.LightFrontend
, claripy.frontends.replacement_frontend.ReplacementFrontend
Evaluates `e`, returning its min possible value. :param e: the expression :param extra_constraints: extra constraints to consider when performing the evaluation :param signed: whether the value should be treated as a signed integer :param exact: whether or not to perform an exact evaluation. Ignored by non-approximating backends. :return: min possible value
claripy.frontend.Frontend.satisfiable
claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
, claripy.frontends.light_frontend.LightFrontend
, claripy.frontends.replacement_frontend.ReplacementFrontend
Checks if stored constraints conjunction is satisfiable. :param extra_constraints: extra constraints to consider when checking satisfiability :param exact: whether or not to perform exact checking. Ignored by non-approximating backends. :return: True if the conjunction is satisfiable otherwise False
claripy.frontend.Frontend.simplify
claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
Simplifies the stored constraints conjunction.
claripy.frontend.Frontend.solution
claripy.frontends.composite_frontend.CompositeFrontend
, claripy.frontends.full_frontend.FullFrontend
, claripy.frontends.light_frontend.LightFrontend
, claripy.frontends.replacement_frontend.ReplacementFrontend
Checks if `v` is a possible solution to `e`. :param e: the expression :param v: the value :param extra_constraints: extra constraints to consider when performing the evaluation :param exact: whether or not to perform an exact evaluation. Ignored by non-approximating backends. :return: True if it is a possible solution otherwise False
claripy.frontend.Frontend.split
claripy.frontends.composite_frontend.CompositeFrontend
Undocumented