首页> 外文学位 >Crash Scene Investigation: Instrumentation and Postmortem Analysis for Deployed Applications
【24h】

Crash Scene Investigation: Instrumentation and Postmortem Analysis for Deployed Applications

机译:崩溃场景调查:已部署应用程序的检测和事后分析

获取原文
获取原文并翻译 | 示例

摘要

Debugging is a difficult, error-prone, and tedious task. Debugging, testing, and verification can account for 50-75% of a software project's cost; these costs can grow even higher in some cases. Nevertheless, or perhaps partly because of this, complex production software inevitably contains bugs, and post-deployment failures are common. These production failures increase the cost of bug repair substantially, as they are difficult to reproduce and are initially observed by non-experts. Detailed postmortem crash reports can theoretically alleviate this problem. In particular, a developer would greatly benefit from a concrete, reproducible, full execution trace. Sadly, full execution tracing is usually impractical for complex programs. Even for simple code, the overhead of full tracing may only be acceptable during in-house testing.;The first part of this dissertation describes new techniques and tools for lightweight instrumentation of deployed applications. We describe techniques that trace program paths and that gather program coverage data at various granularities. We also present new algorithms for optimizing program coverage instrumentation based on customized requirements. Across all of these approaches, our techniques focus on extremely low-overhead control-flow tracing, and take advantage of readily-available information from failure reports (e.g., stack traces) to avoid redundant tracing and prioritize information to maintain when trace data must be limited due to tight overhead requirements.;The second part of this dissertation defines analysis techniques that operate on post-deployment failure reports. These reports may contain a variety of elements, but usually will not contain a full trace of run-time information from the failing execution. Thus, our analysis techniques are specifically designed to grapple with the imperfect information contained in production-run failure reports (including, but not limited to, our own tracing techniques). Our techniques aid developers in the difficult task of debugging post-deployment failures by restricting the possible program code a developer needs to consider, and by answering user control-flow questions about the failing execution.
机译:调试是一项困难,容易出错且繁琐的任务。调试,测试和验证可占软件项目成本的50%至75%;在某些情况下,这些成本可能会更高。但是,或者部分地由于这个原因,复杂的生产软件不可避免地包含错误,并且部署后失败很常见。这些生产故障大大增加了错误修复的成本,因为它们难以复制并且最初是由非专家观察到的。从理论上讲,详细的事后崩溃报告可以缓解此问题。特别是,开发人员将从具体的,可复制的完整执行跟踪中受益匪浅。可悲的是,对于复杂的程序,完全执行跟踪通常是不切实际的。即使是简单的代码,全跟踪的开销也只能在内部测试期间才能接受。本论文的第一部分介绍了用于轻量级部署的应用程序的新技术和工具。我们描述了跟踪程序路径并以各种粒度收集程序覆盖率数据的技术。我们还提出了新的算法,可根据自定义要求优化程序覆盖率检测。在所有这些方法中,我们的技术都集中在开销非常低的控制流跟踪上,并利用故障报告中容易获得的信息(例如堆栈跟踪)来避免冗余跟踪,并在必须跟踪数据时优先安排信息以进行维护由于严格的开销要求而受到限制。;本论文的第二部分定义了对部署后失败报告进行操作的分析技术。这些报告可能包含各种元素,但通常将不包含来自失败执行的运行时信息的完整跟踪。因此,我们的分析技术经过专门设计,可解决生产运行故障报告中包含的不完善信息(包括但不限于我们自己的跟踪技术)。我们的技术通过限制开发人员需要考虑的可能程序代码,并回答有关执行失败的用户控制流问题,来帮助开发人员完成调试后部署失败的艰巨任务。

著录项

  • 作者

    Ohmann, Peter.;

  • 作者单位

    The University of Wisconsin - Madison.;

  • 授予单位 The University of Wisconsin - Madison.;
  • 学科 Computer science.
  • 学位 Ph.D.
  • 年度 2017
  • 页码 215 p.
  • 总页数 215
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号