前提・実現したいこと
PHPのレガシーなシステムで、利用されていないコードを洗い出したいと考えています。
Rubyのoneshot coverageのような仕組みはありますか?
求めてる要件としては以下のものです。
- 稼働中のアプリケーションに適用できる (テストコードのカバレッジではない)
- 関数単位ではなく、コード単位で検知できる
- 処理のオーバーヘッドが少ないほうが望ましい
個人で調べた範囲で、静的解析ツールの PHP Dead Code Detecter、 php code graphは発見できました。
しかし本番運用のアプリケーションで利用されていない分岐なども含めて洗い出したいと考えています。
また、現在そのような仕組み/ツールがない場合、そのような議論があったことはありますか?
phpのレポジトリを見る限り、そのようなIssueは発見できなかったのですが、メールリストなどで議論済みでしたら、教えていただけると嬉しいです。
補足情報(FW/ツールのバージョンなど)
なお、現在利用中のフレームワークは、すでにEOLを迎えているZend Framework 1です。
またテストコード等もほとんどない状態です。
テストコードを作成して、Frameworkの移行をする前に、現在は利用されていない処理を削除したいため、上記のようなDead Codeを探す方法を調査しています。
追加の補足 : なぜそこまでしてレガシーコードに手を入れたいか
Zend Framework 1は、EOLが過ぎているため、
脆弱性が存在してもパッチなども当てられず、PHPのバージョンアップにも追随しません。
このアプリケーションでは個人情報なども扱うので、高いセキュリティを求められています。
セキュリティについては、WAFやIPSで対策はしていますが、多層防御に考えに基づいてアプリケーションも可能な限りセキュアに保つべきだと考えています。
今後もアプリケーションは稼働していくので、脆弱性が発見されれば改善されるような活発なFrameworkを利用して、随時PHPもFrameworkもバージョンアップしていける状態にしていきたいです。
回答1件
あなたの回答
tips
プレビュー