Roslynアナライザー: Unityでの開発環境を改善するための静的解析の仕組みの構築

タグ:
日時:
2024年08月22日(木)14時40分〜15時40分
形式: レギュラーセッション(60分)
受講スキル:
- Unityプロジェクトへのバグの混入を静的解析を用いて未然に防ぎたい方 - フロー解析を使って構文解析では不可能な静的解析をしてみたい方、興味がある方 - 静的解析の解析結果を使って開発効率を上げたい方
受講者が得られるであろう知見:
- 静的解析で必要となる構文解析やフロー解析の概要 - Roslynアナライザーを使った独自の解析器の実装方法および実装例 - Unityプロジェクトに効率的にRoslynアナライザーを導入する方法 - Unityプロジェクトに組み込んだアナライザーの解析結果の収集方法および利用方法
セッションの内容

静的解析は、バグの原因となる箇所を早期に発見し、コードの品質を向上させるための有効な手段です。本発表では、C#のコード解析用APIを持つRoslynアナライザーを用いた静的解析の実装方法について解説します。構文解析とフロー解析の具体的な例を示し、DeNAで作成したLinterレベルに留まらない独自のコード検査ルールを紹介します。また、RoslynアナライザーをUnityプロジェクトに導入する方法と、解析結果を効率的に収集・フィードバックする仕組みについて説明します。収集した解析結果をもとに、コードの品質を継続的に改善するためのアクションについても議論します。


講演資料

  • Roslynアナライザー_ Unityでの開発環境を改善するための静的解析の仕組みの構築.pdf

※資料のダウンロードにはログインが必要です。


講演者プロフィール

稲垣 和真

稲垣 和真
所属 : 株式会社ディー・エヌ・エー
部署 : IT本部品質管理部SWET第二グループ

2021年にDeNAに新卒入社。
学生時代はVim弄りに没頭し、Vim scriptを学習しながら様々なVim pluginへパッチを送る活動をしていた。
現在はSWETグループに所属し、静的解析を起点としたゲーム領域への開発支援を行っている。

《講演者からのメッセージ》
静的解析を導入している方も多いかと思いますが、静的解析を実行するだけではもったいないです!
静的解析から得られた結果を蓄積することで様々なデータが取得できます。
そのデータがバグを減らすための手がかりになることも少なくありません。

本セッションでは静的解析器の作り方だけでなく、静的解析から得られたデータの使い方についてもお話するので、是非実践していただけたらと思います!

秦野 智臣

秦野 智臣
所属 : 株式会社ディー・エヌ・エー
部署 : IT本部品質管理部SWET第二グループ

SIer でソフトウェア工学分野の研究開発を行い、2023年に「株式会社ディー・エヌ・エー」に入社。
プログラム解析を専門とし、静的解析器の開発・導入を行っている。
アカデミアでの研究経験を活かし、現在はゲーム開発の効率化や品質向上に向けた技術開発に取り組んでいる。
博士(情報科学)。

《講演者からのメッセージ》
静的解析はバグを未然に防ぎ、開発における手戻りを減らす効果があります。
既存の静的解析ツールを導入するだけでもいいですが、より高い効果を求めてオリジナルの解析ツールを作ってみませんか?
C# はコード解析用の環境が整っていて、意外と簡単に解析ツールを作成できます。

少しでもバグを減らしたい、静的解析をやってみたいという方々、お待ちしています!

共同研究・開発者

飯島 慧(株式会社ディー・エヌ・エー)
国分 佑樹(株式会社ディー・エヌ・エー)