User-Guided Searches: Traditionally heuristics are often problem-specific. Structural heuristics and property-specific heuristics of general utility are provided as built-in features of model checkers such as JPF, but it is often essential to allow users to also craft their own heuristics. Model checkers like JPF allow users to define their own heuristics which can take advantage of the user’s special knowledge of the program being analyzed.