SEPE-SQED: Symbolic Quick Error Detection by Semantically Equivalent Program Execution

Yufeng Li,Qiusong Yang,Yiwei Ci,Enyuan Tian
DOI: https://doi.org/10.1145/3649329.3655958
2024-04-06
Abstract:Symbolic quick error detection (SQED) has greatly improved efficiency in formal chip verification. However, it has a limitation in detecting single-instruction bugs due to its reliance on the self-consistency property. To address this, we propose a new variant called symbolic quick error detection by semantically equivalent program execution (SEPE-SQED), which utilizes program synthesis techniques to find sequences with equivalent meanings to original instructions. SEPE-SQED effectively detects single-instruction bugs by differentiating their impact on the original instruction and its semantically equivalent program (instruction sequence). To manage the search space associated with program synthesis, we introduce the CEGIS based on the highest priority first algorithm. The experimental results show that our proposed CEGIS approach improves the speed of generating the desired set of equivalent programs by 50% in time compared to previous methods. Compared to SQED, SEPE-SQED offers a wider variety of instruction combinations and can provide a shorter trace for triggering bugs in certain scenarios.
Software Engineering,Hardware Architecture,Systems and Control
What problem does this paper attempt to address?