... Specifically, a change between two states is represented as a transition that may have a trigger (or event) that causes the transition to occur, a guard that must be met for the transition to take place, and/or one or more actions. Although numerous techniques for generating finite state machines (FSMs) have been proposed within software engineering (e.g., [6, 9, 10, 14, 25, 26, 27, 28] ) and evolutionary computation (e.g., [2, 4, 8, 15, 16, 24]), a more limited number [6, 9, 10, 14, 25, 26, 27, 28] address the generation of state diagrams that represent the behavior of software. These techniques synthesize one or more state diagrams from properties (e.g., [9, 10, 27]), scenarios (e.g., [6, 14, 26, 28]), or both (e.g., [25] ). ...