Commit Graph

23683 Commits

Author SHA1 Message Date
Leo
2f451a186b
Merge pull request #14377 from ethereum/fix-smtlib
SMTChecker: Fix generation of smtlib scripts
2023-06-30 16:58:26 +02:00
Martin Blicha
3599c8c6b9 SMTChecker: Fix generation of smtlib scripts
When both CHC and BMC engines are used, the type of state variable
changes when trusted mode for external calls is used. This is because in
CHC engine, trusted mode means we pack more information into the
symbolic state. In BMC this type is always simple.

However, if BMC is run after CHC, in the current code state variables
are reset (and their declaration dumped into SMT-LIB script) before BMC
resets the type of the state variable.

The proposed solution is to simply reset the variable type before the
first variable of this type is created.
2023-06-30 15:57:51 +02:00
Daniel
30cd1a0fb4
Merge pull request #14370 from ethereum/smt-cleanup
Remove ReasoningBasedSimplifier from libyul
2023-06-28 16:31:13 +02:00
Martin Blicha
29041c8101 Remove ReasoningBasedSimplifier from libyul
Due to a design decision to move away from a bundled SMT solver,
ReasoningBasedSimplifier in its current form cannot be use any longer.
This is a necessary step to allow a unified way to call solvers using
only SMTLIB interface.

Since this optimization pass has always been marked as highly
experimental and never turned on by default, it should be OK to remove
it.
2023-06-28 14:38:36 +02:00
r0qs
c819243374
Merge pull request #14368 from ethereum/gh-built-in-triage-automation
Remove triage workflow in favor of github built-in automation
2023-06-28 12:37:49 +02:00
Kamil Śliwak
3bb492a28d
Merge pull request #14351 from ethereum/ci-deduplicate-base-env-with-anchors
Deduplicate environment variables in CI
2023-06-27 14:43:24 +02:00
Kamil Śliwak
8b64195d4b CI: Make jobs extend base environments instead of redefining them
- Also remove variables that are now redundant.
- Note that this adds new variables for jobs that previously did not have them. This should not affect behavior because we were simply omitting those variables where they were not necessary.
2023-06-27 14:00:28 +02:00
Kamil Śliwak
793adc8106 CI: Define base environments in terms of environments of dicts they depend on 2023-06-27 13:56:36 +02:00
Kamil Śliwak
d12a981ba8 CI: Define aliases for all the base environment dicts 2023-06-27 13:56:36 +02:00
Leo
2cf03e3f0b
Merge pull request #14344 from pgebal/pgebal/fix-ice-internal-type
Fix error in SMTChecker: Use rich indentifier instead of external identifier to encode member access to functions
2023-06-27 12:31:25 +02:00
Bhargava Shastry
87d0c84960 Stack optimizer fuzzer: Detect stack-too-deep during optimization
Co-authored-by: r0qs <deepmarolaest@gmail.com>
2023-06-27 10:32:23 +02:00
r0qs
a4777937ed
Remove triage workflow in favor of github built-in automation 2023-06-26 22:53:29 +02:00
Daniel
34d2383f28
Merge pull request #14281 from alexjorgef/patch-1
Change installation documentation for Arch Linux
2023-06-26 19:42:11 +02:00
Alexandre Ferreira
b70477d795
Change installation documentation for Arch Linux
Correct inline code with double backquotes


Add more information

Add external links to packages;
Add a note to inform that packages don't have official support.
2023-06-26 17:58:03 +01:00
Daniel
1067232bbc
Merge pull request #14354 from ethereum/parallelize-bytecode-compare-presets
Parallelize optimized and unoptimized bytecode reports in CI
2023-06-26 12:57:52 +02:00
Kamil Śliwak
92816eb6c5 CI: Generate optimized and unoptimized bytecode reports in parallel 2023-06-26 10:53:29 +02:00
Kamil Śliwak
dabecb600f
Merge pull request #14353 from ethereum/unify-and-simplify-bytecode-report-generation-in-ci
Unify and simplify bytecode report generation in CI
2023-06-26 10:50:48 +02:00
Kamil Śliwak
45c2ffcd55 CI: Merge prepare_bytecode_report and storebytecode.sh script into a new script and use it for all platforms in CI 2023-06-23 19:49:54 +02:00
Kamil Śliwak
69ffcfc242 CI: Move bytecode report comparison logic to a script 2023-06-23 19:49:54 +02:00
Kamil Śliwak
ea1327707b CI: Don't use requires_nothing for jobs that explicitly state what they require 2023-06-23 19:49:54 +02:00
Kamil Śliwak
aca4c86a23
Merge pull request #14350 from ethereum/bytecode-report-presets
Bytecode report presets
2023-06-23 19:49:07 +02:00
Kamil Śliwak
10670d6286 prepare_report: Replace hard-coded optimize setting with selectable presets 2023-06-23 19:00:30 +02:00
Pawel Gebal
826fd90dcf Fix error in SMTChecker: Use rich indentifier instead of external identifier to ecnode member access to functions 2023-06-23 15:24:55 +02:00
Kamil Śliwak
f9a3c094a6
Merge pull request #14330 from ethereum/parallelize-bytecode-compare
Generate CLI and Standard JSON bytecode reports in parallel
2023-06-23 11:06:51 +02:00
Kamil Śliwak
3b80aa2ea4 Run Standard JSON and CLI bytecode report generation in parallel 2023-06-23 09:17:53 +02:00
Kamil Śliwak
e8c4d0e324 More consistent file naming for bytecode compare artifacts
- This will make it easier to have a single variable specifying the interface.
2023-06-23 09:17:53 +02:00
Kamil Śliwak
b26090c288
Merge pull request #14339 from ethereum/parallelize-cli-tests
Parallelize CLI tests
2023-06-21 17:46:45 +02:00
Nikola Matić
08897b88c9
Merge pull request #14342 from ethereum/peg-oz-to-specific-commit
Disable failing OZ tests
2023-06-21 16:11:23 +02:00
Nikola Matic
edd99b07fe Disable failing OZ tests 2023-06-21 14:50:05 +02:00
Kamil Śliwak
fac7ca943b Parallelize CLI tests 2023-06-20 14:01:18 +02:00
Kamil Śliwak
dc7cda18f0
Merge pull request #14338 from ethereum/cmdline-tests-exclude-option
Add `--exclude` option to `cmdlineTests.sh`
2023-06-20 13:49:53 +02:00
Kamil Śliwak
3ecf968001
Merge pull request #14328 from ethereum/fix-incomplete-ast-in-standard-json-on-analysis-fail
Fix incomplete AST in standard json on analysis fail
2023-06-19 18:26:33 +02:00
Leo
6b2939da31
Merge pull request #14307 from pgebal/pgebal/print_smt_to_output_smtchecker_smtlib_code
Add --print-smt flag to output the SMTChecker SMTLIB code
2023-06-19 16:58:52 +02:00
Kamil Śliwak
399457d74b cmdlineTests.sh: Add --exclude option 2023-06-19 16:43:30 +02:00
Kamil Śliwak
4752b31e6c cmdlineTests.sh: Rewrite test selection to use find 2023-06-19 16:43:30 +02:00
Kamil Śliwak
381b610fe5
Merge pull request #14336 from ethereum/remove-bytecode-compare-deploy-key
Remove unused Travis deploy key for bytecode compare
2023-06-19 15:09:58 +02:00
Kamil Śliwak
32e8297048 Remove unused bytecodecompare/deploy_key.enc 2023-06-19 14:20:35 +02:00
Pawel Gebal
d4be1d9c2f Add --print-smt flag to output SMTChecker SMTLIB code 2023-06-16 14:04:07 +02:00
Kamil Śliwak
712229a5c6 Fix StandardCompiler returning an incomplete AST in Standard JSON in case of an early exit during analysis 2023-06-15 10:50:04 +02:00
Kamil Śliwak
f50820fcae Tests checking outputs produced in presence of errors 2023-06-15 10:49:19 +02:00
Daniel
374a6fd50e
Merge pull request #14311 from ethereum/StackToMemoryDeterminism
Deterministically choose memory slots for variables during stack-to-memory.
2023-06-14 17:31:32 +02:00
Daniel
ca8db58edd
Merge pull request #14322 from ethereum/stackLayoutsForUnassignedReturnVariables
Account for unassigned return variables in stack layout generation.
2023-06-14 17:30:57 +02:00
Kamil Śliwak
c2e97369d9
Merge pull request #14327 from ethereum/cmdline-tests-sanitize-metadata-in-standard-json-output
Sanitize metadata in Standard JSON output in command-line tests
2023-06-14 17:01:00 +02:00
Kamil Śliwak
e45e6cc31d CLI tests for metadata output 2023-06-14 16:04:33 +02:00
Kamil Śliwak
e6b1f5ccee cmdlineTest.sh: Remove compiler version from metadata in Standard JSON output as well 2023-06-14 16:04:33 +02:00
Kamil Śliwak
4e113820c9
Merge pull request #14321 from ethereum/fix-bash-syntax-error-on-expectation-update-in-cli-tests
Fix Bash syntax error that shows up in CLI test output when updating expectations
2023-06-14 16:03:40 +02:00
Kamil Śliwak
25f329e4a1
Merge pull request #14323 from ethereum/stop-after-parsing-disallow-outputs-that-require-analysis
Disallow `--stop-after parsing` with CLI outputs that require analysis
2023-06-14 16:02:37 +02:00
Kamil Śliwak
e87333f20f More CLI tests for --stop-after parsing 2023-06-14 14:22:38 +02:00
Kamil Śliwak
f8a1af8bd5 CommandLineParser: Fix some outputs not being properly disallowed with --stop-after parsing 2023-06-14 14:22:38 +02:00
Kamil Śliwak
0713adde04 Fix bad indentation in handleCombinedJSON() 2023-06-14 14:22:38 +02:00