z-logo
Premium
Using program slicing to simplify testing
Author(s) -
Harman Mark,
Danicic Sebastian
Publication year - 1995
Publication title -
software testing, verification and reliability
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.216
H-Index - 49
eISSN - 1099-1689
pISSN - 0960-0833
DOI - 10.1002/stvr.4370050303
Subject(s) - program slicing , slicing , computer science , computation , undecidable problem , rendering (computer graphics) , program transformation , program analysis , set (abstract data type) , variable (mathematics) , theory of computation , programming language , algorithm , theoretical computer science , decidability , mathematics , artificial intelligence , mathematical analysis , world wide web
Program slicing is a technique for automatically identifying the statements of a program which affect a selected subset of its variables. A large program can be divided into a number of smaller program (its slices), each constructed for different variable subsets. The slices are typically simpler than the original program, thereby simplifying the process of testing a property of the program which only concerns the corresponding subset of its variables. However, some aspects of a program's computation are not captured by a set of variables, rendering slicing inapplicable. To overcome this difficulty a program can be rewritten in a self‐checking form by the addition of assignment statements to denote these ‘implicit’ computations. Initially this makes the program longer. However, slicing can now be applied to the introspective program, forming a slice concerned solely with the implicit computation. The simplification power of slicing is then improved using program transformation. To illustrate this approach, the implicit computation which dictates whether or not a program is robust is taken as an example. Whether or not a program is robust is not generally decidable making the approach described here particularly appealing because the slices constructed are approximate answers to the undecidable question ‘Is the program p robust?’.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here