Incorporating varying test costs and fault severities into test case prioritization | Synapse