1. A method for analyzing race conditions between multiple threads of an application, said method comprising: accessing hazard records for an application under test; creating a graph comprising a plurality of vertices and a plurality of edges using said hazard records, wherein each vertex of said graph comprises information about a code location of a hazard and wherein each edge of said graph comprises hazard information between one or more vertices; assigning said each edge with a weight, wherein said weight depends on a number and relative priority of hazards associated with a respective edge; and traversing said graph to report an analysis record for each hazard represented in said graph.