-
Notifications
You must be signed in to change notification settings - Fork 22
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
how to obtain line number information #5
Comments
Hi, Smartian runs on EVM bytecode, so it cannot report the bug location in source line number. Therefore, it needs some manual analysis to compare Smartian against source-based tools. |
Thanks for your reply. I am still wondering how the manual analysis is conducted. If possible, could you explain in more detail using an example below? Or, could you recommend some useful references? Thanks for your time! |
I'm sorry, I thought I had already answered to this issue. Although it's late, here is some more information. We manually analyzed the EVM bytecode to figure out the correspondence between buggy line number (at source level) and buggy address (of EVM instruction). While you can use any tool you prefer for this, we internally used CFG visualizer equipped in B2R2, which we used as our front-end. It allows us to navigate the CFG of EVM bytecode as shown in the screenshot below. |
Hi,
If Solidity source code of a contract is available, how can I obtain line number information from Smartian's bug detection results?
For example, if I run the command:
Smartian outputs the following log:
In the above, what does
b50
mean? How can I know thatb50
matches with line 139?The text was updated successfully, but these errors were encountered: