hzyrc6011 / MetronomeStatic

Static analysis library with universal AST and CFG. Currently support C/CPP based on Clang, and will add more languages later.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyBirdViewCode

Tests Document-Build

A pure-python (Python>=3.8) static analysis library providing various interfaces.

For detailed informations, please visit this webpage: Documentation Website

Installation

pip install PyBirdViewCode

If you would like to run it in jupyter, please install jupyter by the commands below:

pip install jupyterlab ipywidgets

Architecture

graph TD
    C/C++ -->|LibClang| ClangAST
    Python["Python (Implement later...)"] --> ClangAST

    ClangAST -->|Conversion| UAST[Universal AST]
    UAST -->|Control Flow Building| CFG
    UAST -->|Data Dependency Building| DDG["DDG: To be developed..."]
    
Loading

Interfaces

Clang

Clang interface included some useful functionalities.

Plannings

Supporting DDG

Supporting other languages such as Python

Code to UML

About

Static analysis library with universal AST and CFG. Currently support C/CPP based on Clang, and will add more languages later.

License:MIT License


Languages

Language:SWIG 59.2%Language:Python 37.9%Language:C 1.5%Language:HTML 1.0%Language:C++ 0.3%Language:Java 0.1%Language:Mermaid 0.1%Language:Makefile 0.1%