An approach based on knowledge exploration for state space management in checking reachability of complex software systems