SEPE-SQED: Symbolic Quick Error Detection by Semantically Equivalent Program Execution (2404.03172v2)
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.
- “Model checking” MIT press, 2018
- Werner Damm, Amir Pnueli and Sitvanit Ruah “Herbrand automata for hardware verification” In CONCUR’98 Concurrency Theory: 9th International Conference Nice, France, September 8–11, 1998 Proceedings 9, 1998, pp. 67–83 Springer
- “Combining symbolic model checking with uninterpreted functions for out-of-order processor verification” In FMCAD 1522, 1998, pp. 369–386 Springer
- “End-to-end verification of processors with ISA-Formal” In International Conference on Computer Aided Verification, 2016, pp. 42–58 Springer
- Clifford Wolf “RISC-V Formal Verification Framework” In GitHub repository GitHub, https://github.com/YosysHQ/riscv-formal, 2018
- “Logic bug detection and localization using symbolic quick error detection” In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems IEEE, 2018
- “Symbolic qed pre-silicon verification for automotive microcontroller cores: Industrial case study” In 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE), 2019, pp. 1000–1005 IEEE
- “Unlocking the Power of Formal Hardware Verification with CoSA and Symbolic QED” In 2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 2019, pp. 1–8 IEEE
- “Gap-free Processor Verification by S 2 QED and Property Generation” In 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE), 2020, pp. 526–531 IEEE
- “Meta-model based automation of properties for pre-silicon verification” In 2018 IFIP/IEEE International Conference on Very Large Scale Integration (VLSI-SoC), 2018, pp. 231–236 IEEE
- “Synthesis of loop-free programs” In ACM SIGPLAN Notices 46.6 ACM New York, NY, USA, 2011, pp. 62–73
- Sebastian Buchwald, Andreas Fried and Sebastian Hack “Synthesizing an instruction selection rule library from semantic specifications” In Proceedings of the 2018 International Symposium on Code Generation and Optimization, 2018, pp. 300–313
- “Effective Post-Silicon Validation of System-on-Chips Using Quick Error Detection” In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2014
- “Symbolic model checking without BDDs” In Tools and Algorithms for the Construction and Analysis of Systems: 5th International Conference, TACAS’99 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS’99 Amsterdam, The Netherlands, March 22–28, 1999 Proceedings 5, 1999, pp. 193–207 Springer
- Leonardo De Moura and Nikolaj Bjørner “Satisfiability modulo theories: introduction and applications” In Communications of the ACM 54.9 ACM New York, NY, USA, 2011, pp. 69–77
- “Combinatorial sketching for finite programs” In Proceedings of the 12th international conference on Architectural support for programming languages and operating systems, 2006, pp. 404–415
- “The RISC-V instruction set manual” In Volume I: User-Level ISA’, version 2, 2014
- “Btor2, btormc and boolector 3.0” In Computer Aided Verification: 30th International Conference, CAV 2018, Held as Part of the Federated Logic Conference, FloC 2018, Oxford, UK, July 14-17, 2018, Proceedings, Part I, 2018, pp. 587–595 Springer
- Clifford Wolf “Yosys open synthesis suite”, 2016
- “Pono: A Flexible and Extensible SMT-Based Model Checker” In Computer Aided Verification - 33rd International Conference, CAV 2021, Virtual Event, July 20-23, 2021, Proceedings, Part II 12760, Lecture Notes in Computer Science Springer, 2021, pp. 461–474 DOI: 10.1007/978-3-030-81688-9“˙22