Low-overhead bug fingerprinting for fast debugging

  • Authors:
  • Cristian Zamfir;George Candea

  • Affiliations:
  • School of Computer and Communication Sciences, École Polytechnique Fédérale de Lausanne, Switzerland;School of Computer and Communication Sciences, École Polytechnique Fédérale de Lausanne, Switzerland

  • Venue:
  • RV'10 Proceedings of the First international conference on Runtime verification
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

There is a gap between the information available at the time of a software failure and the information actually shipped to developers in the corresponding bug report. As a result, identifying the cause of the bug based on this bug report is often difficult. To close this gap, we propose bug fingerprints--an augmentation of classic automated bug reports with runtime information about how the reported bug occurred in production. Classic automated bug reporting systems contain at most a coredump that describes the final manifestation of a bug. In contrast, bug fingerprints contain additional small amounts of highly relevant runtime information that helps understand how the bug occurred. We show how these "fingerprints" can be used to speed up both manual and automated debugging. As a proof of concept, we present DCop, a system for collecting such runtime information about deadlocks and including it in the corresponding bug reports. The runtime overhead introduced by DCop is negligible (less than 0.17% for the Apache Web server), so it is suitable for use in production.