Download:
|
by Sebastian Danicic, Chris Fox, Mark Harman
In IEEE International Conference on Software Maintenance (ICSM'00
http://www.brunel.ac.uk/~csstrmh/papers/icsm2000.ps
Add To MetaCart
Abstract:
Conditioned slicing is a powerful generalisation of static and dynamic slicing which has applications to many problems in software maintenance and evolution, including re-use, reengineering and program comprehension. However, there has been relatively little work on the implementation of conditioned slicing. Algorithms for implementing conditioned slicing necessarily involve reasoning about the values of program predicates in certain sets of states derived from the conditioned slicing criterion, making implementation particularly demanding. This paper introduces ConSIT, a conditional slicing system which is based upon conventional static slicing, symbolic execution and theorem proving. ConSIT is the first fully automated implementation of conditioned slicing. An implementation of ConSIT is available for experimentation
Citations
|
1153
|
A Discipline of Programming
– Dijkstra
- 1976
|
|
908
|
Program slicing
– Weiser
- 1984
|
|
519
|
Interprocedural slicing using dependence graphs
– Horwitz, Reps, et al.
- 1990
|
|
356
|
Isabelle: A Generic Theorem Prover
– Paulson
- 1994
|
|
214
|
Dynamic program slicing
– Agrawal, Horgan
- 1990
|
|
161
|
Dynamic program slicing
– Korel, Laski
- 1988
|
|
138
|
Validity Checking for Combinations of Theories with Equality, M. Srivas and A. Camilleri (eds), Formal Methods
– Barrett, Dill, et al.
- 1996
|
|
129
|
Program slices: Formal, psychological, and practical investigations of an automatic program abstraction method
– Weiser
- 1979
|
|
88
|
An overview of program slicing
– Harman, Hierons
|
|
83
|
Automatic program bug location by program slicing
– Lyle, Weiser
- 1987
|
|
73
|
Conditioned program slicing
– Canfora, Cimitile, et al.
- 1998
|
|
57
|
Interprocedural dynamic slicing with applications to debugging and testing
– Kamkar
- 1993
|
|
42
|
The isabelle reference manual
– Paulson
|
|
41
|
Understanding function behaviours through program slicing
– Lucia, Fasolino, et al.
- 1996
|
|
38
|
Identifying reusable functions using specification driven program slicing: a case study
– Cimitile, Lucia, et al.
- 1995
|
|
29
|
A parallel algorithm for static program slicing
– Danicic, Harman, et al.
- 1995
|
|
28
|
A specification driven slicing process for identifying reusable functions. Software maintenance: Research and Practice
– Cimitile, Lucia, et al.
- 1996
|
|
27
|
Qualifying Reusable Functions Using Symbolic Execution
– Cimitile, Lucia, et al.
- 1995
|
|
25
|
Restructuring programs by tucking statements into functions
– Lakhotia, Deprez
- 1998
|
|
20
|
Evaluating the surgeon's assistant: Results of a pilot study
– Gallagher
- 1992
|
|
18
|
Computing amorphous program slices using dependence graphs and a data-flow model
– BINKLEY
- 1999
|
|
13
|
Analysis of dynamic memory access using amorphous slicing
– Harman, Sivagurunathan, et al.
- 1998
|
|
9
|
Decomposing legacy programs: a first step towards migrating to client-server platforms
– Canfora, Cimitile, et al.
- 1998
|
|
8
|
Bylands: reverse engineering safety-critical systems
– BENNETT, BULL, et al.
- 1995
|
|
7
|
An integrated environment for reuse reengineering C code
– Canfora, Lucia, et al.
- 1998
|
|
6
|
Espresso: A slicer generator
– Danicic, Harman
- 2000
|
|
3
|
Program simplification as a means of approximating undecidable propositions
– HARMAN, FOX, et al.
- 1999
|
|
1
|
Strategic principles in the design of Isabelle
– Paulson
- 1998
|