7 Commits
Author SHA1 Message Date
Disconnect3d cdf6c4b496 Change project status to archived
Updated project status from 'in Maintenance Mode' to 'archived' and removed community support details.
2026-06-24 18:28:21 +02:00
Disconnect3d 33779caab1 Show black diff on travis builds (#1565)
TLDR: This is not helpful when looking at `lint` build output:
```
$ black --check manticore/core/smtlib/solver.py
would reformat manticore/core/smtlib/solver.py
Oh no! 💥 💔 💥
1 file would be reformatted.
```

And this is more helpful:
```
$ black --diff --check manticore/core/smtlib/solver.py
--- manticore/core/smtlib/solver.py	2019-11-24 11:14:37.431508 +0000
+++ manticore/core/smtlib/solver.py	2019-11-24 12:09:00.461367 +0000
@@ -149,13 +149,11 @@
         self._proc: Popen = None

         # z3 parameters can be listed via `z3 -p` and set on the CLI
         parameters = "parallel.enable=true"

-        self._command = (
-            f"{consts.z3_bin} -t:{consts.timeout*1000} -memory:{consts.memory} -smt2 {parameters} -in"
-        )
+        self._command = f"{consts.z3_bin} -t:{consts.timeout*1000} -memory:{consts.memory} -smt2 {parameters} -in"

         # Commands used to initialize z3
         self._init = [
             # http://smtlib.cs.uiowa.edu/logics-all.shtml#QF_AUFBV
             # Closed quantifier-free formulas over the theory of bitvectors and bitvector arrays extended with
would reformat manticore/core/smtlib/solver.py
Oh no! 💥 💔 💥
1 file would be reformatted.
```
2019-11-24 20:40:16 +08:00
Disconnect3d 61719243d1 Improve performance of bulk read/writes to memory (#1509)
* Little test refactor/improvement

* SMemory.write refactor

* Optimize concrete writes of multiple bytes to memory

* Fix record writes tests

* Blackify

* Blacken
2019-08-22 22:38:12 +02:00
Disconnect3d 22a5d9a48f Fixes ConstraintSet.new_bitvec size check (#1511)
* Fixes ConstraintSet.new_bitvec size check

Previously the `new_bitvec` checked for `size == 1 or size % 8 == 0`.

This check allowed to create a bitvec with negative size, as in `cs.new_bitvec(-8)`.

It was also too constrained, as we might have cases where we want to constraint ourselves to e.g. 5 bits out of 8 bits of a byte). Sure, this can be done via setting a constrain over an 8-bit (1 Byte) bitvector, but it might be not the most efficient solution(?).

* Add testcase for invalid cs.new_bitvec size
2019-08-22 22:37:43 +02:00
Disconnect3d db07516f9e Fix operators.ORD for BitVecs of size > 8 (#1512)
* Fix operators.ORD for BitVecs of size > 8

TLDR: `ORD(s)` should return something that has 8 bits instead of 7, which it incorrectly did for BitVecs with size>8.

Note that the `ORD` still does not support `BitVec`s with size<8, but I am not sure if we need that support for now. To be clear, such situation ends up as an assertion failure that is being done in `BitVecExtract`, so when assertions are gone (for optimized launches) we might want to extend `ORD` to support it.

* Add proper ORD fix testcase
2019-08-22 22:36:19 +02:00
Disconnect3d b2018e13f2 Removed redeclared smtlibv2 tests (#1513) 2019-08-22 22:35:26 +02:00
Disconnect3d cdda4ee784 Improve smemory tests (#1506)
* Better SMemory docs

* Refactor test_mix_of_concrete_and_symbolic

* test_mix_of_concrete_and_symbolic: assert mem._symbols

* test_mix_of_concrete_and_symbolic: more assertions

* Blacken
2019-08-20 18:39:30 +02:00