RESEARCH
研究内容
AI × ソフトウェア工学、プログラム理解・テスト、プログラミング教育を主な研究分野としています。プログラム解析、データ分析、AI、ツール開発を組み合わせ、ソフトウェアをつくる人・学ぶ人を支援します。
各分野を横断する課題や新しいテーマにも取り組んでいます。これまでの研究を、具体例とともに紹介します。
01
AI × ソフトウェア工学
AIを活用して、ソフトウェアの開発・保守を支援する方法を研究します。コードの理解・生成、テスト、デバッグなどを対象に、AIに与える情報、出力の評価、人が活用する方法まで幅広く検討します。
これまでの研究例
生成AIに「実際の動き」を伝えるChatGPT × 実行履歴 / 2023
- 課題
- ソースコードに加えて実行時の情報を渡すと、AIによる不具合の説明はどう変わるか。
- 手法
- プログラムと実行履歴を組み合わせたプロンプトを作り、ChatGPTによる不具合原因の説明を調べました。
- 成果・検証
- 実際の不具合を用いた事例研究で、実行履歴を与えることで原因説明が具体的になるケースを確認しました。
ICSME 2023, pp.397–402 · 論文・公開資料 ↗
AIがつくるテストで、見落としやすい不具合を見つけるLLMによるテスト生成 / 2025
- 課題
- AIが生成したコードに潜む、境界値や特殊な入力での不具合をどう検出するか。
- 手法
- 具体的な入力と期待値を使うテストと、満たすべき性質を使って多様な入力を試すProperty-based TestingをLLMで生成し、比較しました。
- 成果・検証
- コード生成ベンチマークで比較し、それぞれの方法が異なる不具合を見つけ、併用によって検出を補い合うことを示しました。
AIware 2025, pp.11–18 · 論文・公開資料 ↗
AIエージェントと人は、開発の現場でどう協働するかAIコーディングエージェントの分析 / 2026
- 課題
- AIが提案したコード変更は、人にどのように説明され、レビューされているか。
- 手法
- 5種類のAIコーディングエージェントが作成したプルリクエストを分析し、説明文の特徴と、人によるレビュー・応答時間・変更の採用状況を調べました。
- 成果・検証
- エージェントごとに説明のスタイルやレビューへの反応が異なることを明らかにし、人とAIの協働を考えるための知見を得ました。
MSR 2026, pp.878–882 · 論文・公開資料 ↗
02
プログラム理解・テスト
プログラムの仕組みや振る舞いを理解し、変更の影響や不具合を確かめるための技術を研究します。ソースコード・実行情報の解析、可視化、テスト、デバッグ、コードレビューなどを扱います。
これまでの研究例
実行履歴から、不具合の原因をたどるNOD4J / 2021
- 課題
- 不具合が起きた時点の変数の値を、実行が終わった後に確認したい。
- 手法
- Javaプログラムの実行情報を限られた容量で記録し、ソースコードと対応付けて表示するツールを開発しました。
- 成果・検証
- 記録・解析・可視化を組み合わせ、実際にどの値が使われたかを調べるデバッグを支援します。
Science of Computer Programming, 206, 102630 (2021) · 論文・公開資料 ↗
コード変更の影響を、実行経路で見るJCompaths / 2025
- 課題
- コードを変更したとき、プログラムが通る処理の流れはどう変わるか。
- 手法
- 実行経路を比較・可視化するコードレビュー向けツールJCompathsを研究しました。
- 成果・検証
- ソースコードの変更とプログラムの動きの関係を調べるための、レビュー支援ツールとして発表しています。
コンピュータソフトウェア / Computer Software, 42(3), pp.23–39 (2025) · 論文・公開資料 ↗
03
プログラミング教育
プログラミングを学ぶ過程を理解し、学習者と教える側の双方を支援する方法を研究します。学習・編集活動の分析、エラー修正、演習問題、フィードバックなど、多様な観点から取り組みます。
これまでの研究例
初学者がエラーを直す手がかりをつくる確率モデルによる構文エラー修正支援 / 2025
- 課題
- コンパイラのエラーメッセージだけでは、どこをどう直せばよいか分かりにくい。
- 手法
- コード中のトークンの並びをN-gramの確率モデルで扱い、不自然な箇所の特定と修正候補の提示を行う手法を提案しました。
- 成果・検証
- 初学者向けプログラミング演習のデータに適用し、エラー箇所の特定と修正候補の提示を評価しました。
情報処理学会論文誌 / IPSJ Journal, 66(11), pp.1486–1496 (2025) · 論文・公開資料 ↗