| A. Lakhotia and J.-C. Deprez. Restructuring programs by tucking statements into functions. Journal of Information and Software technology, 40(11-12):677--689, Nov. 1998. |
.... applied at higher levels of abstraction, where the goal is to restructure the program in some way [5] to partially evaluate it [11, 14] or to support activities typically associated with the later phases of the software development life cycle, such as maintenance [8, 25, 59] and re engineering [9, 34]. There are many systems which support transformation for these activities, sich as FermaT [58] and KIDS [53] For these problems the number of transformation steps may be very large (the maintainers assistant [59] for example, supports several hundred transformations) At each step many of ....
Lakhotia, A., and Deprez, J.-C. Restructuring programs by tucking statements into functions. In Information and Software Technology Special Issue on Program Slicing, M. Harman and K. Gallagher, Eds., vol. 40. Elsevier, 1998, pp. 677-689.
.... applied at higher levels of abstraction, where the goal is to restructure the program in some way [5] to partially evaluate it [tt, 14] or to support activities typically associated with the later phases of the software development life cycle, such as maintenance [8, 25, 59] and re engineering [9, 34]. There are many systems which support transformation for these activities, sich as FermaT [58] and KIDS [53] For these problems the number of transformation steps may be very large (the maintainers assistant [59] for example, supports several hundred transformations) At each step many of ....
LAKHOTIA, A., AND DEPREZ, J.-C. Restructuring programs by tucking statements into functions. In Information and Software Technology Special Issue on Program Slicing, M. Harman and K. Gallagher, Eds., vol. 40. Elsevier, 1998, pp. 677-689.
.... and (more recently) to algorithmic debugging [Shahmehri, 1991,Kamkar, 1993] Many other applications have also been investigated, for example, Cohesion Measurement [Bieman and Ott, 1994] Ott and Thuss, 1993] Lakhotia, 1993] Re engineering [Liu and Ellis, 1993] Simpson et al. 1993] [Lakhotia and Deprez, 1998] Component Re use [Beck and Eichmann, 1993] Cimitile et al. 1996] Program Comprehension [De Lucia et al. 1996] Harman and Danicic, 1997] Maintenance [Gallagher and Lyle, 1991] Testing [Hierons et al. 2002] Binkley, 1998] Binkley, 1997] Hierons et al. 1999] Gupta et ....
Lakhotia, A. and Deprez, J.-C. (1998). Restructuring programs by tucking statements into functions. In Harman, M. and Gallagher, K., editors, Information and Software Technology Special Issue on Program Slicing, volume 40, pages 677-689. Elsevier.
....p. Other applications of program slicing include software testing [9, 36, 42, 38, 43] program debugging [85, 70] measurement [75, 7, 73, 74] validation [63] program parallelization [86] program integration [44] reverse engineering and program comprehension [6, 29] program restructuring [52, 16, 21, 64, 51], and identification of reusable functions [17, 22, 65] In particular, the identification of an internal reusable function requires a different definition of slicing criterion that allows the algorithm to stop the computation of the slice whenever the searched function has been identified. ....
A. Lakhotia and J.C. Deprez, "Restructuring programs by tucking statements into functions", Information and Software Technology, vol. 40, no. 11/12, 1998, pp. 677-691.
....work. 2 Unifying Forward and Backward Conditioning Program slicing was introduced by Weiser [48] and since then has been developed as a tool for static [32] and dynamic analysis [35, 1] Slicing has been applied to many problems in software maintenance and evolution, such as re engineering [10, 36], testing and regression testing [5, 23, 27] decomposition, integration and modification [21, 20, 31] decompilation [12] program comprehension [15, 24, 25] and debugging [26, 37, 33] Slices are constructed according to a criterion known as the slicing criterion . Weiser s slicing criterion ....
LAKHOTIA, A., AND DEPREZ, J.-C. Restructuring programs by tucking statements into functions. In Information and Software Technology Special Issue on Program Slicing, M. Harman and K. Gallagher, Eds., vol. 40. Elsevier, 1998, pp. 677--689.
....to reverse engineering, such as program comprehension [8] software maintenance [3, 11] and testing [4, 13, 16] Tip [24] and Binkley and Gallagher [5] provide detailed surveys of slicing. Other dependence based analyses have been applied to reverse engineering, for example chopping [18] tucking [20] and the RECAST method [10] The theoretical framework presented in the present paper is defined for slicing, but could easily be extended to apply to these related dependence based analysis techniques. When constructing program slices, it is sometimes helpful to increase slice construction speed ....
LAKHOTIA, A., AND DEPREZ, J.-C. Restructuring programs by tucking statements into functions. In Information and Software Technology Special Issue on Program Slicing, M. Harman and K. Gallagher, Eds., vol. 40. Elsevier, 1998, pp. 677--689.
....manipulate statements within one block. His transformation rules include: Transitivity used for adding new variable to store intermediate result, Control used for moving an assignment statement into or out of conditional block, Substitution used to rename a local variable. Lakotia [11] presents a collection of evolutionary transformations defined on a procedural language without global variables. The language contains assignment statement, branch statement, and function call statement (function call cannot be used in expression) His Fold transformation is similar to our ....
Lakotia A., Deprez J-C. "Restructuring programs by tucking statements into functions", Information and Software Technology, 1998, 677-689
....maintains a projection of its semantics. Some applications of slicing are listed below: ffl cohesion measurement (Bieman and Ott, 1994; Ott and Thuss, 1993; Lakhotia, 1993) ffl algorithmic debugging (Shahmehri, 1991; Kamkar, 1993) ffl re engineering (Liu and Ellis, 1993; Simpson et al. 1993; Lakhotia and Deprez, 1998), ffl component re use (Beck and Eichmann, 1993; Cimitile et al. 1996) ffl automatic parallelisation (Weiser, 1983) ffl program comprehension (De Lucia et al. 1996; Harman and Danicic, 1997; Jackson and Rollins, 1994) ffl maintenance and debugging (Gallagher and Lyle, 1991; Lyle and ....
Lakhotia, A. and Deprez, J.-C. (to appear 1998). Restructuring programs by tucking statements into functions. In Harman, M. and Gallagher, K., editors, Journal of Information and Software Technology Special Issue on Program Slicing. Elsevier.
....ConSIT is available for experimentation at http: www.mcs.gold.ac.uk mas01sd consit.html. 1. Introduction Program slicing is a source level code extraction technique that has been extensively applied to many problems in software maintenance, including, debugging [19, 21, 24, 28] reengineering [7, 16, 23] and program comprehension [17, 18] Traditionally, slices have been constructed using either purely static or purely dynamic analysis techniques [1, 20, 22, 29] The traditional static slicing criterion consists of a pair, V; n) where V is a set of variables of interest and n is some point of ....
....into the variable a are positive. Conditioned slicing is of both theoretical and practical importance. It is theoretically important because it subsumes both static and dynamic slicing [5] It is practically important because of its application to problems in re use [7, 8, 9, 10] reengineering [7, 23] and program comprehension [5, 14, 18] refers to the exit node of the program. Currently, there is little work on the implementation of conditioned slicing. Existing proof of concept prototype conditioned slicers, such as that described in [5] are interactive. The human is used to answer ....
A. Lakhotia and J.-C. Deprez. Restructuring programs by tucking statements into functions. In M. Harman and K. Gallagher, editors, Information and Software Technology Special Issue on Program Slicing, volume 40, pages 677--689. Elsevier, 1998.
....some kind of restructuring tool, such as those described in [LV97, BG98] Step 3 involves deciding what the parameters to the procedure should be, which parameters should be passed by reference, and whether the procedure should return a value. These are straightforward issues (e.g. discussed in [LD98] Our interest is in step 2; in particular, we investigate the conditions under which it is possible to move a set of selected statements together so that they become extractable , and so that semantics are preserved. To illustrate that this is a non trivial problem, consider the following code ....
....constraints imposed by C (as de ned in Section 3.2) and 3. P 0 , the CFG obtained by replacing chain C with the chain C 0 in P then: P and P 0 are semantically equivalent. 7 Related Work Related work falls into two main categories: work related to procedure extraction (including [GN93, LD98, LV97, BG98] and work on semantics preserving transformations (including [BD77, LMW79, Ram88, PP96, Fea82, LV97, BG98, BDFH97, CLZ86, FOW87] GN93] describes a tool that supports a set of meaningpreserving transformations on Scheme programs, including one that extracts a given contiguous ....
[Article contains additional citation context not shown here]
A. Lakhotia and J-C. Deprez. Restructuring programs by tucking statements into functions. Information and Software Technology, 40(11{ 12):677-689, November 1998.
No context found.
A. Lakhotia and J.-C. Deprez. Restructuring programs by tucking statements into functions. Journal of Information and Software technology, 40(11-12):677--689, Nov. 1998.
....a single activity. This paper addresses the problem of automatically restructuring program of Figure 1 to the program of Figure 2. In an earlier paper we introduced formal definitions and algorithms for a transformation called tuck that aids in the type of restructuring being discussed [24]. Besides the program being restructured, the tuck transformation takes two inputs: a) a set of seed statements S and (b) a singleentry, single entry (SESE) region called the restructuring context. The tuck transformation (1) identifies the code affecting the computation at seed statements S ....
....Transformation: Fold. The fold transformation creates a function for a given set of statements and replaces the statements by a call to this function. The tuck transformations, and its sub transformations, provide the theoretical foundation for splitting functions into smaller functions [24]. The application of the tuck transformation requires identifying its two parameters: the seed statements and the SESE region forming the restructuring context. These parameters may either be identified by a programmer or may be identified automatically, or a combination of the two. Automatic ....
[Article contains additional citation context not shown here]
Arun Lakhotia and Jean-Christophe Deprez. Restructuring programs by tucking statements into functions. Journal of Information and Software technology, 40(11-12):677--689, November 1998.
....program point p is said to be the slicing criterion . The problem of computing slices of a program has received considerable attention over the last two decades because of its applicability in system generation, debugging, verifying requirements [32] program integration [13] restructuring [17, 22, 23], testing [10] program comprehension [6, 11] and reuse [5] The interest and significance of program slicing is further outlined by the existence of three survey papers [4, 16, 30] on the subject and a recent special issue [12] Program slicing algorithms may also be classified as follows [4, ....
A. Lakhotia and J.-C. Deprez. Restructuring programs by tucking statements into functions. Journal of Information and Software technology, 40(11-12):677--689, Nov. 1998.
....Darlington in the context of functional programming [6] and subsequently studied for logic programs [30] Griswold s extract function transformation extends it to structured single entry, single exit imperative programs. We have extended this transformation to arbitrary imperative programs [21]. Once a sequence of statements that can be folded has been identified, folding them into a function poses some other challenges. One must not only decide which variables would be parameters to the functions and which variables would be its local variables equivalent to determining which ....
....remains unchanged. When it is not feasible to split a region in such a way, the transformation leaves the region unchanged. The split and fold transformations provide a method for extracting interleaved computations [27] into separate functions without changing the external behavior of the system [21]. This transformation uses program slicing [31] to identify computations that are related. Transformation: Move. The move transformation moves a statement over the statements before or after it in the control flow, but within the same function. The move transformation is analogous to Griswold s ....
[Article contains additional citation context not shown here]
A. Lakhotia and J.-C. Deprez. Restructuring programs by tucking statements into functions. Journal of Information and Software technology, page to appear, 1999.
No context found.
A. Lakhotia and J.-C. Deprez, "Restructuring Programs by Tucking Statements Into Functions," Information and Software Technology Special Issue on Program Slicing, M. Harman and K. Gallagher, eds., vol. 40, pp. 677-689, 1998.
No context found.
LAKHOTIA, A., AND DEPREZ, J.-C. Restructuring programs by tucking statements into functions. In Information and Software Technology Special Issue on Program Slicing, M. Harman and K. Gallagher, Eds., vol. 40. Elsevier, 1998, pp. 677--689.
No context found.
Lakhotia, A. and J.-C. Deprez, Restructuring programs by tucking statements into functions, in: M. Harman and K. Gallagher, editors, Special Issue on Program Slicing, Information and Software Technology 40, Elsevier, 1998 pp. 677--689.
No context found.
Arun Lakhotia and Jean-Christophe Deprez. Restructuring programs by tucking statements into functions. Information and Software Technology, 40(11-12):677-690, 1998.
No context found.
A. Lakhotia and J. Deprez. Restructuring programs by tucking statements into functions. Inf. and Software Technology, 40(11--12):677--689, Nov. 1998.
No context found.
A. Lakhotia and J.-C. Deprez. Restructuring programs by tucking statements into functions. Information and Software Technology, 40(11--12):677--689, Nov. 1998.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC