近年組み込みソフトウェアにおいて,個人でハードウェア部品を安価に入手できることや部品の多様化に伴い,ソフトウェア中にはコードクローンが発生することがある.
組み込み開発プラットフォームの1つである Arduinoは,特にハードウェア部品が安価であり,また,ハードウェア,ソフトウェア共にオープンソースであるため,派生品や互換機も数多く存在し,環境下には多くのコードクローンが発生していると考えられる.コードクローンはソフトウェアの保守を困難にしている要因の1つであると指摘されている.
そこで,GitHub から watch 数の多い Arduino のプロジェクトを 170 個取得し,コードクローン検出ツールである CCFinder に入力することで,コードクローンの位置を把握し,他のプロジェクトにおけるコードクローンの数と比較することで Arduino プロジェクトにおけるコードクローンの発生率について考察する.さらに組み込みソフトウェア特有のコードクローンについて考察することで,組み込みソフトウェアにおけるコードクローンに関する知見を得る.
CCFinder を用いた結果,Arduino プロジェクトには他のプロジェクトよりもコードクローンが多く発生していることがわかった.また,発生率の高いコードクローンの種類や,組み込みソフトウェア特有と思われるコードクローンを発見した.