1. A matching algorithm, comprising: (a) determining what restorable debug entities comprise a scenario of a computer program, (b) assigning an individual weight to each of the restorable debug entities; and (c) given any two scenarios, comparing the restorable debug entities of each scenario to determine the extent of similarity between the scenarios.