中井悦司氏の「グーグルのクラウドを支えるテクノロジー」第43回「Googleにおける静的コード解析ツールの活用(パート1)」
私が編集支援している中井悦司氏の「グーグルのクラウドを支えるテクノロジー」第43回「Googleにおける静的コード解析ツールの活用(パート1)」がCTC教育サービスで公開されました。
中井氏のコラムは大変人気があり、特にGoogleを追いかけている人には好評です。最新の情報がわかりやすいです。興味がある方はご覧ください。
###
今回は、2018年に公開されたエッセイ「Lessons from Building Static Analysis Tools at Google」をもとにして、Googleのソフトウェア開発プロセスにおける、静的コード解析ツールの活用例を紹介します。
静的コード解析ツールというのは、プログラムを実行することなく、ソースコード(場合によってはコンパイル済みのバイナリーコード)の内容を一定のルールに従って解析するもので、文法上の問題に加えて、潜在的な不具合を発見することができます。数年前、ある商用ソフトウェアのソースコードに、「goto fail;」という行が誤って2回続けて書かれていたというバグが話題になったことがありますが、このような単純ミスは、静的コード解析ツールによって発見することができます。
静的コード解析ツールの導入実験例
ソフトウェアの開発プロセスにおいて、静的コード解析ツールを用いたチェックを行うタイミングには、いくつかのパターンが考えられます。Googleでは、当初、Javaコードの静的解析ツールとしてFindBugsを使用しており、冒頭のエッセイでは、これを開発プロセスにどのように組み込むべきかという点について、いくつかの実験を行ってきたことが紹介されています。
この続きは以下をご覧ください
https://www.school.ctc-g.co.jp/columns/nakai2/nakai243.html