コベリティは、静的解析システムを開発・運営している会社です。この講演では、まずフロム・ソフトウェアの恵良氏が、コベリティの解析システムを導入した経緯とその結果を発表しました。
フロム・ソフトウェアと言えば、『DARK SOUL』シリーズや『アーマード・コア』シリーズなど、コアなゲームファンに人気の作品を多数開発しています。
ハードの高性能化に伴ってシステムが巨大化し、膨大なコード量とビルド時間が必要となったと現在の開発状況を語りました。そして、慢性的な人材不足からコードの品質も低下し、テストの実行回数も減っています。
そうした状況を改善するため、導入されたのか静的解析です。2年半の間に9つのタイトルコード、その数約2,200万行を解析し、25,000件を超える不具合が検出されたそうです。
この結果は、多くの不具合を未然に防いだだけでなく、プログラマー毎の不具合件数や傾向を把握し、コードのクオリティアップにもつながりました。
一方で、問題点も指摘されています。正確な不具合検出結果を得るために、ソースコードにあるライブラリも一緒に解析されてしまい、ライブラリの不具合とタイトルコードの不具合が混ざってしまう点です。
また続編ものの場合、前作の未修整コードがそのままコードに残っているため、膨大な数のエラーが出てしまう点も上げられました。この2点により、膨大なエラーが検出されてしまい、開発陣のモチベーションに影響が出てしまったとのことです。
コベリティの解析システムも、コード解析の精度を上げるだけではなく、優先的にテストすべきコードを検索するシステムを搭載するなど、新たなステップを目指して開発を進めているそうです。
新たな次世代機の発売も迫り、今後ますます複雑化・巨大化していくと思われるソフトのコード。その状況に対応するためには、こうした静的解析の導入は不可欠になるのかもしれませんね。