Targeted program transformations for symbolic execution
Author:
Open Access
- 30 August 2015
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 906-909
Abstract
Semantics-preserving program transformations, such as refactorings and optimisations, can have a significant impact on the effectiveness of symbolic execution testing and analysis. Furthermore, semantics-preserving transformations that increase the performance of native execution can in fact decrease the scalability of symbolic execution. Similarly, semantics-altering transformations, such as type changes and object size modifications, can often lead to substantial improvements in the testing effectiveness achieved by symbolic execution in the original program. As a result, we argue that one should treat program transformations as first-class ingredients of scalable symbolic execution, alongside widely-accepted aspects such as search heuristics and constraint solving optimisations. First, we propose to understand the impact of existing program transformations on symbolic execution, to increase scalability and improve experimental design and reproducibility. Second, we argue for the design of testability transformations specifically targeted toward more scalable symbolic execution.Keywords
Funding Information
- EPSRC (EP/L002795/1)
This publication has 5 references indexed in Scilit:
- Symbolic execution for software testingCommunications of the ACM, 2013
- Satisfiability modulo theoriesCommunications of the ACM, 2011
- Symbolic crosschecking of floating-point and SIMD code2011
- EXE2006
- Testability transformationIEEE Transactions on Software Engineering, 2004