A Method for Testing Software Systems Based on State Design Pattern Using Symbolic Execution | IEEE Conference Publication | IEEE Xplore