Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SMTChecker: Unable to support keccak256 well #14983

Closed
Subway2023 opened this issue Apr 4, 2024 · 0 comments · Fixed by #15050
Closed

SMTChecker: Unable to support keccak256 well #14983

Subway2023 opened this issue Apr 4, 2024 · 0 comments · Fixed by #15050
Assignees
Projects

Comments

@Subway2023
Copy link

Description

0.7.4 release claims that the SMTChecker supports the keccak256 function. However, SMTChecker cannot accurately assess the output value of keccak256.

Environment

  • Compiler version: 0.8.25
  • Target EVM version (as per compiler settings): No restrictions
  • Framework/IDE: Remix and Command-line
  • EVM execution environment / backend / blockchain client: None
  • Operating system: Linux

Steps to Reproduce

contract C {
    function f() public {
        bytes memory t0="1";
        bytes memory t1="1";
        bytes32 a=keccak256(t0);
        bytes32 b=keccak256(t1);
        assert(a==b);
    }
}

Remix

1712216195446
Successfully executed.

Command-line

solc C.sol --model-checker-ext-calls trusted --model-checker-timeout 0 --model-checker-engine chc --model-checker-solvers z3

1712216497628
The SMTChecker is experiencing false positives.

@blishko blishko added the smt label Apr 17, 2024
@blishko blishko added this to To Do in SMT Checker via automation Apr 17, 2024
@blishko blishko self-assigned this Apr 17, 2024
@blishko blishko moved this from To Do to In Progress in SMT Checker Apr 25, 2024
SMT Checker automation moved this from In Progress to Done May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
SMT Checker
  
Done
Development

Successfully merging a pull request may close this issue.

2 participants