학술논문

DeepAnalyze: Learning to Localize Crashes at Scale
Document Type
Conference
Source
2022 IEEE/ACM 44th International Conference on Software Engineering (ICSE) ICSE Software Engineering (ICSE), 2022 IEEE/ACM 44th International Conference on. :549-560 May, 2022
Subject
Computing and Processing
Location awareness
Operating systems
Training data
Debugging
Multitasking
Computer crashes
Data models
Software Engineering
Machine Learning
Crash Localization
Language
ISSN
1558-1225
Abstract
Crash localization, an important step in debugging crashes, is challenging when dealing with an extremely large number of diverse applications and platforms and underlying root causes. Large-scale error reporting systems, e.g., Windows Error Reporting (WER), commonly rely on manually developed rules and heuristics to localize blamed frames causing the crashes. As new applications and features are routinely introduced and existing applications are run under new environments, developing new rules and maintaining existing ones become extremely challenging. We propose a data-driven solution to address the problem. We start with the first large-scale empirical study of 362K crashes and their blamed methods reported to WER by tens of thousands of applications running in the field. The analysis provides valuable insights on where and how the crashes happen and what methods to blame for the crashes. These insights enable us to develop Deep-Analyze, a novel multi-task sequence labeling approach for identifying blamed frames in stack traces. We evaluate our model with over a million real-world crashes from four popular Microsoft applications and show that DeepAnalyze, trained with crashes from one set of applications, not only accurately localizes crashes of the same applications, but also bootstrap crash localization for other applications with zero to very little additional training data.