Test Algorithm of C/C++ Preprocessing Based on Conditional Value

Wei Wang
2011-01-01
Abstract:Traditional C/C++ code relying on preprocessing can be quite complex to analyze.Symbolic execution can be used to infer these expressions using the free variables,but its time complexity is exponential.In order to reduce the time complexity,this paper puts forward a method of fast symbolic execution.By using lexical analyzer,preprocessing variables and path conditions from source code are gotten.Next is building node for each preprocessing variable and converting path conditions into conditional expressions,they are merged into conditional values(c-values) through the algorithm of symbolic execution.The result is to display each preprocessing variable's c-value after pretreatment.Experimental results show that the path feasibility analysis of traditional symbolic evaluation can be omitted.So it can reduce the time complexity by using symbolic execution algorithm.
What problem does this paper attempt to address?