1. A method for analyzing race conditions comprising: accessing hazard records of conflicting access between multiple threads 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 plurality of vertices of said graph comprises information about a code location of a hazard and wherein each edge of said plurality of edges of said graph comprises hazard information between one or more vertices of said plurality of vertices; assigning said each edge of said plurality of edges with a respective weight, wherein said weight depends on a number and relative priority of hazards associated with said each edge; and traversing said graph to generate an analysis record for each hazard represented in said graph, wherein said traversing comprises analyzing each edge of said plurality of edges to determine if a first edge of said plurality of edges has a common source and destination vertex.