Holmes用多模态信号自动定位微信崩溃根源,效率提升98%。
Holmes: Multimodal Agentic Diagnosis for Mixed-Language Mobile Crashes at Industrial Scale

- 构建多智能体系统,融合堆栈、日志等运行时信号重建故障上下文
- 在7000万行代码中实现87.6%的函数级定位准确率,平均调查时间降至77秒
- 适合处理跨语言、无法复现的工业级移动应用崩溃诊断
在超大规模工业级应用中,由于代码量庞大、混合语言环境复杂且无法本地复现故障,移动崩溃诊断极具挑战。传统静态分析难以扩展,现有基于大模型的智能体又依赖可复现环境,而这类环境在事后分析中通常不可用。我们提出Holmes,一种多智能体系统,通过整合堆栈跟踪、日志和线程状态等多模态运行时信号,在无需复现的情况下重建故障上下文。Holmes采用分层的“检索-探索-推理”架构,利用低层数据(如寄存器、汇编代码)弥合开源业务逻辑与闭源系统框架之间的语义鸿沟。通过运行时线索动态压缩搜索空间,精准定位7000万行代码中的非局部缺陷。在微信真实崩溃场景上的评估显示,Holmes在函数级故障定位上达到87.6%的准确率,平均调查时间减少超过98%(降至约77秒),有效将耗时的手动调试转化为高效验证流程。
原文摘要 · Abstract (English)
Diagnosing mobile crashes in ultra-large-scale industrial applications is a formidable challenge due to the sheer volume of code, the complexity of mixed-language environments, and the inability to reproduce failures locally. Traditional static analysis struggles with scalability, while existing LLM-based agents often rely on reproducible environments unavailable in post-mortem scenarios. We present Holmes, a multi-agent system that automates root cause analysis by synthesizing multimodal runtime signals--stack traces, logs, and thread states--to reconstruct failure contexts without reproduction. Holmes introduces a hierarchical Retrieve-Explore-Reason architecture that leverages low-level artifacts (e.g., registers, assembly) to bridge the semantic gap between open-source business logic and closed-source system frameworks. By dynamically compressing the search space using runtime clues, Holmes precisely navigates 70-million-line codebases to identify non-local defects. Evaluated on real-world crashes from WeChat, Holmes achieves 87.6% accuracy in function-level fault localization and reduces average investigation time by over 98% (to ~77 seconds), demonstrating its effectiveness in transforming labor-intensive debugging into an efficient verification workflow.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。