なんでしょうな。
Dehydra
Dehydra is a lightweight, scriptable, general purpose static analysis tool capable of application-specific analyses of C++ code. ・・・
みなさんも、C++のソースをgrepしまくっていて、思ったことがあるはずです。
文字列で検索じゃなくて、文脈で検索できんのか、これ?
例えば、
クラスAのメンバget()を呼び出して、かつクラスCのメンバset()の第一引数にtrueを指定している場所を洗い出したい。
というような。
関数ポインタやOSの非同期呼び出し機構を利用している場合はあきらめもつきますが、長たらしい関数呼び出しのチェーンをたどるだけのことに、何時間も費やしたくない場合。
デバッガでブレークポイントを張って、待ち構える?現象が再現するまで何時間も?(purify使えよ)
ひたすらデバッグ用のログを仕込み続ける?実行時に網羅できるの?
そんな自問自答よりも、grepとブックマークで完璧に洗い出す俺様流のやり方をもっと洗練してくれるツールが必要なのです。
本当にそんなステキングな用途に使い物になるかどうかは分かりませんが、試してみるカチはありそうです。
しかも、しょうもないソースの静的解析ツールを自前でこさえることもできるんじゃないかと淡い期待も。
コメント