-
Notifications
You must be signed in to change notification settings - Fork 922
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
Storage method of control flow diagram #2364
Comments
Each function has a control flow graph (CFG) with its list of nodes aka blocks. Each node has sons aka successors or outgoing edges and fathers aka predecessors or incoming edges. The CFG is based off the solidity AST and reflects the control flow of if-else, for loop, while loop, and break/continue statements. For example, an if-statement node will have two sons, the branch taken if the condition is true and the branch taken if false. You can see the CFG using There is an example of how to use the data dependency API here |
Hello, does Slither convert functions into nodes when transforming the control flow graph, such as custom functions or Solidity's built-in functions like call? I noticed that there are no node types specifically related to functions. |
Hello, may I ask if the control flow diagram in Slither is stored in bytecode format or in the semantics of solidity. Is the control flow diagram stored in a data structure? I need to use Slither's control flow chart data and data dependencies.
The text was updated successfully, but these errors were encountered: