Debugging in the (Very) Large: Ten Years of Implementation and Experience. - Kinshumann, Kinshuman; Glerum, Kirk; Greenberg, Steve; Aul, Gabriel; Orgovan, Vince; Nichols, Greg; Grant, David; Loihle, Gretchen; Hunt, Galen (Communications of the ACM, 2011)
Windows Error Reporting (WER) is a distributed system that automates the processing of error reports coming from an installed base of a billion machines. WER has collected billions of error reports in 10 years of operation. It collects error data automatically and classifies errors into buckets, which are used to prioritize developer effort and report fixes to users. WER uses a progressive approach to data collection, which minimizes overhead for most reports yet allows developers to collect detailed information when needed. WER takes advantage of its scale to use error statistics as a tool in debugging; this allows developers to isolate bugs that cannot be found at smaller scale. WER has been designed for efficient operation at large scale: one pair of database servers records all the errors that occur on all Windows computers worldwide.