Core Concepts
プロセッサ設計の論理バグを検出するために、元の命令とその意味的に等価なプログラム実行の一貫性を検証する新しいアプローチを提案する。
Abstract
本論文では、プロセッサ設計の論理バグを検出するための新しいアプローチ「SEPE-SQED」を提案する。SEPE-SQED は、元の命令とその意味的に等価なプログラム実行の一貫性を検証することで、単一命令バグと複数命令バグの両方を検出することができる。
プログラム合成技術を用いて、元の命令と意味的に等価なプログラムを生成する。効率的な合成のために、最高優先度優先アルゴリズムに基づくCEGISアプローチ(HPF-CEGIS)を提案する。実験結果から、HPF-CEGISは従来のCEGISアプローチに比べて平均50%の時間短縮を実現できることが示された。
SEPE-SQED は、元の命令とその意味的に等価なプログラムの実行結果を比較することで、単一命令バグと複数命令バグの両方を検出できる。また、SQED と比べて、より多様な命令の組み合わせを生成できるため、特定のシナリオでは短いバグトレースを生成できる。
実験では、オープンソースの高性能プロセッサに対して変異テストを行い、SEPE-SQED の論理バグ検出能力を検証した。その結果、SEPE-SQED は単一命令バグと複数命令バグの両方を効果的に検出できることが示された。
Stats
単一命令バグの検出に要した時間:
ADD: 3410.93秒
SUB: 1436.46秒
XOR: 430.47秒
OR: 1765.66秒
AND: 777.79秒
SLT: 3306.27秒
SLTU: 2437.10秒
SRA: 76.50秒
MULH: 2837.13秒
XORI: 627.45秒
SLLI: 1837.11秒
SRAI: 85.44秒
SW: 288.62秒