Şu anda kontrol akış grafiklerini görselleştirmek için Graphviz kullanıyorum. Temel olarak, bir (indirgenebilir) kontrol akış grafiği, bir DAG artı önceki tabakalardaki düğümlere işaret eden bazı kenarlardır. İkinci kenarlar düğüm yerleşimini etkilememelidir.Katmanlı grafikler d3.js
Şu anda, dot
grafikleri oldukça düzgün çizer, ancak çok büyük grafiklerin analizi için paha biçilemez olan etkileşimi (ör. Katlama, kaydırma, yakınlaştırma) eklemenin kolay bir yolu yoktur. Bu nedenle, en olgun ve zengin özellikli grafik kütüphanesi olarak d3.js'yi seçtim.
D3.js'de layered graphs (dot
gibi) çizmek için kolay bir yol olduğundan eminim, ancak bunu tanıyamıyorum. Bunu nasıl yaparım? Bu yardımcı olursa, CFG'imde hâlihazırda dominatör analizi gerçekleştiriyorum. İşte
https://github.com/cpettitt/dagre D3 kullanılarak işlenen bir demo:
görünüyor: https://github.com/mbostock/d3/issues/349 – whitequark