ソフトウェアに対するテストとは,実際に様々な入力で動作させてみて,意図せぬ挙動を しないか確認する手法である。テストは現代のソフトウェア開発の根幹をなしている。しかし,1つのプログラムが様々な型の値に対して動作する(多相性をもつ)場合,あらゆる型の入力を試すことはできないため,テストが難しい。この問題を解決するため,多相性をもつプログラムに対し,有限種類の入力をテストするだけで正しさが検証できるための条件の解明を目指す。具体的には,有限種類の型に対する型検査を多相性をもつプログラムへのテストで代替することを考えている。
|