CrashLocator is a technique that locates crashing faults based solely on crash stack traces, without needing test cases or instrumentation. It approximates failing traces from crash stacks using static analysis techniques like control flow analysis and backward slicing. It then ranks suspicious functions based on characteristics of faulty functions, such as frequency in crash traces and distance from crash point. An evaluation on Mozilla projects found CrashLocator could locate over 50% of faults in the top result and over 63% in the top 5 results, outperforming conventional stack-only methods.