1. A method comprising: mapping a visual invariant to a program invariant; and discovering inputs to GUI logic that includes a user actions and an execution context to cause the program invariant to be violated.