A major difficulty in debugging distributed systems lies in manually determining which of the many available debugging tools to use and how to query its logs. Our own study of a production debugging workflow confirms the magnitude of this burden. This paper explores whether a machine-learning model can assist developers in distributed systems debugging. We present Revelio, a debugging assistant which takes user reports and system logs as input, and outputs debugging queries that developers can use to find a bug's root cause. The key challenges lie in (1) combining inputs of different types (e.g., natural language reports and quantitative logs) and (2) generalizing to unseen faults. Revelio addresses these by employing deep neural networks to uniformly embed diverse input sources and potential queries into a high-dimensional vector space. In addition, it exploits observations from production systems to factorize query generation into two computationally and statistically simpler learning tasks. To evaluate Revelio, we built a testbed with multiple distributed applications and debugging tools. By injecting faults and training on logs and reports from 800 Mechanical Turkers, we show that Revelio includes the most helpful query in its predicted list of top-3 relevant queries 96% of the time. Our developer study confirms the utility of Revelio.


翻译:调试分布式系统的一个主要困难在于手动确定哪些现有调试工具可以使用,以及如何查询其日志。我们自己对生产调试工作流程的研究证实了这一负担的艰巨性。本文探讨了一个机器学习模型能否帮助开发者进行分布式系统调试。我们介绍了调试助手Revelio,一个调试助手,将用户报告和系统日志作为输入,以及调试查询结果,开发者可以用来查找一个错误的根本原因。关键的挑战在于(1) 将不同类型(例如自然语言报告和定量日志)的投入和(2) 概括化为不可见的错误。通过使用深神经网络将各种输入源和潜在查询统一嵌入一个高维度矢量空间,对调试读模型进行响应。此外,我们利用来自生产系统的观测,将查询生成纳入两个计算和统计上更简单的学习任务。为了评估Reverio,我们用多种分布式应用程序和调试工具建立了一个测试台。通过对800个机械土耳其人的日志和报告进行输入错误和培训,我们展示了Revelioloi程- 3 将最有帮助的检索。

0
下载
关闭预览

相关内容

这个新版本的工具会议系列恢复了从1989年到2012年的50个会议的传统。工具最初是“面向对象语言和系统的技术”,后来发展到包括软件技术的所有创新方面。今天许多最重要的软件概念都是在这里首次引入的。2019年TOOLS 50+1在俄罗斯喀山附近举行,以同样的创新精神、对所有与软件相关的事物的热情、科学稳健性和行业适用性的结合以及欢迎该领域所有趋势和社区的开放态度,延续了该系列。 官网链接:http://tools2019.innopolis.ru/
最新《联邦学习Federated Learning》报告,Federated Learning
专知会员服务
86+阅读 · 2020年12月2日
【KDD2020-Tutorial】自动推荐系统,Automated Recommendation System
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
强化学习最新教程,17页pdf
专知会员服务
171+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
91+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
MIT新书《强化学习与最优控制》
专知会员服务
273+阅读 · 2019年10月9日
已删除
将门创投
4+阅读 · 2019年6月5日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Auctus: A Dataset Search Engine for Data Augmentation
Arxiv
44+阅读 · 2019年12月20日
VIP会员
相关VIP内容
最新《联邦学习Federated Learning》报告,Federated Learning
专知会员服务
86+阅读 · 2020年12月2日
【KDD2020-Tutorial】自动推荐系统,Automated Recommendation System
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
强化学习最新教程,17页pdf
专知会员服务
171+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
91+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
MIT新书《强化学习与最优控制》
专知会员服务
273+阅读 · 2019年10月9日
相关资讯
已删除
将门创投
4+阅读 · 2019年6月5日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Top
微信扫码咨询专知VIP会员