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

Analytics returning 0 for all outputs #45

Open
kalanyuz opened this issue Aug 22, 2022 · 2 comments
Open

Analytics returning 0 for all outputs #45

kalanyuz opened this issue Aug 22, 2022 · 2 comments

Comments

@kalanyuz
Copy link

I'm currently running gigahorse via docker (ubuntu 22.04 souffle 2.2) and getting 0 for all outputs under Analytics regardless of bytecodes I use, even the example:

--------------------------------------------------------------------------------
Analytics
--------------------------------------------------------------------------------
  Analytics_CallToSignature: 0
  Analytics_CallWithSig: 0
  Analytics_DataFlows: 0
  Analytics_DataFlowsToDifferentPublicFunction: 0
  Analytics_ERC20ApproveCall: 0
  Analytics_ERC20TransferCall: 0
  Analytics_ERC20TransferFromCall: 0
  Analytics_EventSignature: 0
  Analytics_LargestFunction: 0
  Analytics_LenVarHasManyVars: 0
  Analytics_MemConsStmtUsesFromDistinctPaths: 0
  Analytics_MissingDataFlowsToSamePublicFunction: 0
  Analytics_NonModeledMLOAD: 0
  Analytics_NonModeledMSTORE: 0
  Analytics_PolymorphicVariable: 0
  Analytics_PublicFunctionArg: 0
  Analytics_PublicFunctionArrayArg: 0
  Analytics_Variables: 0
  bytecode_size: 3644

The program still managed to capture the bytecode size differences and generate outputs for opcodes. However, files such as visualizeout.py will not run since it's missing the necessary reference files.

@sifislag
Copy link
Collaborator

sifislag commented Aug 22, 2022

Hi,
Can you share a smart contract that you try to decompile (by sharing its address) as well as the command you run and all the output of gigahorse.py on the terminal? Can you try different settings (perhaps -i for interpreted souffle)? As a last resort you could try using souffle 2.0.2.

Let me know if any of the above help,
Sifis.

@kalanyuz
Copy link
Author

kalanyuz commented Aug 24, 2022

I have tried both contract from 0x4Cb18386e5d1F34dC6EEA834bf3534A970a3f8e7 and from examples/long_running.hex

The command I'm using is
gigahorse examples/long_running.hex -C clients/visualizeout.py --restart -i

Will try another version of souffle and let you know.

[update] tried souffle 2.0.2 and still get the same result

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants