CONSIT: a fully automated conditioned program slicer

  • Authors:
  • Chris Fox;Sebastian Danicic;Mark Harman;Robert M. Hierons

  • Affiliations:
  • Department of Computer Science, University of Essex, Wivenhoe Park, Colchester CO4 3SQ, U.K.;Department of Computing, Goldsmiths College, University of London, New Cross, London SE14 6NW, U.K.;Department of Information Systems and Computing, Brunel University, Uxbridge, Middlesex UB8 3PH, U.K.;Department of Information Systems and Computing, Brunel University, Uxbridge, Middlesex UB8 3PH, U.K.

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

Quantified Score

Hi-index 0.01

Visualization

Abstract

Conditioned slicing is a source code extraction technique. The extraction is performed with respect to a slicing criterion which contains a set of variables and conditions of interest. Conditioned slicing removes the parts of the original program which cannot affect the variables at the point of interest, when the conditions are satisfied. This produces a conditioned slice, which preserves the behaviour of the original with respect to the slicing criterion.Conditioned slicing has applications in source code comprehension, reuse, restructuring and testing. Unfortunately, implementation is not straightforward because the full exploitation of conditions requires the combination of symbolic execution, theorem proving and traditional static slicing. Hitherto, this difficultly has hindered development of fully automated conditioning slicing tools.This paper describes the first fully automated conditioned slicing system, CONSIT, detailing the theory that underlies it, its architecture and the way it combines symbolic execution, theorem proving and slicing technologies. The use of CONSIT is illustrated with respect to the applications of testing and comprehension.