主催: 戸田 航史, 藤原 賢二
会議名: 第31回ソフトウェア工学の基礎ワークショップ(FOSE2024)
開催地: 佐賀県佐賀市
開催日: 2024/11/28 - 2024/11/30
p. 45-54
マイクロサービスとは,複雑なソフトウェアを相互に通信可能な小規模サービス群に分割するアーキテクチャスタイルである.既存研究おいて,マイクロサービスの各サービスは小規模なプログラムで実現されているにもかかわらず,多くのサービスにコードクローンが含まれていることが報告されている.また,それらコードクローンの同時修正が報告されており,マイクロサービスにおいてコードクローンが保守コストを増大させていることがわかっている.しかし,既存研究が行った調査では,8 個のみのプロジェクトに含まれるサービスを対象としており,それらサービスはすべて Java で開発されている.そのため,様々な言語で開発された多くのサービスを対象とした調査を行うと,Mo らの調査とは大きく異なる結果が得られる可能性がある.そこで本研究では,12 言語で開発された 284 個のプロジェクトを対象としてマイクロサービスに含まれるコードクローンの調査を行った.その結果,C#はプログラム全体におけるコードクローンの割合や,複数のコードクローンが同時に修正されるものの割合が高いことがわかった.