Visualized Debugger for Static Analyzer
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Footprint is a visualized debugger for static analyzer Sparrow.

Please read the instructions below to use.

1. Usage

1.1 AST / Def-Use graph visualization
  • AST visualization

alt text

  • AST + Def-Use chain visualization

alt text

1.2 Alarm / Log visualization
  • Unfolded

alt text

  • Folded

alt text

1.3 Navigate & Edit Analyzer Code

alt text

2. Footprint Resources

  • D3 - D3 javascript library for data visualization

  • D3 Force-Weighted Graph - D3 force weighted graph to express program cfg & def-use chain

  • Sparrow - Sparrow alarms for debugger input

  • Bootstrap - Bootstrap Front-end framework

  • Ace - Ace Code Editor for Analyzer Code Edit

  • Fps(footprint)

    • Incremental trace information for analysis results. Includes memory analysis dump trace.
  • Rank(for Fps)

    • Rank scores for alarm significance rate based on def-use chain.

3. Demo

Uses below resources to visualize the analysis result & debug.

* Short example of exec.c ( 50 LOC ) *
demo/short/cfg.json - Control flow graph including callgraph & def-use chain
demo/short/log.json - Analysis result & memory stack trace including Fps
demo/short/alarm.txt - Sparrow alarm result

* Long example of gzip.c ( 1000 LOC ) *
demo/long/cfg.json - Control flow graph including callgraph & def-use chain
demo/long/log.json - Analysis result & memory stack trace including Fps
demo/long/alarm.txt - Sparrow alarm result