中文

DeepAnalyze:学习大规模崩溃定位

软件工程 2021-12-06 v2 人工智能 分布式、并行与集群计算 机器学习

摘要

崩溃定位是调试崩溃的重要步骤,但在处理大量不同的应用程序、平台以及潜在的根本原因时极具挑战性。大规模错误报告系统(例如 Windows Error Reporting (WER))通常依赖人工开发的规则和启发式方法来定位导致崩溃的被追责栈帧。随着新应用程序和功能被常规引入,以及现有应用程序在新环境下运行,开发新规则和维护现有规则变得极具挑战性。我们提出了一种数据驱动的解决方案来解决该问题。我们首先对数万个在野外运行的应用程序报告给 WER 的 362K 次崩溃及其被追责方法进行了首次大规模实证研究。该分析为崩溃发生的位置和方式以及应追责的方法提供了有价值的见解。这些见解使我们能够开发出 DeepAnalyze,这是一种用于识别堆栈跟踪中被追责栈帧的新型多任务序列标注方法。我们使用来自四个流行 Microsoft 应用程序的超过一百万次真实崩溃对我们的模型进行了评估,结果表明,使用一组应用程序的崩溃训练出的 DeepAnalyze 不仅能准确定位相同应用程序的崩溃,还能在零到极少额外训练数据的情况下引导其他应用程序的崩溃定位。

关键词

引用

@article{arxiv.2109.14326,
  title  = {DeepAnalyze: Learning to Localize Crashes at Scale},
  author = {Manish Shetty and Chetan Bansal and Suman Nath and Sean Bowles and Henry Wang and Ozgur Arman and Siamak Ahari},
  journal= {arXiv preprint arXiv:2109.14326},
  year   = {2021}
}