テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

平安京ビュー大規模可視化テスト速報

昨日, 平安京ビューの簡易可視化プログラムをsvgwriteを使って実装しましたで, 平安京ビューの処理結果をSVG形式で出力出来るようになったことを報告しました. そして次は, 大規模なツリーへの可視化適用です. ファイルシステムからエッジリストを作るスクリプトを書いて, アップストリームのLinuxカーネルコードへ適用したので報告します. しかし結果は残念ながら, バグっています. こんなにSparseにはならないのです.

f:id:akiradeveloper529:20130617194804p:plain

わりと密に敷き詰められているところもありますが, どうしてこうなった的なところもあります. アルゴリズムかあるいは実装が何か不完全で, 思ったとおりの処理をしてくれないのでしょう. 一番目につくのは, 右の空白です. たぶん, リーフノードの配置がうまく行ってないのだと思います. このほぼ真っ白なブランチの下には大量のリーフノードがあります.

原因を突き止めて修正します.

追記

浮動小数点の丸めまわりでのバグを修正しましたが, 残念ながらまだ完璧という印象ではありません. 以下は, Rubyソースコードに適用した例です. まだ若干, 不可解な配置があります. Linuxカーネルではその不可解な配置が顕著です. 一応使うことは出来ますが, 配置結果が多少悪いという状況です. もっとも, 以下のものでも, graphvizなどによる可視化から比較すれば圧倒的に良いので, 十分といえば十分でしょう. でも私自身が不満なので今後も改善し続けます.

f:id:akiradeveloper529:20130617221532p:plain