Meng-xiang Lin, Yin-li Chen, Kai Yu, Guo-shi Wu. Lazy Symbolic Evaluation and Its Path Constraints Solution. In Dimitris Dranidis, Stephen P. Masticola, Paul A. Strooper, editors, Proceedings of the 4th International Workshop on Automation of Software Test, AST 2009, Vancouver, BC, Canada, May 18-19, 2009. pages 79-87, IEEE, 2009. [doi]
Some program structures in modern programming languages can not be reasoned about symbolically. Lazy symbolic evaluation as proposed in this paper introduces a lazy evaluation strategy into traditional symbolic execution in order to address the issue. Constraint variables in path constraints generated by lazy symbolic evaluation may be input or intermediate variables. To eliminate the latter, concrete values for related input variables are first obtained by constraints solving or searching processes. Then, the given path is executed again using concrete and symbolic values. The procedure is repeated until the resulting path constraint is on input variables alone. We have implemented a prototype tool and performed several experiments. Preliminary results show the feasibility of our approach.