You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Many constraints do not overlap in terms of the memory they reference. Constraint independence divides constraint sets into disjoint independent subsets based on the symbolic variables and memory cells they reference. By explicitly tracking these subsets, it can frequently eliminate irrelevant constraints prior to sending it to the solver. For example, given the constraint set {i < j, j < 20, k > 0}, a query of whether i = 20 just requires the first two constraints.
We need tests for the implemented bit related to this feature:
And research the possibility of doing the same thing for not overlapping array references.
If you have constraints over the first half of the memory that are never related to the constraints that work over the second half of the memory you could send only half the memory array to the solver at certain situations.
Many constraints do not overlap in terms of the memory they reference. Constraint independence divides constraint sets into disjoint independent subsets based on the symbolic variables and memory cells they reference. By explicitly tracking these subsets, it can frequently eliminate irrelevant constraints prior to sending it to the solver. For example, given the constraint set {i < j, j < 20, k > 0}, a query of whether i = 20 just requires the first two constraints.
We need tests for the implemented bit related to this feature:
manticore/manticore/core/smtlib/constraints.py
Lines 85 to 117 in 98190d8
And research the possibility of doing the same thing for not overlapping array references.
If you have constraints over the first half of the memory that are never related to the constraints that work over the second half of the memory you could send only half the memory array to the solver at certain situations.
The text was updated successfully, but these errors were encountered: