State space reduction for dynamic symbolic execution