## GUSTT: An Amorphous Slicing System which Combines Slicing and Transformation (2001)

Venue: | In 1 st Workshop on Analysis, Slicing, and Transformation (AST 2001 |

Citations: | 11 - 8 self |

### BibTeX

@INPROCEEDINGS{Harman01gustt:an,

author = {Mark Harman and Malcolm Munro and Lin Hu and Xingyuan Zhang},

title = {GUSTT: An Amorphous Slicing System which Combines Slicing and Transformation},

booktitle = {In 1 st Workshop on Analysis, Slicing, and Transformation (AST 2001},

year = {2001},

pages = {271--280},

publisher = {IEEE Computer Society Press}

}

### OpenURL

### Abstract

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.

### Citations

725 | Interprocedural Slicing Using Dependence Graphs
- Horwitz, Reps, et al.
- 1990
(Show Context)
Citation Context ...ormation and slicing, make this bug even more evident. Slicing (conventionally) program P 1 on the variablesevendifference, a conventional slice S 0 is computed. Traditional syntax-preserving slicing =-=[17, 28, 32]-=- does not exploit the fact that if(0) can never execute the then branch (line 9 and 10 in Figure 8). However, Tip [27] and Ernst [12] show how compiler optimization techniques can be used to transform... |

489 |
The Calculus of Constructions
- Coquand, Huet
- 1988
(Show Context)
Citation Context ...oblem. Underlying all the central phases of the amorphous slicer is the approach to correctness assurance. In the GUSTT system this is a partly automated formal proof process. The Coq proof assistant =-=[9, 25, 7, 8]-=- is used to express and check proofs of correctness for the slicing and transformation components of the system. Work is underway to extend the application of Coq to the pre-processing phases of the s... |

319 | Natural Semantics
- Kahn
- 1988
(Show Context)
Citation Context ... the proof assistant Coq [9, 25, 7, 8] plays is to verify the correctness of slicing and transformation steps. The semantics of the programming language is formalized in the style of natural semantics=-=[18-=-]. The semantics of statements is dened as an inductive relation =) , where for program state s 1 ; s 2 and statement st, s 1 st =) s 2 means the execution of st starting in state s 1 will end is stat... |

123 | Amorphous Program Slicing
- Harman, Binkley, et al.
- 2003
(Show Context)
Citation Context ...semantics of the program for some projection (onto the variable of interest) of the original semantics. When slicing and transformation are combined, the result is amorphous slicing. Amorphous slices =-=[4, 1-=-4] are constructed using any program transformation which simplies the program and which preserves the eect of the program with respect to the slicing criterion. This syntactic freedom allows amorphou... |

57 | Alma-0: An imperative language that supports declarative programming
- Apt, Brunekreef, et al.
- 1998
(Show Context)
Citation Context ... a version of the program written in a form which is essentially `functional with sequencing'. This eases further transformation, as transformation rules are easier to dene for a functional language [=-=1, 11, 19, 24-=-]. The central amorphous slicing system is dened for such a `functional language with sequencing', using a subset of the C language which closely resembles WSL [6, 30]. The pre-processing phase can be... |

56 |
A system which automatically improves programs, Acta Informatica
- Burstall, Darlington
- 1976
(Show Context)
Citation Context ... a version of the program written in a form which is essentially `functional with sequencing'. This eases further transformation, as transformation rules are easier to dene for a functional language [=-=1, 11, 19, 24-=-]. The central amorphous slicing system is dened for such a `functional language with sequencing', using a subset of the C language which closely resembles WSL [6, 30]. The pre-processing phase can be... |

55 | Using program slicing to simplify testing
- Harman, Danicic
- 1995
(Show Context)
Citation Context ...partially automated assistance to criterion selection. 2. Domain Specic Transformation component Initial work on domain specic transformation rule sets considered problems in robustness veri cation [5=-=, 13]-=- and dynamic memory modelling [16]. Further work is required to develop additional targeted transformation rules sets. 3. Empirical evaluation of amorphous slicing The theory and applications of amorp... |

24 |
An empirical study of amorphous slicing as a program comprehension support tool
- Binkley, Harman, et al.
- 2000
(Show Context)
Citation Context ...semantics of the program for some projection (onto the variable of interest) of the original semantics. When slicing and transformation are combined, the result is amorphous slicing. Amorphous slices =-=[4, 1-=-4] are constructed using any program transformation which simplies the program and which preserves the eect of the program with respect to the slicing criterion. This syntactic freedom allows amorphou... |

23 |
The Coq Proof Assistant Reference Manual Version 5.10
- Cornes, Courant, et al.
- 1995
(Show Context)
Citation Context ...oblem. Underlying all the central phases of the amorphous slicer is the approach to correctness assurance. In the GUSTT system this is a partly automated formal proof process. The Coq proof assistant =-=[9, 25, 7, 8]-=- is used to express and check proofs of correctness for the slicing and transformation components of the system. Work is underway to extend the application of Coq to the pre-processing phases of the s... |

18 |
Computing amorphous program slices using dependence graphs and a data-flow model
- Binkley
- 1999
(Show Context)
Citation Context ...partially automated assistance to criterion selection. 2. Domain Specic Transformation component Initial work on domain specic transformation rule sets considered problems in robustness veri cation [5=-=, 13]-=- and dynamic memory modelling [16]. Further work is required to develop additional targeted transformation rules sets. 3. Empirical evaluation of amorphous slicing The theory and applications of amorp... |

17 | X.: Side-Effect Removal Transformation
- Harman, Hu, et al.
- 2001
(Show Context)
Citation Context ...hniques such as slicing, program transformation and other program analysis techniques can bene t from SERT. It is one of the enabling steps in GUSTT as well. SERT is achieved using the Linsert system =-=[15-=-]. Linsert uses a very simple symbolic executor to determine a side-eect free version of the expression. Since only expression operators, sequence points and conditionals are involved, the AST of an e... |

13 | Do Program Transformations Help Reverse Engineering
- Bennett
- 1998
(Show Context)
Citation Context ...lity test operator == in testing asag variable evenflag which is used to denote the outcome of testing whether or not a particular element of the array is even or not. It has been previously observed =-=[3-=-] that transformation has a tendency to highlight bugs in programs,sbecause the transformation is meaning preserving and yet it renders the program in a dierent syntax. This worked example shows how t... |

11 | Analysis of dynamic memory access using amorphous slicing
- HARMAN, SIVAGURUNATHAN, et al.
- 1998
(Show Context)
Citation Context ...ion rules for domain specic problems. Domain Specic Transformation (DST) exploits knowledge of the application domain in order to improve the chances of achieving slice size reduction. Earlier work [16] has shown considerable improvement in simplication by DST. The DST component is essentially an opportunistic phase of the approach. Dierent applications will require dierent `transformation rule s... |

8 | Bylands: reverse engineering safety-critical systems
- Bennett, Bull, et al.
- 1995
(Show Context)
Citation Context ...de effects, while the dependence reduction transformation tactic reduces the inter-dependence between statements. The former may be useful as an enabling step to other transformation-based approaches =-=[2, 6, 23, 29]-=-, while the latter may be useful in work on transformation-based automatic parallelization [21, 22, 26, 33]. The rest of the paper is organised as follows: Section 2 introduces the architecture of the... |

7 |
Software maintenance by program transformation in a wide spectrum language
- Bull
- 1994
(Show Context)
Citation Context ...de effects, while the dependence reduction transformation tactic reduces the inter-dependence between statements. The former may be useful as an enabling step to other transformation-based approaches =-=[2, 6, 23, 29]-=-, while the latter may be useful in work on transformation-based automatic parallelization [21, 22, 26, 33]. The rest of the paper is organised as follows: Section 2 introduces the architecture of the... |

7 |
Inductively de types (preliminary version
- Coquand, Paulin
- 1990
(Show Context)
Citation Context ...oblem. Underlying all the central phases of the amorphous slicer is the approach to correctness assurance. In the GUSTT system this is a partly automated formal proof process. The Coq proof assistant =-=[9, 25, 7, 8]-=- is used to express and check proofs of correctness for the slicing and transformation components of the system. Work is underway to extend the application of Coq to the pre-processing phases of the s... |

5 |
Espresso: A slicer generator
- Danicic, Harman
- 2000
(Show Context)
Citation Context ...r contains three subcomponents. The three components are iteratively applied until no further reduction in amorphous slice size is possible. Thesrst component is a traditional syntaxpreserving slicer =-=[10]-=-. The second component of the GUSTT system, the DRT tactic, consists of a set of transformations aimed at reducing statement inter-dependence. This phase of the amorphous slicing engine is `general pu... |

5 |
Practical static slicing of optimised code
- Ernst
- 1994
(Show Context)
Citation Context ...-preserving counterparts. Often they are considerably smaller. The idea of improving slicing using transformations on an underlying intermediate representation wassrst suggested by Tip [27] and Ernst =-=[12]-=-. The idea of using these transformations to produce amorphous slices was suggested by Harman and Danicic [14]. Amorphous slicing can be thought of as a generalization of slicing: the semantic require... |