Advanced Search
    Liu Jingde, Chen Zhenbang, Wang Ji. Solving Cost Prediction Based Search in Symbolic Execution[J]. Journal of Computer Research and Development, 2016, 53(5): 1086-1094. DOI: 10.7544/issn1000-1239.2016.20148330
    Citation: Liu Jingde, Chen Zhenbang, Wang Ji. Solving Cost Prediction Based Search in Symbolic Execution[J]. Journal of Computer Research and Development, 2016, 53(5): 1086-1094. DOI: 10.7544/issn1000-1239.2016.20148330

    Solving Cost Prediction Based Search in Symbolic Execution

    • In symbolic execution, constraint solving needs a large proportion of execution time. The solving time of a constraint differs a lot with respect to the complexity, which happens a lot when analyzing the programs with complex numerical calculations. Solving more constraints within a specified time contributes to covering more statements and exploring more paths. Considering this feature, we propose a solving cost prediction based search strategy for symbolic execution. Based on the experimental data of constraint solving, we conclude an empirical formula to evaluate the complexity of constraints, and predict the solving cost of a constraint combined with historical solving cost data. The formula is used in our strategy to explore the paths with a lower solving cost with a higher priority. We have implemented our strategy in KLEE, a state-of-art symbolic executor for C, and carried out the experiments on the randomly selected 12 modules in GNU Scientific Library (GSL). The experimental results indicate that: in a same period, compared with the existing strategy, our strategy can explore averagely 24.34% more paths, without sacrificing the statement coverage; and our strategy can find more bugs. In addition, the time of using our strategy for finding same bugs decreases 44.43% in average.
    • loading

    Catalog

      Turn off MathJax
      Article Contents

      /

      DownLoad:  Full-Size Img  PowerPoint
      Return
      Return