{"title":"编译器优化对符号执行的影响","authors":"Jiaorui Shen","doi":"10.1109/CSAIEE54046.2021.9543388","DOIUrl":null,"url":null,"abstract":"Software test plays an important role in software engineering, and dynamic symbolic execution (DSE) has become a popular technique in white-box testing. However, the efficiency of DSE is a big challenge of this technique. Compiler optimizations may have a big impact on DSE in some cases. In this paper, we introduce two small examples to visually show the impact of compiler optimizations on constraints solving and path exploration of DSE. After that, we propose a series of experiments using KLEE and LL VM compiler as a case to test real C programs in Coreutils-8.32. We use a simple model to assess the impact of different compiler optimizations and we also study on the combinations of compiler optimizations. The results show compiler optimizations can have both positive and negative effects, and some optimizations like FI may have greater influences than others. Moreover, some combinations of compiler optimizations can better improve the efficiency of DSE than single compiler optimization, which can be further studied.","PeriodicalId":376014,"journal":{"name":"2021 IEEE International Conference on Computer Science, Artificial Intelligence and Electronic Engineering (CSAIEE)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-08-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"The Impact of Compiler Optimizations on Symbolic Execution\",\"authors\":\"Jiaorui Shen\",\"doi\":\"10.1109/CSAIEE54046.2021.9543388\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software test plays an important role in software engineering, and dynamic symbolic execution (DSE) has become a popular technique in white-box testing. However, the efficiency of DSE is a big challenge of this technique. Compiler optimizations may have a big impact on DSE in some cases. In this paper, we introduce two small examples to visually show the impact of compiler optimizations on constraints solving and path exploration of DSE. After that, we propose a series of experiments using KLEE and LL VM compiler as a case to test real C programs in Coreutils-8.32. We use a simple model to assess the impact of different compiler optimizations and we also study on the combinations of compiler optimizations. The results show compiler optimizations can have both positive and negative effects, and some optimizations like FI may have greater influences than others. Moreover, some combinations of compiler optimizations can better improve the efficiency of DSE than single compiler optimization, which can be further studied.\",\"PeriodicalId\":376014,\"journal\":{\"name\":\"2021 IEEE International Conference on Computer Science, Artificial Intelligence and Electronic Engineering (CSAIEE)\",\"volume\":\"17 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-08-20\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2021 IEEE International Conference on Computer Science, Artificial Intelligence and Electronic Engineering (CSAIEE)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CSAIEE54046.2021.9543388\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE International Conference on Computer Science, Artificial Intelligence and Electronic Engineering (CSAIEE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSAIEE54046.2021.9543388","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
The Impact of Compiler Optimizations on Symbolic Execution
Software test plays an important role in software engineering, and dynamic symbolic execution (DSE) has become a popular technique in white-box testing. However, the efficiency of DSE is a big challenge of this technique. Compiler optimizations may have a big impact on DSE in some cases. In this paper, we introduce two small examples to visually show the impact of compiler optimizations on constraints solving and path exploration of DSE. After that, we propose a series of experiments using KLEE and LL VM compiler as a case to test real C programs in Coreutils-8.32. We use a simple model to assess the impact of different compiler optimizations and we also study on the combinations of compiler optimizations. The results show compiler optimizations can have both positive and negative effects, and some optimizations like FI may have greater influences than others. Moreover, some combinations of compiler optimizations can better improve the efficiency of DSE than single compiler optimization, which can be further studied.