Page 1
5分でわかる静的解析入門
Learn PHP static analysis in 5 min.
2016-07-20 PHP BLT #5
公開日:
by USAMI Kenta @tadsan
5分でわかる静的解析入門
Learn PHP static analysis in 5 min.
2016-07-20 PHP BLT #5
お前誰よ
うさみけんた (@tadsan) / Zonu.EXE
さて
敵を知れば百戦殆ふからず
プログラムを実際に動かさずして、
人間がPull Requestのdiffを見て
ユニットテストは実際に動かすので
wc -l **/*.php
wc -l **/*.php
Unixの標準コマンド
php -l a.php
php -l target.php
コードがSyntax Errorではないか
実際に運用されるサーバーと同じ
token_get_all()
token_get_all()
PHPの標準関数 (要tokenizer)
スクリプトを構文要素ごとに
preg_match()
preg_match()
PHPの標準関数(最終兵器)
preg_match()
こんな感じで配列にパターンを
そのほか
よのなかにはたくさん実装ある
PHPの静的解析
http://algo13.net/php/tips/static-analysis.html
↑良い感じにまとまってるネ申記事
何をしたいのか
静的解析できると何が嬉しいのか
Syntax Errorなファイルを
割と膨大なコードを安全に
最近のナウいツール
etsy/phan
Rasmus Lerdorfを要するEtsy社が
未定義関数とか型がをかしいとか、
最近やってること
baguette/definfo
最近夜な夜な作ってるツール
実行時情報(Reflection)を使って
いろいろ指図してくれるように
するつもり
タグジャンプの代替にしたい
どうにもならないところは がんばって構文解析してる