研究動機:自己修復・自己最適化・自己防御する「しなやかなソフトウェア」を作りたい
ソフトウェアシステムは,システムを取り巻く環境(ユーザ,外部サービス,物理デバイス等)と密につながって動作します. 環境は様々な要因によって絶えず変化しますが,それらの変化全てへの対処をソフトウェア開発時に組み込むことは,この世のあらゆる事象を予測することと同じであるため不可能です. そのため,ソフトウェア開発者は環境の変化に応じて適宜,その変化に対処できるシステムへ更新(アップデート)します. このシステムの更新は一般的に人手で行われていますが,開発者にとって保守・運用の面で大きな負担になるだけではなく,バグや設計ミスといったシステムの安全性を脅かす原因にもなるという課題があります.
自己適応ソフトウェアはこれらの課題を解決するアプローチです. 自己適応ソフトウェアは,環境の変化に対処できるシステムへ更新する作業を自動化し, ソフトウェアが自分自身で環境の変化に対処するシステムです. 鄭研究室はシステム自身が自己修復・自己最適化・自己防御するしなやかなソフトウェアの研究・開発をミッションとして掲げており,ミッション実現のために自己適応ソフトウェアに関する研究を行なっています.
自己適応ソフトウェアとは
自己適応ソフトウェアは,環境の変化に対して,自身を最適化し,その変化に対処できるソフトウェアを指します. これを実現するためには,(1)環境の変化を検知し,(2)その変化に対してどのような変更が必要か分析・計画し,(3)分析・計画結果に基づいて自身を更新する必要があります.これら3つのプロセスを,環境の変化を検知するたびに繰り返すことによって,ソフトウェアは自身で環境の変化に対処できるように更新されていきます. この技術は,ITインフラ,金融システム,クラウドネイティブシステム,フライトソフトウェアなど,環境の変化や設計ミスによるシステムの異常動作・緊急停止が大きな損害を生む分野への応用が期待されています.
我々の研究室での取り組み
自己適応ソフトウェアの開発では,ソフトウェアが提供する機能を表すアプリケーションロジックに加え,変化に対してソフトウェアをどのように変更するかを表す適応ロジックを開発する必要があります. 本研究では,この新たな開発対象である"適応ロジック"を高品質に,かつ正しさの保証を伴った開発方法を明らかにします. 我々の研究室では自己適応ソフトウェアを構成する3つのプロセスについて研究しています.
-
環境の変化の検知・認識 実行時に環境内で生じた変化を迅速かつ正確にシステムの認識できる形(環境モデル)に変換する技術を構築しています. 確率的勾配降下法を用いた環境モデル学習,仮説探索,センサや実行ログなどのトレースデータ分析などの研究を行なっています.
-
実行時の仕様モデル合成 変化した環境において達成可能で最適な要求を分析・決定します. そして,要求と環境モデルから,システムが要求を違反することのない安全な仕様モデルを自動合成します. 自動仕様合成技術の一種である**離散制御器合成(DCS)**はラボの中核技術です(→ 離散制御器合成のページを参照).
-
システムの実行時更新 更新された仕様モデルに基づきシステムを実行時に再構成します. システムを停止させることなく更新する技術を「実行時更新」と呼びます. このような実行時更新を安全かつ効率的に実現する「実行時更新フレームワーク」に関する研究を行なっています(IEEE TSE 2022).
連合学習セキュリティへの自己適応応用
MAPE-Kループの概念を連合学習(Federated Learning)のセキュリティに応用する研究を進めています.
-
動的ポイズニング攻撃への自己適応防御(Hu et al., SEAMS 2025) 攻撃パターンが動的に変化する状況下で,MAPE-K に基づく防御機構がリアルタイムに検知・対応します.
-
スライディングウィンドウ上側信頼限界を用いた防御(Hu et al., KBSE 2026) 統計的手法(上側信頼限界)と自己適応を組み合わせ,連合学習サーバが悪意あるクライアントを自動的に排除します.
ユーザ嗜好適応
ユーザの不満やフィードバックを学習し,自律システムが動的にユーザの嗜好に適応する研究を行っています.
-
Adaptive Preferences: Pivoting Through User Complaints(Zhang et al., TAAS 2025) ユーザからの不満フィードバックを解析し,適応ルールを動的に改善する手法.
-
Multi-grained requirement relaxation(Li et al., RE'22) 要求の優先度と粒度を考慮した,要求緩和による柔軟な自己適応の実現.
応用領域
- クラウドネイティブ侵入回復(KBSE 2024)
- NASA F’ フライトソフトウェア(COMPSAC 2024)
- Ambient Assisted Living(高齢者支援)(SEAMS 2026)
- ロボット制御,IoT システム(→ 離散制御器合成のページ参照)
代表論文
- Chenyu Hu et al. “Adapting Aggregation Rule for Robust Federated Learning under Dynamic Attacks.” SEAMS 2025.
- Chenyu Hu et al. “UCB-based Self-Adaptive Defense in Federated Learning.” KBSE 2026.
- Mingyue Zhang et al. “Adaptive Preferences: Pivoting Through User Complaints.” ACM TAAS, 2025.
- Jialong Li et al. “Done is better than perfect: Iterative Adaptation via Multi-grained Requirement Relaxation.” RE 2022.
- Jialong Li et al. “Generative AI for Self-Adaptive Systems: State of the Art and Research Roadmap.” ACM TAAS, 2024.
- Jialong Li et al. “Self-Adaptive Cloud-Native Intrusion Recovery.” KBSE 2024.
- Kenji Tei et al. “Towards scalable model checking of reflective systems via labeled transition systems.” IEEE Transactions on Software Engineering, 2022.