Skip to main content

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

Project description

SkyStaticAnalysis

Document-Build

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

For detailed informations, please visit this webpage: Documentation Website

Installation

pip install SkyStaticAnalysis

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

pip install jupyterlab ipywidgets

Interfaces

Clang

Clang interface included some useful functionalities.

Microservice By MessageQueue

Task dispatch procedure

  • TaskQueue and ResultQueue are queue.Queues in the server program.
  • Get Task and Push Result procedures are performed by RESTFUL API.
sequenceDiagram

participant s as Server
participant tmq as TaskQueue
participant rmq as ResultQueue
participant t1 as Tool1
participant t2 as Tool2

s ->> tmq: Put task 
tmq ->> t1: Get task
t1 ->> t1: handle task
tmq ->> s: Count remaining tasks
tmq ->> t2: Get task
t2 ->> t2: handle task
tmq ->> s: Count remaining tasks
t2 ->> rmq: Push result
t1 ->> rmq: Push result
rmq ->> s: Listen to result messages

Status pushing procedure

  • A background task running in each tool and pushing the status of tools to scheduler by Websocket every second.

Autocompletion Request

sequenceDiagram

participant s as Server
participant q as TmpQueue
participant st as WSRecvThread
participant t as Tool

s -x q: Create Tmp Queue
s ->>+ t: WS Request No.145
activate s
s -->> s: Blocking get() from TmpQueue
t -->> t: Compute the autocompletion items

t -->>- st: WS Reply No.145
activate st
st ->> st: Match WS Req/Rep by No.
st -->>+ q: Put reply
deactivate st
q -->>- s: q.get() resolved and got the reply
deactivate s
s --x q: destroy the TmpQueue

In-Repo Third Party Dependencies

PyC-CFG

Pyc-cfg is a pure python control flow graph builder for almost all Ansi C programming language.

As the original version only suitable for Python2, I copied its code and made it compatible for python 3.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

SkyStaticAnalysis-0.2.0a0-py3-none-any.whl (95.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page