WATCHER: in-situ failure diagnosis

Abstract

Diagnosing software failures is important but notoriously challenging. Existing work either requires extensive manual effort, imposing a serious privacy concern (for in-production systems), or cannot report sufficient information for bug fixes. This paper presents a novel diagnosis system, named WATCHER, that can pinpoint root causes of program failures within the failing process ("in-situ"), eliminating the privacy concern. It combines identical record-and-replay, binary analysis, dynamic analysis, and hardware support together to perform the diagnosis without human involvement. It further proposes two optimizations to reduce the diagnosis time and diagnose failures with control flow hijacks. WATCHER can be easily deployed, without requiring custom hardware or operating system, program modification, or recompilation. We evaluate WATCHER with 24 program failures in real-world deployed software, including large-scale applications, such as Memcached, SQLite, and OpenJPEG. Experimental results show that WATCHER can accurately identify the root causes in only a few seconds.

Document Details

Document Type
Pub Defense Publication
Publication Date
Nov 13, 2020
Source ID
10.1145/3428211

Entities

People

  • Hongyu Liu
  • J. Huang
  • Sam Silvestro
  • Tongping Liu
  • Xiangyu Zhang

Organizations

  • Intelligence Advanced Research Projects Activity
  • National Science Foundation
  • Office of Naval Research
  • Purdue University
  • Sandia National Laboratories
  • University of Illinois Urbana–Champaign
  • University of Massachusetts Amherst
  • University of Texas at San Antonio

Tags

Fields of Study

  • Computer science

Readers

  • Database Systems and Applications
  • Educational Psychology
  • Software Engineering