研究紹介

研究テーマの例

安全なIoTデバイスを開発するための自動バグ発見・自動修正技術

スマート家電等,インターネットに接続されたIoTデバイスがどんどん普及してきています.IoTデバイスを開発するメーカーはバグが存在しないように,十分に検証を行ってからリリースします.しかし,IoTデバイスが複数のユーザーや他のデバイスを識別しつつ,ユーザーやデバイスに合わせた複雑な動作をするため,バグを発見・修正することは容易ではありません.安全なIoTデバイスを実現するためには,コンピュータが自動的にバグを発見したり,自動的にバグを修正したりしてくれたら便利だと思いませんか?本研究室では,このような自動バグ発見・自動修正技術の実現に向けた研究を行っています.

このテーマは、JST さきがけ 社会変革に向けたICT基盤強化領域第1期採択課題(直接費総額4000万程度)です.

2022年3月に,情報処理学会の各研究会から推薦された選りすぐりの若手研究者が登壇し,最先端の研究を発表するIPSJ-ONEで本テーマについて吉田が講演しました.講演動画はこちら

プログラム解析技術

社会インフラを支えるソフトウェアの規模はどんどん大きくなってきており,ソフトウェア開発者がプログラム全体を把握することが難しくなってきています.そこで本研究室では,コンピューターを使ってプログラムを自動的に解析し,プログラムを理解しようとするソフトウェア開発者を支援する技術の研究をしています.

ソフトウェア開発とコード変更分析の自動的支援

Automated Support for Software Development and Code Change Analysis

ソフトウェアシステムは、長期的な保守およびバージョン進化の過程において継続的に変更が生じる。これらの変更は、機能的改善や振る舞いの最適化など多様な形態をとる。システム規模の拡大や開発履歴の蓄積に伴い、コード変更の特性およびその影響を体系的に理解することの重要性が高まっている。ソフトウェア進化におけるコード変更の分析を基盤とし、リファクタリング行為の自動識別を行うとともに、各種変更がシステムの安定性および保守性に与える影響を評価する。関連する分析技術の高度化を通じて、ソフトウェアの持続的進化と品質向上を支援する。

Software systems undergo continuous changes throughout long-term maintenance and version evolution. Such changes may involve functional enhancements or behavioral optimizations in various forms. As systems scale and development histories accumulate, systematically characterizing code changes and assessing their impact becomes increasingly important. Grounded in the analysis of code evolution, this work addresses the automated identification of refactoring activities and evaluates how different types of code changes influence system stability and maintainability. By advancing analytical techniques for software evolution, it supports sustainable evolution and quality improvement in software systems.