ハードウェア記述言語と検証
ランダムな入力を使うテストで、乱数のシード(種)を記録しておく理由として正しいものはどれか。
- A同じシードを使えば同じ入力の並びを再現でき、見つかった不具合を何度でも調べ直せるから
- Bシードを記録すると、乱数がより速く作れるから
- Cシードを記録しないと、シミュレーションが始まらないから
答えと解説を見る
正解:A. 同じシードを使えば同じ入力の並びを再現でき、見つかった不具合を何度でも調べ直せるから
シミュレーションの乱数は、シードから決まった手順で作られる擬似乱数なので、同じシードなら同じ並びになります。ランダムなテストで不具合が見つかっても、シードが分からなければ同じ状況を作り直せず、原因を調べたり、修正後に直ったかを確かめたりできません。毎回違うシードで多くのテストを回し、失敗したときのシードを記録しておくのが基本です。
- A. 正しい。再現できない不具合は直すのが難しくなります。
- B. 速さとは関係ありません。
- C. 記録しなくても始まります。