Affiliation:
1. University of Florida, Gainesville, United States
Abstract
Concolic testing is a scalable solution for automated generation of directed tests for validation of hardware designs. Unfortunately, concolic testing fails to cover complex corner cases such as hard-to-activate branches. In this article, we propose an incremental concolic testing technique to cover hard-to-activate branches in register-transfer level (RTL) models. We show that a complex branch condition can be viewed as a sequence of easy-to-activate events. We map the branch coverage problem to the coverage of a sequence of events. We propose an efficient algorithm to cover the sequence of events using concolic testing. Specifically, the test generated to activate the current event is used as the starting point to activate the next event in the sequence. Experimental results demonstrate that our approach can be used to generate directed tests to cover complex corner cases in RTL models while state-of-the-art methods fail to activate them.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Reference59 articles.
1. Harry Foster. 2020. Wilson Research Group Functional Verification Study 2020. Last accessed: 2022 Retrieved from https://blogs.sw.siemens.com/verificationhorizons/2020/11/05/part-1-the-2020-wilson-research-group-functional-verification-study/
2. Mingsong Chen, Xiaoke Qin, Heon-Mo Koo, and Prabhat Mishra. 2012. System-level Validation: High-level Modeling and Directed Test Generation Techniques. Springer.
3. DART
4. CUTE and jCUTE: Concolic Unit Testing and Explicit Path Model-Checking Tools
5. Scalable Concolic Testing of RTL Models