プロジェクト型ソフトウェア開発演習におけるビルドエラーの調査

川島 尚己 (1451038)


ビルドとはソースコードに対してコンパイルやリンクなどを行うことで実行可能 形式に変換する作業のことであり,ソフトウェア開発においてビルドは重要な工程 の一つである. 近年,プロジェクト型ソフトウェア開発演習(プロジェクトベースで情報システム開発等を実践する演習)などにおいて ビルドを含む開発を行うことが多い. しかし,学生のプロジェクト型ソフトウェア開発演習においてはビルドのノウハウまで細かく指導することはまれであり, 実際には必要なライブラリの不足などが原因の不適切なビルドにより演習が進まないこともあり得る. そして,過去に行われたビルドに関する研究は企業やオープンソースソフトウェアのプロジェクトを対象に行われたものが主であり初学者を対象にしたものはまだない. さらに,初学者の開発履歴を対象に分析を行った研究は存在するが個人開発を対象としている. 教育上の観点でプロジェクト型ソフトウェア開発における 初学者のビルドに係る振る舞いを明らかにすることは,初学者のプロジェクト型ソフトウェア開発の学習を円滑に進める上で役に立つと考えられる. そこで,本発表ではビルドの中でもビルドエラーに着目した研究を行う. ビルドエラーについての調査を行うことで初学者にとって難所となるビルドの要素を見つけることできる. 本研究の結果をもとにして教育者は,学生への適切な技術的なサポートを行うことができる教材の作成などが可能になると考えられる. 初学者が陥りやすいようなビルドの失敗のパターンを探るために, 学生のソフトウェア開発演習のビルドログを対象に分析を行った. 具体的には,開発者のビルドの失敗確率の分布,コンパイルエラーの原因,エラーの解決に掛かる時間, エラーの発生と時系列の関係性および,連続するビルドの成否と間隔の関係性についての調査を行った. 調査の結果,学生がビルドを行う際のエラーの原因としては依存関係の不整合によるエラーが最も多いということや, 開発時期の終盤にはビルド数が増加する一方でビルドエラー数は減少するという傾向などが明らかとなった. この結果から,教育者はプロジェクト型ソフトウェア開発演習において,依存関係の不整合に関する指導を拡充することで,学生のビルドエラー削減や,演習課題の早期解決に繋がると考えられる.