制約付きランダムテスト

制約付きランダムテストは、半導体チップの検証技術として、長年培われてきた実証済の技術です。多くの複雑な制約条件を満足する膨大な多次元の検証空間を効率よく検証するために、2000年代から発達してきた技術です。

Foretifyでは、一つの抽象的シナリオから膨大な数の具体的シナリオを派生的に生成することにより、エッジケース、コーナーケースなどの作成を大幅に効率化できます。

概要

ある機能領域の検証を行うにあたり、その機能領域を構成する要素を全て組み合わせていくと検証空間が巨大になってしまい、現実的な時間でその検証を完了する事は不可能になってしまいます。製品を世に送り出す際に必要となる検証についても、製品が複雑かつ高度なものになる程、同様に検証しなければならない条件の組み合わせは膨大になってしまいます。そのため、その検証空間を効率よく検証するための技術が必要となります。制約付きランダムテストはそのための技術として発達してきた技術です。

乱数を用いた単なるランダムテスト生成の場合、非現実的なテストケースや今回のテストの対象外となるテストケースが生成されてしまいます。このような意義のないテストケースの生成を防ぐため、抽象テストケース内のパラメータに制約を設け、その制約範囲で乱数シードに基づいた値をパラメータに割り当て、具体的なテストケースを生成する手法が制約付きランダムテスト生成となります。

制約付きランダムテスト生成は、検証空間に発生しているカバレッジホールを狭める際にも非常に有益な手法です。制約がないランダムテスト生成の場合、局所的に現れたカバレッジホールに対して影響するようなテストを実施することは非常に難しいですが、抽象シナリオ内のパラメータに制約を付加する事により、カバレッジホールの内容に該当するテストケースを生成する事が可能となり、網羅率を改善することができます。