phpsa

http://www.score.cs.tsukuba.ac.jp/~minamide/phpsa

私は直接は関係していないのですが、在籍している研究室で開発されたソフトウェアです。PHPプログラムのソースコードを解析して、どのような文字列が出力され得るかを静的に(実行せずに)求めるするプログラムです。出力は文脈自由文法になります(わからなかったらBNFの親玉だと思ってください)。現在のところ、出力されるXMLDTDに適合しているかどうかが検査できます。依存するライブラリが鬼のようにあるので、インストールはめんどくさそうですが、例えばGentoo Linuxでしたらほとんどがパッケージになっているので意外と簡単です。

まだまだこのプログラムがあったからといってなにかできるわけではないのですが(多分)、宣伝しておきます。

なにか応用方法とか「○○ができるんだったら使えそうだけど…」みたいな話がありましたらぜひ教えてください。開発者に直接メールするのがめんどくさい場合は、ここのコメントなりで(問題がない場合は)私に連絡していただいければ適切にforwardingします。「△△ができないんだったら話にならない」みたいな話も歓迎します*1

*1:少なくとも私は。宴会とかで先生をいじめて楽しめるので :-P