nevillegrech / gigahorse-toolchain

A binary lifter and analysis framework for Ethereum smart contracts
Other
299 stars 63 forks source link

Smaller function inference changes #2 #143

Closed sifislag closed 2 months ago

sifislag commented 2 months ago

Improve propagation of PossibleReturnAddressWithRank when continuation is a nonImmediateJump. It uses PossibleCallReturn now.

Result difference was minor but seemed more right. ir:

ANALYTIC: decomp_time
jul24-ir-propag2 (common): 25581.549938201904
jul24-ir-propag3 (common): 25701.03565144539 (+0.4671%)

ANALYTIC: Analytics_JumpToMany
jul24-ir-propag2 (common): 4258 (+0.4245%)
jul24-ir-propag3 (common): 4240

ANALYTIC: Analytics_BlockHasNoTACBlock
jul24-ir-propag2 (common): 237 (+22.16%)
jul24-ir-propag3 (common): 194

ANALYTIC: Analytics_DeadBlocks
jul24-ir-propag2 (common): 710 (+11.29%)
jul24-ir-propag3 (common): 638

ANALYTIC: Analytics_StmtMissingOperand
jul24-ir-propag2 (common): 338
jul24-ir-propag3 (common): 340 (+0.5917%)

ANALYTIC: Analytics_PrivateFunctionMatchesMetadata
jul24-ir-propag2 (common): 85527 (-0.02104%)
jul24-ir-propag3 (common): 85545

ANALYTIC: Analytics_PrivateFunctionMatchesMetadataIncorrectArgs
jul24-ir-propag2 (common): 1814 (+0.2764%)
jul24-ir-propag3 (common): 1809

ANALYTIC: Analytics_PrivateFunctionMatchesMetadataIncorrectReturnArgs
jul24-ir-propag2 (common): 1298 (+0.9331%)
jul24-ir-propag3 (common): 1286

metadata:

ANALYTIC: decomp_time
jul24-meta-propag2 (common): 13263.557058095932
jul24-meta-propag3 (common): 13275.906133890152 (+0.09311%)

ANALYTIC: Analytics_PrivateFunctionMatchesMetadata
jul24-meta-propag2 (common): 105085
jul24-meta-propag3 (common): 105083 (-0.001903%)

ANALYTIC: Analytics_PrivateFunctionMatchesMetadataIncorrectArgs
jul24-meta-propag2 (common): 221
jul24-meta-propag3 (common): 222 (+0.4525%)

ANALYTIC: Analytics_PrivateFunctionMatchesMetadataIncorrectReturnArgs
jul24-meta-propag2 (common): 560
jul24-meta-propag3 (common): 561

Noting a smaller regression 0f711f0c92017007bcfee13575b8a263, although looking at it didn't give any insights.

github-actions[bot] commented 2 months ago

Test Results (Souffle 2.3)

55 tests  ±0   55 :white_check_mark: ±0   37m 16s :stopwatch: - 4m 53s  1 suites ±0    0 :zzz: ±0   1 files   ±0    0 :x: ±0 

Results for commit f8860cbd. ± Comparison against base commit 8d0ac06f.

github-actions[bot] commented 2 months ago

Test Results (Souffle 2.4)

55 tests  ±0   55 :white_check_mark: ±0   37m 38s :stopwatch: - 8m 15s  1 suites ±0    0 :zzz: ±0   1 files   ±0    0 :x: ±0 

Results for commit f8860cbd. ± Comparison against base commit 8d0ac06f.