Scavenger - ランタイムのデッドコード分析ツールをオープンソース化
(github.com/naver)- NAVERが公開したオープンソース。NAVER社内の80以上のサービスで利用中
- デッドコード: 実行されないコード / 実行されてもアプリケーションの動作に影響を与えないコード
- デッドコードの問題点
- システムの理解や保守を難しくする
- 性能やセキュリティに悪影響を与える
- コンパイルやテストの速度を遅らせ、全体の開発速度を低下させる
- Scavengerは
- デバッグやログの追加なしでメソッド呼び出しを確認可能
- メソッド呼び出しの記録を収集し、これを可視化してユーザーに提示する
- Java agent方式で手軽に利用可能
- JVMベースの言語(Java, Kotlin)のみサポート
- Pythonは現在ベータで、そのほかさまざまな言語への対応を予定
3件のコメント
コードカバレッジを確認するだけでは不十分だったのでしょうか。
稼働中のサーバーコードを対象にしたものです。
Deview発表資料:あなたのコードは思っているよりずっと多く死んでいる(89ページのPDF)