ソフトウェア分析学研究室の紹介(学生の皆さんへ)

研究室の特徴

ソフトウェア分析学研究室では, ソフトウェアのソースコード,開発過程,バグ,仕様書,開発者の行動履歴など,さまざまなデータを計測・分析し, 得られた知見を実際の開発現場や開発者教育に役立てることを目指しています。 研究の目的は,ソフトウェアの品質向上,開発コストの低減,開発失敗の回避, 開発計画の立案支援,プロジェクト管理支援,開発者の育成などです。 要素技術としては,データマイニング,統計処理,機械学習,生成AI,自然言語処理などを用います。

上記に加えて,2024年4月に研究室に加わった稲吉弘樹先生を中心に, スマートフォン(Android, iOS)におけるセキュリティ・プライバシーの確保に関する研究も行っています。 通信データの解析,プログラムの静的解析・動的解析などの技術を用いて, 安全で信頼できるスマートフォン利用環境の実現を目指しています。

そのほか,ソフトウェア中のアルゴリズムやデータを隠蔽するための「プログラム難読化」, ソフトウェアの盗用を発見するための「電子透かし」や「バースマーク」などの研究も行っています。 また,音楽データの分析(2024年度「近代以前に西洋で日本をイメージして作られた音楽作品の分析」でベストプレゼンテーション賞受賞), スマホゲームの課金誘導方法の分析(2024年度,日本ソフトウェア科学会で論文ダウンロード数1位)など, 学生の興味に応じたユニークな研究テーマにも積極的に取り組んでいます。

当研究室では,研究論文の執筆や研究発表を通して,自分の考えを整理し, 他人に分かりやすく伝える力を身につけてもらうことを重視しています。 4年生にも,卒業までになるべく学会発表に挑戦してもらいます。 特別研究(卒業研究)や修士論文の内容が,就職後すぐにそのまま役立つとは限らないかもしれません。 しかし,試行錯誤しながら研究を進めた経験や,論文執筆・研究発表の経験は,将来必ず大きな財産になると考えています。

また,当研究室は国際色が豊かなことも特徴です。 留学生が在籍していることも多く,多様な価値観や文化に触れながら研究できる環境があります。


今日のソフトウェア開発と研究テーマ

生成AIの登場により,ソフトウェア開発の姿は大きく変わりつつあります。 MicrosoftやGoogleのCEOは,プログラムコードの相当部分がすでにAIによって生成されていると公表しています。 生成AIのプログラミング能力を測るベンチマークHumanEvalでは,2024年3月の時点で正答率が98%に達しました。 また,より実務に近いSWE-benchにおいても,AIエージェントが人間の作業(機能追加やバグ修正)の70%以上(2025年9月時点)を代替できるという結果が報告されています。 GitHub上でも,2025年6月頃からAIエージェントが人間の代わりにpull requestを作成する事例が急増しています。 さらに,2025年に岡山で開催されたSPIJapan2025では,計画立案から要件定義,設計,コーディング,テスト,レビューに至るまで,開発の全工程で生成AIを活用する企業事例が多数発表されました。

一方で,生成AIの活用に伴う新たな問題も明らかになってきています。 「コーディングは速くなったが,開発全体ではむしろ効率が下がる」という「AIパラドックス」が指摘されています。 これは,プログラムを書くコストよりも,AIが生成したコードを理解・修正するコストの方が高くなるという逆転現象です。 例えば,初級者がAIを使って大量のコードを生成したものの,バグを直せず,上級エンジニアがその対応に追われるといった事例も報告されています。 また,「プログラム理解負債」という言葉も使われるようになりました。 これは,「コードは動くしテストも通るが,なぜこの実装になったのか誰も説明できない」という状態を指します。 このような状況は,将来の修正や保守において大きな問題となります。

生成AIの活用は,コーディング以外の工程にも広がっています。 仕様書や設計書,議事録などのドキュメントを入力すれば,必要な情報を要約したり,再構成したりすることが可能になりました。 そのためには,多数の文書をどのように整理してAIに与えるかという「コンテキストエンジニアリング」や,RAG(検索拡張生成)の技術が重要になります。 単にAIを使うだけでなく,「どう使うか」を設計する力が,これからのソフトウェア開発者には求められています。

このような背景を踏まえ,本研究室では,生成AIを活用した新しいソフトウェア開発支援技術や, 生成AI利用時に生じる課題の解決を目的とした研究に取り組んでいます。 例えば,次のようなテーマを扱っています。

  • 生成AIを用いたソフトウェア仕様書の評価・改善
  • 生成AIのソフトウェアレビュー能力の評価
  • 生成AIをSE役とした対話による要求獲得
  • 生成AIによるテストケース生成
  • 生成AIによるネーミングバグの検出
また,従来からのソフトウェア工学の研究も継続しています。 たとえば,GitHub上の開発者行動を分析する「ソフトウェア開発者の貢献タイプの定量的分析」という企業との共同研究は, ソフトウェアシンポジウム2025で論文奨励賞を受賞しました。 さらに,バグデータから例外ルールを発見する研究 「Mining Exception Rules from Eclipse and NetBeans Defect Dataset」は, 7th World Symposium on Software EngineeringでBest Presentation Awardを受賞しています。

本研究室では,

  • 生成AIを中心とした新しい研究テーマ
  • 従来型のソフトウェア工学研究
  • その両者を融合したテーマ
のいずれにも挑戦できます。

「AIとどう協働してソフトウェアを作るか」を考えることが,これからの時代の重要なテーマです。 最近の研究テーマの詳細は,左メニューの「研究テーマ」からご覧ください。