MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Hierons. Amorphous procedure extraction (2004) [3 citations — 1 self]

Download:
Download as a PDF | Download as a PS
by Mark Harman, David Binkley, Ranjit Singh, Robert M. Hierons
In SCAM
http://www.dcs.kcl.ac.uk/staff/mark/scam04r.ps
Add To MetaCart

Abstract:

The procedure extraction problem is concerned with the meaning preserving formation of a procedure from a (not necessarily contiguous) selected set of statements. Previous approaches to the problem have used dependence analysis to identify the non-selected statements which must be ‘promoted ’ (also selected) in order to preserve semantics. All previous approaches to the problem have been syntax preserving. This paper shows that by allowing transformation of the program’s syntax it is possible to extract both procedures and functions in an amorphous manner. That is, although the amorphous extraction process is meaning preserving it is not necessarily syntax preserving. The amorphous approach is advantageous in a variety of situations. These include when it is desirable to avoid promotion, when a value-returning function is to be extracted from a scattered set of assignments to a variable, and when side effects are present in the program from which the procedure is to be extracted. 1

Citations

1250 Object-oriented Software Construction – Meyer - 1988
973 Program slicing – Weiser - 1984
556 Interprocedural slicing using dependence graphs – Horwitz, Reps, et al. - 1990
485 A survey of program slicing techniques – Tip - 1995
225 Using Program Slicing in Software Maintenance – Gallagher, Lyle - 1991
99 Program Slicing – Binkley, Gallagher - 1996
90 Amorphous program slicing – Harman, Danicic - 1997
85 Object-Oriented Software Construction, Second Edition – Meyer - 1997
78 Specification and Transformation of Programs: A Formal Approach To Software Development – PARTSCH - 1990
61 A new model of program dependences for reverse engineering – Jackson, Rollins - 1994
51 Generalized partial computation – Futamura, Nogi - 1991
51 The Maintainer's Assistant – Ward, Calliss, et al. - 1989
49 The Practice of Programming – Kernighan, Pike - 1999
43 Proving Program Refinements and Transformations – Ward - 1989
39 A program integration algorithm that accommodates semantics-preserving transformations – Yang, Horwitz, et al. - 1992
34 Program slicing: Methods and applications – Lucia - 2001
32 Partial evaluation and mixed computation – Bjrner, Ershov, et al. - 1987
30 Assembler to C migration using the FermaT transformation system – Ward - 1999
26 Restructuring programs by tucking statements into functions – Lakhotia, Deprez - 1998
24 A survey of empirical results on program slicing – Binkley, Harman - 2004
24 Evaluating context-sensitive slicing and chopping – Krinke - 2002
22 Testability transformation – Harman, Hu, et al. - 2004
20 Evolutionary testing in the presence of loop-assigned flags: A testability transformation approach – Baresel, Binkley, et al. - 2004
19 Semantics-preserving procedure extraction – Komondoor, Horwitz - 2000
19 Effective, Automatic Procedure Extraction – Komondoor, Horwitz - 2003
11 An empirical investigation of the influence of a type of side effects on program comprehension – Dolado, Harman, et al. - 2003
9 Syntax-directed amorphous slicing – Harman, Hu, et al. - 2004
7 Recommended C Style and Coding Standards – Cannon - 1989
6 SYMBAD: A symbolic executor of sequential Ada programs – Coen-Porisini, Paoli - 1990
4 Mechanical tool support for high integrity software development – Mehlich, Baxter - 1997
4 Learning to program – THOMAS - 1989
3 A programming style for java – HAAHR - 1999
1 A survey ofempirical results on program slicing. Advances in Computers 62 – BINKLEY, HARMAN - 2004
1 A programming style for java, Oct.1999. http://www.webcom.com/~haahr/essays/javastyle/. [12 – HAAHR
1 Syntax-directed amorphousslicing – HARMAN, HU, et al.
1 A new modelof program dependences for reverse engineering – JACKSON, ROLLINS - 1994
1 Evaluating context-sensitive slicingand chopping – KRINKE - 1998