A CFG utility library
Project description
cfgutils
A Utility library for analysis of Control Flow Graphs
Install
pip3 install -e .
Usage
Region Identification
from cfgutils.data.generic_block import GenericBlock
from cfgutils.regions.region_identifier import RegionIdentifier
import networkx as nx
blocks = [GenericBlock(i) for i in range(9)]
numbered_edges = [(1, 2), (1, 3), (2, 4), (3, 4), (4, 5), (4, 6), (5, 7), (6, 7)]
block_edges = [
(blocks[in_e], blocks[out_e]) for (in_e, out_e) in numbered_edges
]
graph = nx.DiGraph(block_edges)
ri = RegionIdentifier(graph)
top_region = ri.region
print(top_region.graph.nodes)
Subclass GenericBlock
to use different kinds of blocks in your graph.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cfgutils-1.1.1.tar.gz
(20.4 kB
view hashes)
Built Distribution
cfgutils-1.1.1-py3-none-any.whl
(22.5 kB
view hashes)