静的解析は、バグの原因となる箇所を早期に発見し、コードの品質を向上させるための有効な手段です。本発表では、C#のコード解析用APIを持つRoslynアナライザーを用いた静的解析の実装方法について解説します。構文解析とフロー解析の具体的な例を示し、DeNAで作成したLinterレベルに留まらない独自のコード検査ルールを紹介します。また、RoslynアナライザーをUnityプロジェクトに導入する方法と、解析結果を効率的に収集・フィードバックする仕組みについて説明します。収集した解析結果をもとに、コードの品質を継続的に改善するためのアクションについても議論します。
講演者プロフィール
稲垣 和真
2021年にDeNAに新卒入社。
学生時代はVim弄りに没頭し、Vim scriptを学習しながら様々なVim pluginへパッチを送る活動をしていた。
現在はSWETグループに所属し、静的解析を起点としたゲーム領域への開発支援を行っている。
《講演者からのメッセージ》
静的解析を導入している方も多いかと思いますが、静的解析を実行するだけではもったいないです!
静的解析から得られた結果を蓄積することで様々なデータが取得できます。
そのデータがバグを減らすための手がかりになることも少なくありません。
本セッションでは静的解析器の作り方だけでなく、静的解析から得られたデータの使い方についてもお話するので、是非実践していただけたらと思います!
秦野 智臣
SIer でソフトウェア工学分野の研究開発を行い、2023年に「株式会社ディー・エヌ・エー」に入社。
プログラム解析を専門とし、静的解析器の開発・導入を行っている。
アカデミアでの研究経験を活かし、現在はゲーム開発の効率化や品質向上に向けた技術開発に取り組んでいる。
博士(情報科学)。
《講演者からのメッセージ》
静的解析はバグを未然に防ぎ、開発における手戻りを減らす効果があります。
既存の静的解析ツールを導入するだけでもいいですが、より高い効果を求めてオリジナルの解析ツールを作ってみませんか?
C# はコード解析用の環境が整っていて、意外と簡単に解析ツールを作成できます。
少しでもバグを減らしたい、静的解析をやってみたいという方々、お待ちしています!