Improving Structural Testing of Object-Oriented Programs via Integrating Evolutionary Testing and Symbolic Execution | Synapse