  Facebook operates a family of services used by over two billion people daily
on a huge variety of mobile devices. Many devices are configured to upload
crash reports should the app crash for any reason. Engineers monitor and triage
millions of crash reports logged each day to check for bugs, regressions, and
any other quality problems. Debugging groups of crashes is a manually intensive
process that requires deep domain expertise and close inspection of traces and
code, often under time constraints. We use contrast set mining, a form of
discriminative pattern mining, to learn what distinguishes one group of crashes
from another. Prior works focus on discretization to apply contrast mining to
continuous data. We propose the first direct application of contrast learning
to continuous data, without the need for discretization. We also define a
weighted anomaly score that unifies continuous and categorical contrast sets
while mitigating bias, as well as uncertainty measures that communicate
confidence to developers. We demonstrate the value of our novel statistical
improvements by applying it on a challenging dataset from Facebook production
logs, where we achieve 40x speedup over baseline approaches using
discretization.
