ICSELab.
日本語English

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) · 論文・公開資料 ↗

研究成果の一覧を見る →