「バイブス静的解析」でレガシーコードを分析・改善しよう by hitode909

YAPC::Fukuoka 2025
トーク(20分)
当日の配信可(OK) アーカイブ配信可(OK)

「バイブス静的解析」でレガシーコードを分析・改善しよう

hitode909 hitode909 hitode909
7

大規模なプロダクトでは、lintや、use漏れチェック、使ってないファイルの検出といった、静的解析を伴う開発支援ツールが重宝されます。
しかし、存在するすべての記法を扱う必要のある汎用ツールでは、どうしても実行時間が伸びてしまったり、プロジェクト固有のかゆいところに手が届きにくかったり、といった課題がつきものです。
発表者が携わる、開発期間約10年・数十万行規模のリポジトリでは、近年注目されている"vibe coding"の考えを下敷きに、プロジェクト専用の軽量なツールを開発して、開発支援に活用しています。
本発表では、プロジェクト固有の静的解析ツールをAIとともに開発し、レガシーコード改善に活用する「バイブス静的解析」を提唱します。

静的解析を用いたツールのこれまで

  • PPI, PPRを使った汎用ツールのおさらい
  • 汎用的がゆえに、いかなるソースコードも正しく解釈しなければならない宿命
  • ツールの実行時間増加への利用者側の工夫

バイブス静的解析のアプローチ

  • プロジェクトに合わせた専用の静的解析ツールを「バイブス」重視、すなわち、勢いで開発する
  • 完璧を目指さず、コードベース上で必要な表現だけに対応する
  • AIの力を借りて、誰でも保守でき、壊れても機能開発の片手間に短時間で直せるものを目指す

ゴール

  • 「バイブス静的解析」の考えを使って、新たなツールを勢い重視で開発できるようになる
  • お手元のリポジトリから、数秒以内にuse漏れや不要ファイルといったエラーを検出できるようになる