Goによる静的解析ツールに関する活動

登壇資料

書籍

記事

コードラボ/ハンズオン

開発したツール

  • skeleton
    • go/analysis用のスケルトンコードを生成するツール
  • analysisutil
    • go/analysis向けのユーティリティライブラリ
  • zagane
    • Google Cloud Spannerのセッションリークなどを見つけるツール
  • nilerr
    • nilであることをチェックしたのにerrを返してしまうバグ(またはその逆)を検出するツール
  • comment
    • CommentMapを簡単にgo/analysisで扱うためのAnalyzer
  • unitconst
    • 5 * time.Second* time.Secondなどの書き忘れを検出するツール
  • forcetypeassert
    • 2つめの結果を受け取らずに型アサーションをしている部分を検出するツール
  • importgroup
    • importのグルーピングが複数に分かれている場合に検出するツール
  • lion
    • テストされていない関数を検出するツール
  • coverprofile
    • go/analysisでcoverprofileを簡単に扱うためのAnalyzer
  • noreplace
    • go.modにreplaceがある場合に検出するツール
  • modfile
    • go/analysisでgo.modの解析を簡単に行うためのAnalyzer
  • called
    • 特定の関数が呼ばれているかチェックするツール
  • vetgen
    • 自分だけのgo/analysisベースの静的解析ツールコレクションを作るためのツール
  • builtinprint
    • 組み込み関数のprintやprintlnを使っていることを検出するツール
  • ctxfield
    • 構造体にcontext.Context型のフィールドがある場合に検出するツール
  • unused
    • どこからも参照されていないパッケージ関数や変数など検出するツール
  • dupimport
    • インポートパスが重複しているimportを検出するツール
  • notest
    • テストファイルがないことを検出するツール
  • testutil
    • go/analysisのためのテストユーティリティ
  • nofmt
    • gofmtなどによってフォーマットがかけられていないファイルを検出するツール
  • readonly
    • パッケージ変数への再代入を検出するツール