-
ソフトウェア工学研究室
Xiao Tao
Xiao Tao
技術的負債返済による継続的インテグレーションの安全かつ効率的なフレームワーク
ソフトウェア開発 継続的インテグレーション(CI) 技術的負債 -
ソフトウェア開発の工程改善に寄与する
私はソフトウェア開発者として仕事に従事していた際、さまざまな問題に直面しました。これらを解決し、ソフトウェアの開発工程を改善したいという強い思いから研究の道に入りました。
その一つが「ビルドシステムのSATD(Self admitted technical debt:自認された技術的負債)はエラーを起こしやすい」ことです。エラーによってビルドに時間がかかり、ユーザーエクスペリエンスが妨げられ、継続的インテグレーション(CI)が非実用的になってしまいます。そこで、ビルドシステムにおけるSATD を自動識別し、CIに要する時間を短縮するフレームワークの開発を目指しました。
ビルドシステムに影響を及ぼすSATD償却フレームワークを構築
本研究では機械学習手法とテキスト分析手法を組み合わせて、開発者が通常のワークフローの中で発生させる負債に気づき、継続的に回避できるSATD償却フレームワークを提案します。具体的には、次の3点の達成を目標としています。
①機械学習技術 (auto-sklearn、ランダムフォレスト、サポートベクターマシン)を活用した「ビルドのパフォーマンスに影響を与えるSATD を識別するモデル」 の開発。 ②コミット履歴からSATDの状態と変更パターンを分析した上で、SATD 特性に優先順位を付けて分類するフレームワーク「テキスト類似性に基づいたSATD 変更推奨アプローチ」の開発。③研究で得られた知見を統合した「SATD償却フレームワークの作成」、およびSATD に関するコメントの分類や、バグレポートの優先順位付けです。
作成したフレームワークは、オープンソースソフトウェアを開発する組織と連携して評価を行う予定です。
研究を進める中で、アイデアとワークフローが完全に一致していないことに気づき、前段階に立ち戻って提案全体を慎重に再評価し、調整を加えたりもしました。時間はかかりまいたが、その作業があったからこそ、よりよいアプローチを再設計できたのです。
技術的負債の償却は製品を完成させて顧客に提供するために不可欠なステップであり、さらにCI活用の障壁を軽減し、普及を促すきっかけにもなると考えています。
研究者として自信が高まり、より高い理想へと進む
JSPS特別研究員に採用していただき、経済的支援はもちろん、研究環境が大幅に改善されたことにも感謝しています。 また、日本学術振興会という権威ある組織に研究が認められたという事実から自信とモチベーションが高まり、さらに集中して革新的なアイデアを追求できるようになりました。
私はこれからも研究者としてソフトウェア開発プロセスの改善に努めるとともに、日本で最先端の研究技術を学び、技術と知識をさらに高め、実社会に前向きな変化をもたらしていきたいと考えています。
(取材・撮影:ライティング株式会社 酒井若菜)