プログラミング教育における提出プログラム間の機能差検出 -自動テスト生成と経路ベクトルを用いて-
修士論文, 大阪大学
概要: プログラミング教育における一つの実施形態として,ソフトウェアテストを用いた方法が採用されつつある.
この方法では,プログラムの仕様を単体,あるいは結合テストとして用意しておき,学生はそのテスト通過を目指してプログラムを作成する.
客観的なプログラム仕様の確保,及び動作確認の自動化等様々な利点がある一方で,
学生個々の独自仕様や機能拡張といった工夫の検出は難しい.
さらには,与えられたテストには通過するが,その解決方法が十分に一般化されていないケースの検出も困難である.
本研究の目的は,テストを用いたプログラミング教育における学生プログラム間の機能差検出の支援である.
本稿では,この目的に対する2つの課題を整理し,その片方の実現方法を提案する.もう片方の課題の実現方法は実題材に対する実験において検討する.
この提案手法では,学生のプログラムに対し自動テスト生成を適用し,生成テストを他の学生プログラムに対して相互に実行する.
さらにテスト実行時の経路情報に基づき,テストをクラスタリングすることで,機能差検出能力を持つテストの集合を得る.
ある大学の実題材への適用実験を行った結果,提案手法による機能差検出能力を持つテストの生成,及び同じ意味のテスト同士のクラスタリングの実現を確認した.
@mastersthesis{出田涼子2022,
author = {出田 涼子},
title = {プログラミング教育における提出プログラム間の機能差検出 -自動テスト生成と経路ベクトルを用いて-},
school = {大阪大学},
year = {2022},
month = {feb}
}