Locating causes of program failures | Synapse