Using Heuristic Search for Finding Deadlocks in Concurrent Systems