Automated bug isolation via program chipping

  • Authors:
  • Chad D. Sterling;Ronald A. Olsson

  • Affiliations:
  • Department of Computer Science, University of California, Davis, CA 95616-8562, U.S.A. and Hewlett-Packard Company, 16399 West Bernado Drive, Bldg. 61B, ms 61U-468, San Diego, CA 92127, U.S.A.;Department of Computer Science, University of California, Davis, CA 95616-8562, U.S.A.

  • Venue:
  • Software—Practice & Experience
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper introduces program chipping, a simple yet effectivetechnique to isolate bugs. This technique automatically removes orchips away parts of a program so that the part thatcontributes to some symptomatic output becomes more apparent to theuser. Program chipping is similar in spirit to traditional programslicing and debugging techniques, but chipping uses very simpletechniques based on the syntactic structure of the program. We havedeveloped a chipping tool for Java programs, called ChipperJ, andhave run it on a variety of small to large programs, including aJava compiler, looking for various symptoms. The results arepromising. The reduced program is generally about 20-35% of thesize of the original. ChipperJ takes less than an hour on largeprograms to perform this reduction; even if it took overnight, thatwould be reasonable if it saves the developer time. Copyright© 2006 John Wiley & Sons, Ltd.