Obecnie używam Graphviz do wizualizacji wykresów przepływu sterowania. Zasadniczo, (redukowalny) wykres przepływu kontrolnego jest DAG plus niektóre krawędzie, które wskazują węzły w poprzednich warstwach. Te ostatnie krawędzie nie powinny wpływać na rozmieszczenie węzłów.Warstwowe wykresy w d3.js
Obecnie dot
rysuje wykres bardzo starannie, ale nie ma w prosty sposób dodawać interakcji (na przykład składane, przewijanie, powiększanie), który jest bezcenny analizy bardzo dużych wykresów. Dlatego wybrałem d3.js jako najbardziej dojrzałą i bogatą w funkcje bibliotekę graficzną.
Jestem pewien, że istnieje łatwy sposób narysować layered graphs (podobnie jak dot
) w d3.js, ale nie wydają się go rozpoznać. Jak mogę to zrobić? Jeśli to pomaga, już wykonuję analizę dominatora na mojej CFG.
Wygląda istnieje oczekujące żądanie cechą D3: https://github.com/mbostock/d3/issues/349 – whitequark