Program slicing

  • Authors:
  • Mark Weiser

  • Affiliations:
  • -

  • Venue:
  • ICSE '81 Proceedings of the 5th international conference on Software engineering
  • Year:
  • 1981

Quantified Score

Hi-index 0.02

Visualization

Abstract

Program slicing is a method used by experienced computer programmers for abstracting from programs. Starting from a subset of a program's behavior, slicing reduces that program to a minimal form which still produces that behavior. The reduced program, called a “slice”, is an independent program guaranteed to faithfully represent the original program within the domain of the specified subset of behavior. Finding a slice is in general unsolvable. A dataflow algorithm is presented for approximating slices when the behavior subset is specified as the values of a set of variables at a statement. Experimental evidence is presented that these slices are used by programmers during debugging. Experience with two automatic slicing tools is summarized. New measures of program complexity are suggested based on the organization of a program's slices.