An empirical study of reported bugs in server software with implications for automated bug diagnosis

Swarup Kumar Sahoo, John Criswell, Vikram Adve

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Reproducing bug symptoms is a prerequisite for performing automatic bug diagnosis. Do bugs have characteristics that ease or hinder automatic bug diagnosis? In this paper, we conduct a thorough empirical study of several key characteristics of bugs that affect reproducibility at the production site. We examine randomly selected bug reports of six server applications and consider their implications on automatic bug diagnosis tools. Our results are promising. From the study, we find that nearly 82% of bug symptoms can be reproduced deterministically by re-running with the same set of inputs at the production site. We further find that very few input requests are needed to reproduce most failures; in fact, just one input request after session establishment suffices to reproduce the failure in nearly 77% of the cases. We describe the implications of the results on reproducing software failures and designing automated diagnosis tools for production runs.

Original languageEnglish (US)
Title of host publicationICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering
Pages485-494
Number of pages10
DOIs
StatePublished - 2010
Event32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010 - Cape Town, South Africa
Duration: May 1 2010May 8 2010

Publication series

NameProceedings - International Conference on Software Engineering
Volume1
ISSN (Print)0270-5257

Other

Other32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010
Country/TerritorySouth Africa
CityCape Town
Period5/1/105/8/10

Keywords

  • bug characteristics
  • bug reports
  • network servers
  • testing

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'An empirical study of reported bugs in server software with implications for automated bug diagnosis'. Together they form a unique fingerprint.

Cite this