ICSELab.
日本語English

RESEARCH

Research

Our research spans AI for software engineering, program comprehension and testing, and programming education. We combine program analysis, data analysis, AI, and tool development to support people who develop and learn software.

We also explore questions across these areas and develop new research themes. The following projects illustrate our work.

01

AI × Software Engineering

We explore how AI can support software development, from understanding and generating code to testing, debugging, and maintenance. We investigate what information AI needs, how its outputs can be evaluated, and how developers can use them.

Examples of past research

Giving generative AI runtime evidenceChatGPT × Execution Traces / 2023
Question
How does providing execution information change AI-generated explanations of failures?
Approach
We constructed prompts combining a program and its execution trace and examined ChatGPT’s explanations of possible fault causes.
Contribution
A case study of real bugs identified cases where execution traces made explanations of fault causes more concrete.

ICSME 2023, pp.397–402 · Paper / project ↗

Finding overlooked bugs with AI-generated testsLLM-generated Testing / 2025
Question
How can tests uncover failures at boundary values and unusual inputs in AI-generated code?
Approach
We compared LLM-generated example-based tests with property-based tests, which check expected properties over a range of generated inputs.
Contribution
Evaluation on a code-generation benchmark showed complementary strengths: combining the two approaches detected bugs missed by either approach alone.

AIware 2025, pp.11–18 · Paper / project ↗

Understanding collaboration between AI agents and developersAI Coding Agent Analysis / 2026
Question
How do AI agents explain proposed changes, and how do people review them?
Approach
We analyzed pull requests from five AI coding agents, examining description styles alongside human review activity, response times, and merge outcomes.
Contribution
The study identified differences between agents in communication styles and reviewer interaction, informing human–AI collaboration in software development.

MSR 2026, pp.878–882 · Paper / project ↗

02

Program Comprehension & Testing

We study methods for understanding program behavior and evaluating the effects of changes. Topics include source-code and execution analysis, visualization, testing, debugging, and code review.

Examples of past research

Tracing failures through execution historyNOD4J / 2021
Question
How can we inspect variable values after a program has finished running?
Approach
We developed a tool that records Java execution information within bounded storage and displays it alongside source code.
Contribution
The tool combines recording, processing, and visualization to help developers inspect runtime values.

Science of Computer Programming, 206, 102630 (2021) · Paper / project ↗

Reviewing changes through execution pathsJCompaths / 2025
Question
How does a code change affect the paths taken during execution?
Approach
We studied JCompaths, a code review tool for comparing and visualizing execution paths.
Contribution
The tool supports examining the relationship between source-code changes and program behavior.

コンピュータソフトウェア / Computer Software, 42(3), pp.23–39 (2025) · Paper / project ↗

03

Programming Education

We investigate how people learn to program and how tools can support that process. Topics include learning and editing activities, error correction, exercises, and feedback for learners and instructors.

Examples of past research

Helping novices find their next correctionProbabilistic Syntax-Error Support / 2025
Question
Compiler messages can leave beginners unsure where and how to fix their code.
Approach
We proposed using an N-gram model of token sequences to locate unusual code fragments and suggest corrections.
Contribution
The method was evaluated on data from introductory programming exercises for fault localization and correction suggestions.

情報処理学会論文誌 / IPSJ Journal, 66(11), pp.1486–1496 (2025) · Paper / project ↗

View all publications →