Ich verwende Graphviz zur Visualisierung von Kontrollflussgraphen. Im Grunde ist ein (reduzierbarer) Kontrollflussgraph ein DAG plus einige Kanten, die auf Knoten in den vorherigen Schichten zeigen. Die letzten Kanten sollten die Knotenplatzierung nicht beeinflussen.
Momentan zeichnet dot
die Graphen sehr gut, aber es fehlt eine einfache Möglichkeit Interaktivität hinzuzufügen (z. B. Falten, Scrollen, Zoomen), was für die Analyse sehr großer Graphen unbezahlbar ist. Daher habe ich d3.js als die ausgereifteste und funktionsreichste Grafikbibliothek ausgewählt.
Ich bin mir ziemlich sicher, dass es eine einfache Möglichkeit gibt, geschichtete Graphen zu zeichnen (wie auch dot
) d3.js, aber ich erkenne es nicht. Wie mache ich das? Wenn das hilft, führe ich bereits eine Dominator-Analyse auf meiner CFG durch.
Tags und Links d3.js