| Because of the increasing scale and the complexity of software,all aspects of working and living are increasingly dependent on a variety of software systems.However the software security issues have plagued people,and how to guarantee the reliability of software system is a significant topic in the field of software engineering.Symbolic execution which can analyze the program behaviors adequately and generate test cases automatically is an effective and popular approach for verification.But how to get higher coverage by means of symbolic execution in short time needs to be solved as software gets more intricate.To solve this problem,this paper improves the program coverage of symbolic execution by implementing the compiler optimization automatic recommendation.This article will take the MC/DC as the measure of symbolic execution effect,and take the Coreutils as the experimental object to study the effect of some compiler optimizations on the effect of KLEE by a large number of experiments.Then we select program feature and use software package libSVM to design and implement the compiler optimizations recommendation for symbolic execution.Based on the full understanding of the recent research of symbolic execution,this paper combines with the latest research on the impact of compiling on symbolic execution,studies the effect of some compiler optimizations on symbolic execution further,and design and implement the automatic recommendation.The main work is as follows:1.Study the effect of some compiler optimizations on the efficiency of symbolic execution based on MC/DC.And a compiler optimization that mainly affects the symbolic execution is found and the key compiler optimization IC is found.2.Design and implement compiler optimizations recommendation for symbolic execution by estimating whether IC is reserved within the compiler option ALL.The test results show that the accuracy rate can reach 90.36%,and programs above 60% can reach the maximum among all compiler optimizations used. |