Skip to content

jungs1/solidity-static-code-analyzer

Repository files navigation

Solidity Static Code Analyzer

TODOs

  • Solidity AST Parser
  • Class Hierachy Analysis (CHA)
  • Call Graph using Class Hierachy Analysis (CHA)
  • Call Graph using Rapid Type Analysis (RTA)
  • Call Graph using Hybrid Type Analysis (XTA)
  • Call Graph using Variable Type Analysis (VTA)
  • Control Flow Analysis
  • Data Flow Analysis
    • Rechability Analysis
    • Live Variable Analysis
  • Taint Analysis
  • Symbolic Execution
  • ...many more

Prerequisites

  • solc 0.8.24
  • graphviz 0.20.1

Compiling Solidity Contracts

Use the following command to compile Solidity contracts and generate the required artifacts:

solc -o output --bin --ast-compact-json --asm contracts/example.sol

CHA

CHA{}

Call Graph CHA

Call Graph CHA{}

Call Graph RTA

Call Graph RTA{}

Control Flow Analysis

Data Flow Analysis{}