Accelerating array constraints in symbolic execution
Accelerating array constraints in symbolic execution
复制标题
DOI:
10.1145/3092703.3092728
复制
发表时间:
2017-07
期刊:
影响因子:
--
通讯作者:
D. Perry;Andrea Mattavelli;X. Zhang;Cristian Cadar
中科院分区:
文献类型:
--
作者:
D. Perry;Andrea Mattavelli;X. Zhang;Cristian Cadar
Despite significant recent advances, the effectiveness of symbolic execution is limited when used to test complex, real-world software. One of the main scalability challenges is related to constraint solving: large applications and long exploration paths lead to complex constraints, often involving big arrays indexed by symbolic expressions. In this paper, we propose a set of semantics-preserving transformations for array operations that take advantage of contextual information collected during symbolic execution. Our transformations lead to simpler encodings and hence better performance in constraint solving. The results we obtain are encouraging: we show, through an extensive experimental analysis, that our transformations help to significantly improve the performance of symbolic execution in the presence of arrays. We also show that our transformations enable the analysis of new code, which would be otherwise out of reach for symbolic execution.