Results 1 - 10
of
39
Amorphous Program Slicing
- Software Focus
, 1997
"... Traditional, syntax-preserving program slicing simpli es a program by deleting components (e.g., statements and predicates) that do not aect a computation of interest. Amorphous slicing removes the limitation to component deletion as the only means of simpli cation, while retaining the semantic p ..."
Abstract
-
Cited by 105 (51 self)
- Add to MetaCart
Traditional, syntax-preserving program slicing simpli es a program by deleting components (e.g., statements and predicates) that do not aect a computation of interest. Amorphous slicing removes the limitation to component deletion as the only means of simpli cation, while retaining the semantic property that a slice preserves the selected behaviour of interest from the original program. This leads to slices which are often considerably smaller than their syntax-preserving counterparts.
Using Program Slicing to Assist in the Detection of Equivalent Mutants
- Software Testing, Verification and Reliability
, 1999
"... While mutation testing has proved to be an effective way of finding software faults, currently it is only applied to relatively small programs. One of the main reasons for this is the human analysis required in detecting equivalent mutants. Here program slicing is used to simplify this problem. Prog ..."
Abstract
-
Cited by 58 (27 self)
- Add to MetaCart
While mutation testing has proved to be an effective way of finding software faults, currently it is only applied to relatively small programs. One of the main reasons for this is the human analysis required in detecting equivalent mutants. Here program slicing is used to simplify this problem. Program slicing is also used to reduce the number of equivalent mutants produced.
Program Slicing: Methods and Applications
, 2001
"... Program slicing is a viable method to restrict the focus of a task to specific sub-components of a program. Examples of applications include debugging, testing, program comprehension, restructuring, downsizing, and parallelization. This paper discusses different statement deletion based slicing meth ..."
Abstract
-
Cited by 37 (0 self)
- Add to MetaCart
Program slicing is a viable method to restrict the focus of a task to specific sub-components of a program. Examples of applications include debugging, testing, program comprehension, restructuring, downsizing, and parallelization. This paper discusses different statement deletion based slicing methods, together with algorithms and applications to software engineering.
A Parallel Algorithm for Static Program SLicing
- INFORMATION PROCESSING LETTERS
, 1995
"... Program Slicing is the process of deleting statements in a program that do not affect a given set of variables at a chosen point in the program. In this paper the first parallel slicing algorithm for static program slicing is introduced. It is shown how the control flow graph of the program to be sl ..."
Abstract
-
Cited by 28 (21 self)
- Add to MetaCart
Program Slicing is the process of deleting statements in a program that do not affect a given set of variables at a chosen point in the program. In this paper the first parallel slicing algorithm for static program slicing is introduced. It is shown how the control flow graph of the program to be sliced is converted into a network of concurrent processes, thereby producing a parallel version of Weiser's original static slicing algorithm. The parallel slicing algorithm is formally defined as the least solution (containing the slicing criterion) of a set of recursion equations, derived from the program's control flow graph and is proved correct with respect to Weiser's algorithm. The parallel slicing algorithm has a number of other interesting and potentially useful properties. For example, in addition to constructing a slice, it produces a set of equivalent slicing criteria for the slice it constructs.
Pre/Post Conditioned Slicing
, 2001
"... This paper shows how analysis of programs in terms of pre- and post- conditions can be improved using a generalisation of conditioned program slicing called pre/post conditioned slicing. Such conditions play an important role in program comprehension, reuse, verification and reengineering. Fully aut ..."
Abstract
-
Cited by 20 (12 self)
- Add to MetaCart
This paper shows how analysis of programs in terms of pre- and post- conditions can be improved using a generalisation of conditioned program slicing called pre/post conditioned slicing. Such conditions play an important role in program comprehension, reuse, verification and reengineering. Fully automated analysis is impossible because of the inherent undecidability of pre- and post- conditions. The method presented here reformulates the problem to circumvent this. The reformulation is constructed so that programs which respect the pre- and post-conditions applied to them have empty slices. For those which do not respect the conditions, the slice contains statements which could potentially break the conditions. This separates the automatable part of the analysis from the human analysis.
A New Algorithm for Slicing Unstructured Programs
, 1998
"... This paper introduces a modification of Agrawal's algorithm for slicing unstructured programs, which overcomes these difficulties. The new algorithm produces thinner slices than any previously published algorithm while respecting both the semantic and syntactic constraints of slicing. c fl1998 by Jo ..."
Abstract
-
Cited by 15 (7 self)
- Add to MetaCart
This paper introduces a modification of Agrawal's algorithm for slicing unstructured programs, which overcomes these difficulties. The new algorithm produces thinner slices than any previously published algorithm while respecting both the semantic and syntactic constraints of slicing. c fl1998 by John Wiley & Sons, Ltd.
Using the Unravel Program Slicing Tool to Evaluate High Integrity Software
- In Proceedings of 10th International Software Quality Week
, 1997
"... This paper describes a program slicing tool, unravel, that can assist in the evaluation of high integrity software by using program slices to extract a single computation from a program for examination and test. The tool, available through the National Institute of Standards and Technology, can cur ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
This paper describes a program slicing tool, unravel, that can assist in the evaluation of high integrity software by using program slices to extract a single computation from a program for examination and test. The tool, available through the National Institute of Standards and Technology, can currently be used to evaluate software written in ANSI C and is designed such that other languages can be added. I. INTRODUCTION High integrity software systems are often used in environments where a lack of response can cause an accident or result in severe financial loss due to an operational failure. Detecting a fault in the code is difficult and costly. This paper describes a program slicing tool, unravel, that can assist in the evaluation of high integrity software by using program slices to extract a single computation for examination and test. The tool, available through the National Institute of Standards and Technology[6], can currently be used to evaluate software written in ANSI C a...
GUSTT: An Amorphous Slicing System which Combines Slicing and Transformation
- In 1 st Workshop on Analysis, Slicing, and Transformation (AST 2001
, 2001
"... This paper presents a system for amorphous program slicing which combines slicing and transformation to achieve thinner slices than are possible using conventional syntax-preserving slicing. The approach involves the validation of the transformation and slicing steps using the Coq proof assistant, t ..."
Abstract
-
Cited by 10 (8 self)
- Add to MetaCart
This paper presents a system for amorphous program slicing which combines slicing and transformation to achieve thinner slices than are possible using conventional syntax-preserving slicing. The approach involves the validation of the transformation and slicing steps using the Coq proof assistant, thereby guaranteeing the correctness of the amorphous slices produced. The combined application of slicing and transformation is illustrated with a simple case study.
ConSUS: A Light-Weight Program Conditioner
, 2004
"... Program conditioning consists of identifying and removing a set of statements which cannot be executed when a condition of interest holds at some point in a program. It has been applied to problems in maintenance, testing, re--use and re-engineering. Program conditioning relies upon both symbolic ex ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
Program conditioning consists of identifying and removing a set of statements which cannot be executed when a condition of interest holds at some point in a program. It has been applied to problems in maintenance, testing, re--use and re-engineering. Program conditioning relies upon both symbolic execution and reasoning about symbolic predicates. Automation of the process therefore requires some form of automated theorem proving. However, the use of a full-power `heavyweight' theorem prover would impose unrealistic performance constraints. This paper
Building Executable Union Slices using Conditioned Slicing
, 2004
"... Program slicing can be used as a support for program comprehension, because it allows a large program to be divided up into smaller slices, each of which can be understood in isolation from the rest. As such, slicing facilitates the familiar approach of `divide and conquer'. ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
Program slicing can be used as a support for program comprehension, because it allows a large program to be divided up into smaller slices, each of which can be understood in isolation from the rest. As such, slicing facilitates the familiar approach of `divide and conquer'.

