Unsound symbolication - A general approach to handle symbolic imprecisions (#1526)

* Unsound symbolication and asorted fixes

* Add test for ULE

* More operators tests

* remove TT

* remove TT

* remove TT

* Add test for simple sha3 concretization

* Add test for simple sha3 concretization

* Add coverage to integration tests

* Add coverage to integration tests

* Added timeout to sha3 matching

* 2 files reformatted

* Review fixes

* black

* Fix KeepOnlyIfStorageChanges test

* remove dead code

* cleanups

* remove unused code

* Blacken

* Better concretize and calldataload

* black

* blkn

* mulmod fix

* Blacken

* fix calldata rel tests

* blk

* Better doc- review

* Better doc. Cleanups. sha3timeout changed

* sha3 - 42mins

* blkn

* Fix spelling issues, duplicate code, and add type hints

* Rm commented code

Done as a separate commit for easy reversion

* review

* blkn

* Remove hardcoded conf

* Fix expression bool test

* Fix sha3concrete test
This commit is contained in:
feliam
2019-10-31 15:05:28 -03:00
committed by GitHub
parent ec89931920
commit 7142116fe1
28 changed files with 1462 additions and 774 deletions
+8 -6
View File
@@ -95,8 +95,8 @@ run_truffle_tests(){
# but Manticore fails to explore the paths due to the lack of the 0x1f opcode support
# see https://github.com/trailofbits/manticore/issues/1166
# if [ "$(ls output/*tx -l | wc -l)" != "41" ]; then
if [ "$(ls output/*tx -l | wc -l)" != "19" ]; then
echo "Truffle test failed" `ls output/*tx -l | wc -l` "!= 19"
if [ "$(ls output/*tx -l | wc -l)" != "13" ]; then
echo "Truffle test failed" `ls output/*tx -l | wc -l` "!= 13"
return 1
fi
echo "Truffle test succeded"
@@ -107,7 +107,7 @@ run_truffle_tests(){
run_tests_from_dir() {
DIR=$1
coverage erase
coverage run -m unittest discover -c -v "tests/$DIR" 2>&1 >/dev/null | tee travis_tests.log
coverage run -m unittest discover "tests/$DIR" 2>&1 >/dev/null | tee travis_tests.log
DID_OK=$(tail -n1 travis_tests.log)
if [[ "${DID_OK}" != OK* ]]; then
echo "Some tests failed :("
@@ -138,11 +138,13 @@ run_examples() {
case $1 in
ethereum_vm)
make_vmtests
install_truffle
run_truffle_tests
RV=$?
echo "Running only the tests from 'tests/$1' directory"
run_tests_from_dir $1
RV=$?
echo "Running truffle test"
install_truffle
run_truffle_tests
RV=$(($RV + $?))
;;