An Empirical Study of Amorphous Slicing as a Program Comprehension Support Tool

  • Authors:
  • David Binkley;L. Ross Raszewski;Christopher Smith;Mark Harman

  • Affiliations:
  • -;-;-;-

  • Venue:
  • IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Amorphous program slicing relaxes the syntactic constraint of traditional slicing and can therefore produce considerably smaller slices. This simplification power can be used to answer questions a software engineer might have about a program by first augmenting the program to make the question explicit and then slicing out an answer. One benefit of this technique is that the answer is in the form of a program and thus, in a language that the software engineer understands well.To test the usefulness of amorphous slicing in answering such questions, the question of array access safety is considered. A safety slice, an amorphous slice of an augmented program, is used to guide a software engineer to potential array bound violations.A series of experiments was conducted to determine whether the safety slice was an effective aid to an engineer. Seventy-six subjects participated in the controlled experiments. For experiments involving novice programmers, the null hypothesis could not be rejected, and so it was not possible to conclude that amorphous slicing assisted such programmers. However, for more experienced groups, the experimental subjects (who were able to consult amorphous slices) significantly outperformed the control group. The study lends empirical support to the assertion that amorphous slicing assists program comprehension.