{"title":"基于约束符号执行的虚拟硬件模型测试模式自动生成","authors":"Nahla Mohamed, M. Safar, A. Wahba, A. Salem","doi":"10.1109/IDT.2015.7396755","DOIUrl":null,"url":null,"abstract":"Symbolic execution is widely used for analyzing software behavior, generating test pattern, and finding bugs. However, it is not feasible for large programs. Symbolic execution attempts to explore each path of the program which result in a path explosion for large programs. This paper introduces a framework that makes the symbolic execution practical for the virtual HW models that run on QEMU platform. We describe an approach that can symbolically execute a virtual HW model to automatically generate selective test patterns. We use the constraints-based technique in order to show preferences for the generated test pattern. A native symbolic run of the program along with the constraints will generate test patterns correspond to every possible path. Our technique adds assertion statement into the program to indicate a specific operation mode for the device that the developer pay attention on. The symbolic engine generates test patterns that can derive the program through all feasible paths to reach the assertion. These test patterns can be used to verify same operation mode on the associated HW RTL model.","PeriodicalId":321810,"journal":{"name":"2015 10th International Design & Test Symposium (IDT)","volume":"75 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Automatic test pattern generation for virtual hardware model using constrained symbolic execution\",\"authors\":\"Nahla Mohamed, M. Safar, A. Wahba, A. Salem\",\"doi\":\"10.1109/IDT.2015.7396755\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Symbolic execution is widely used for analyzing software behavior, generating test pattern, and finding bugs. However, it is not feasible for large programs. Symbolic execution attempts to explore each path of the program which result in a path explosion for large programs. This paper introduces a framework that makes the symbolic execution practical for the virtual HW models that run on QEMU platform. We describe an approach that can symbolically execute a virtual HW model to automatically generate selective test patterns. We use the constraints-based technique in order to show preferences for the generated test pattern. A native symbolic run of the program along with the constraints will generate test patterns correspond to every possible path. Our technique adds assertion statement into the program to indicate a specific operation mode for the device that the developer pay attention on. The symbolic engine generates test patterns that can derive the program through all feasible paths to reach the assertion. These test patterns can be used to verify same operation mode on the associated HW RTL model.\",\"PeriodicalId\":321810,\"journal\":{\"name\":\"2015 10th International Design & Test Symposium (IDT)\",\"volume\":\"75 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2015 10th International Design & Test Symposium (IDT)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/IDT.2015.7396755\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 10th International Design & Test Symposium (IDT)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IDT.2015.7396755","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Automatic test pattern generation for virtual hardware model using constrained symbolic execution
Symbolic execution is widely used for analyzing software behavior, generating test pattern, and finding bugs. However, it is not feasible for large programs. Symbolic execution attempts to explore each path of the program which result in a path explosion for large programs. This paper introduces a framework that makes the symbolic execution practical for the virtual HW models that run on QEMU platform. We describe an approach that can symbolically execute a virtual HW model to automatically generate selective test patterns. We use the constraints-based technique in order to show preferences for the generated test pattern. A native symbolic run of the program along with the constraints will generate test patterns correspond to every possible path. Our technique adds assertion statement into the program to indicate a specific operation mode for the device that the developer pay attention on. The symbolic engine generates test patterns that can derive the program through all feasible paths to reach the assertion. These test patterns can be used to verify same operation mode on the associated HW RTL model.