| M. Weiser. Program slicing. IEEE Trans. Software Engineering (TSE), 10(4):352--357, July 1984. |
....Program slicing is a analysis and reverse engineering technique which reduces a program to those statements relevant for a particular computation. A particular computation is a reference to a variable v which is defined at a statement s. Since the invention of slicing techniques by Weiser [ Weiser, 1984 ] many variations of the idea were published. Weiser s method was named static slicing because he analyzes source code and collects all statements which possibly affect a value v at statement s. Furthermore, since Weiser s method computes all statements which affect a variable at a given ....
M. D. Weiser. Program slicing. IEEE Trans. on Software Engineering, 10(4):352--357, July 1984.
....transformed to intra method slicings. Keywords: Program dependence graph, object slicing, class slicing, partial slicing. 1 Introduction Program slic ing is an effective technique for narrowing the focus of attention to the relevant parts of a program. It was originally introduced by Weiser [12] . A program slice consists of those statements of a program that may directly or indirectly affect the values computed at a given program point. Program slic ing has been used in various software engineering activities such as program understanding, analyzing, testing, debugging, maintenance, ....
Mark Weiser. Program Slicing, IEEE Trans. Software Engineering 16(5), 498-509, 1984.
....efficient because most of the results can be reused, and inter subprogram slicing is transformed to intra subprogram slicing. 1. Introduction Program slicing is an effective technique for narrowing the focus of attention to the relevant parts of a program. It was originally introduced by Weiser [1]. The slice of a program consists of those statements of a program that may directly or indirectly affect the variables computed at a given program point. The program point s and the variable set V, denoted by s; V , are called a slicing criterion. Program slicing has been widely used in various ....
Weiser, M., Program Slicing, IEEE Trans. Software Engineering, Vol. 16, No. 5, 498-509, 1984.
....or DSAS, some extension of ADL with some features of Petri Net in order to enhance conceptual expressive power. We also presented the methodology for DSAS and its algorithm. Our Forward Dynamic Software Architecture Slicer is shown in a shaded cell along with the other related works in Table 1 [2] [3] 4] 5] 6] 7] The focus of this paper is dynamic software architecture slicing, namely, revealing the dynamic behavior of the architecture through the precise dependency among the set of components and connectors that are relevant to the particular variable value assignments and events as ....
M. Weiser. Program slicing. IEEE Trans. on Software Engineering, 10(4):352--357, July 1984.
....until these sets of all functions are steady going. Then add edge C, A and repeat the previous operations. 5 An Application: Program Slicing Program slic e is an effective technique for narrowing the focus of attention to the relevant parts of a program. It is originally introduced by Weiser [9] . A program slice consists of those statements of a program that may directly or indirectly affect the values computed at a given program point. Program slic ing has been used in various software engineering activities such as program understanding, testing, debugging, and maintenance ....
....to intra function dependence analysis. Based on this model, we develop an efficient method to analyze the dependences for direct and C c c A B D Fig. 4 A call graph indirect recursive Java function calls by simulating the execution of these calls. Compared with the previous methods [9,11] , our approach will avoid many repeats when analyzing recursive programs. Acknowledgements Thanks to Prof. Norris and Fenwick for their careful comments that greatly improved the content and the presentation of the paper. ....
M Weiser. Program Slicing, IEEE Trans. Software Engineering 16(5), 498-509, 1984.
....to acquire its value. Program slicing is a focusing technique based on dependence relationships that seems well suited to reverse engineering. Very roughly, a slice of a program is a skeleton obtained by deleting all statements that do not affect the value of a given variable at a given line [Wei84]. Slicing was originally devised for debugging, where its utility is easily seen: if the value of that variable at that line is wrong, the code that corrupted it (but not necessarily the bug [WL86] must be within the slice, which may be much smaller than the original program. The utility of ....
....not accurately) calculated from the PDG. To slice the program on some variable defined or used at a node, one simply walks back over the PDG, marking all the nodes on the way, and then deletes from the program text the statements corresponding to unmarked nodes [OO84] Weiser s original algorithm [Wei84, LR87] is more general, since it allows slicing on variables not used or defined at the given line, but also less efficient, since it recomputes the dependences for each new slice. With suitable elaborations (such as def order edges and true false labelling of control dependence edges) the PDG may be ....
[Article contains additional citation context not shown here]
Mark Weiser. Program slicing. IEEE Trans. on Software Engineering, SE-10(4), July 1984, pp. 352--357.
....labels which denote the functionality of each programming statement in the template slot of a plan frame. In Fig. 2, Init, MainLoop, Next, and :Guard are labels. Along with labels, GOES uses the information of variables which programmers usually use to group noncontiguous programming statements [19]. GOES extracts candidate plans using only labels and variables. To extract candidate plans more efficiently, introduced are the concepts of necessary and sufficient condition of a plan to the program. To satisfy the necessary condition to a program statement, the plan must have the same label as ....
M.D. Weiser. Program slicing. IEEE Trans. on Software Engineering, 10(4):352--357, 1984. 18
....signs. This paper describes the design and initial implementation of a tool for C programs that finds clones suitable for procedure extraction and displays them to the programmer. The novel aspect of the work is the use of program dependence graphs (PDGs) 9] and a variation on program slicing [19, 16] to find isomorphic subgraphs of the PDG that represent clones. The key benefits of a slicing based approach, compared with previous approaches to clone detection that were based on comparing text, control flow graphs, or abstract syntax trees, is that our tool can find non contiguous clones ....
M. Weiser. Program slicing. IEEE Trans. on Software Engineering, SE-10(4):352-- 357, July 1984. 18
....and provide an algorithm for it. The input to the program integration algorithm are three programs, A, B, and Base, where A and B are two variants of Base, and the output is program M that integrates A and B. The program dependence graph of M is created by taking the union of three program slices [24], representing the changed behavior of A and B with respect to Base, and the behavior of Base that is preserved in both A and B, respectively. Program integration is a structural method for software merging applicable under certian semantic restrictions (see [5] for details) While differing in ....
M. Weiser. Program slicing. IEEE Trans. Software Engineering, SE-10(4):352--357, 1984.
....such as reaching definitions or reachable uses. A framework for partial data flow analysis by Gupta and Soffa [7] yields search algorithms that are similar to our demand driven algorithm, but are limited to intraprocedural analysis. Def use pairs also play an important role in program slicing [21]. Interprocedural def use pairs are implicitly determined as part of an interprocedural program slice [21, 9] However, previous precise interprocedural algorithms [9] are not suitable for computing interprocedural def use pairs since their computation is not explicit but interleaved with the ....
....Soffa [7] yields search algorithms that are similar to our demand driven algorithm, but are limited to intraprocedural analysis. Def use pairs also play an important role in program slicing [21] Interprocedural def use pairs are implicitly determined as part of an interprocedural program slice [21, 9]. However, previous precise interprocedural algorithms [9] are not suitable for computing interprocedural def use pairs since their computation is not explicit but interleaved with the slice construction. Incremental data flow analysis [16, 13] addresses the problem of updating an existing ....
M. Weiser. Program slicing. IEEE Trans. on Software Engineering, SE-10(4):352--357, Jul. `84.
....6 27 = 0.22 WFC = 17 27 = 0.63 A = 11 2 6 3) 27 3) 0.49 SMC Cohesion : Figure 2: Data slice profile for Sum Max Avg. 3 Slice based Cohesion Measures A program slice is the portion of the program that might affect the value of a particular identifier at a specified point in the program [8]. In developing cohesion measures, slices can be used to represent the functional components of a module. 3.1 Functional Cohesion (FC) Measures Bieman and Ott developed cohesion measures that indicate the extent to which a module approaches the ideal of functional cohesion [2] They introduced ....
M. Weiser. Program slicing. IEEE Trans. Software Engineering, SE-10(4):352--357, 1984.
....of procedures with multiple outputs, we see how closely the program parts that contribute to different outputs are bound. Using this approach, procedures with only one output exhibit maximum functional cohesion. 2. 1 Program Slices Slicing is a method of program reduction introduced by Weiser [33, 34, 35]. A slice of a procedure at statement s with respect to variable v is the sequence of all statements and predicates that might affect the value of v at s. Slices were proposed as potential debugging tools and program understanding aids. They have since been used in a broader class of applications ....
....slices rather than dependence graphs. Slices promote a more intuitive analysis since they are based on program text. Our measurement theory approach requires that a measure be consistent with intuition, and including program text in our abstraction eases intuitive analyses. 2. 2 Data Slices In [35], Weiser defined several slice based measures. Longworth [19] first studied their use as indicators of cohesion. In [28, 31] certain inconsistencies noted by Longworth are eliminated through the use of metric slices. A metric slice takes into account both the uses and used by data relationships ....
M. D. Weiser. Program slicing. IEEE Trans. Software Engineering, 10(4):352--357, 1984.
....Examples are also given of how slicing can enhance understanding of formal compiler specifications and aid the creation of subset language specifications. 1 Introduction Program slices were originally introduced by Weiser as decompositions of programs based on data flow and control analysis[28]. We refer to this kind of slicing as traditional slicing to distinguish it from the more general variety described later. Figures 1 and 2 illustrate the idea behind traditional slicing using the first example from Weiser s paper; the code in Figure 2 is obtained from the code in Figure 1 by ....
....at line 12. The pair (Total,12) is called a slicing criterion for this slice. Many researchers have investigated program slicing based on Weiser s definition, primarily looking at the problem of generating the smallest possible slice for a given criterion. In general this problem cannot be solved[28], but various approachesresult in good approximations. Some techniques are based on data flow equations [28, 20, 19] while others use graph representations of the program [3, 15, 6, 8, 9, 2, 16] A survey is available elsewhere[24] Applications of program slicing are many and varied[24] inTo ....
[Article contains additional citation context not shown here]
Mark Weiser. Program slicing. IEEE Trans. on Software Engineering, SE-10(4):352--357, July 1984.
....analysis has been a useful tool to analyse programs. This technique sheds light on usage of data and variables throughout the program code, helps to access the impact of changes on data and variables, thus contributes to better understanding and maintaining of program codes [5] Program slicing [12] uses detailed information from the data flow analysis for restricting the behavior of a program to some specified subset of interest. In fact, it is easier to understand one functionality from the subset of program statements based on a specified variable than the whole program. Gallagher and ....
Weiser, M.: Program Slicing, IEEE Trans. Software Engineering, Vol. 10, No. 4, July 1984, pp. 452-357.
....Slicing for Large Systems Christoph Steindl 1 Abstract. A program slice consists of the parts of a program that (potentially) affect the values computed at some point of interest, referred to as a slicing criterion. Program slicing [Wei84] uses control flow and data flow information to visualise dependences and assist the programmer in debugging, program understanding, and program maintenance. We describe a program slicing tool for large systems which are built of modules. Two distinctive features of our Slicer are the support for ....
....many statements in the process of localising a bug. If a program computes an erroneous value of a variable x, only the statements in the slice with respect to x have (possibly) contributed to the computation of that value; all statements which are not in the slice can safely be ignored. Weiser [Wei84] originally defined a slice with respect to a program point p and a subset of the program variables V to consist of all statements in the program that may affect the values of the 1 Institut f r Praktische Informatik, Johannes Kepler Universit t Linz, Austria ....
Mark Weiser: Program Slicing. IEEE Trans. Software Engineering, vol. SE-10, no. 4, July 1984.
....localizing the effects of maintenance changes, and migrating to object oriented languages. What is needed is to isolate the separate strands of computation, understand them individually and then see how they interrelate. We are building analysis tools to do this. Traditional slicing techniques [25] are applicable to this problem but are not powerful enough to disentangle all forms of interleaving. They rely only on data and control flow; whereas our tools also use deeper knowledge of what plans are interleaved in the code. 1.1 Case Study Context Software must be understood at multiple ....
....computations as a way of improving run time efficiency. This particular kind of interleaving was also easily detected. In general, the detection and extraction of interleaved fragments is a hard problem. It is related to overlapping implementations [18] potpourri module detection [5] slicing [25, 15], cluster analysis [2, 10, 21] and objectivization (the extraction of candidate objects from non object oriented programs) 3, 6, 7] To the extent that the analysis can be based on program information only, the approach we have undertaken appears adequate. However, interleaved fragments are ....
M. Weiser. Program slicing. IEEE Trans. on Software Engineering, 10:352--357, 1984.
....Low cohesion modules are those that exhibit coincidental or temporal cohesion in Constantine and Yourdon s original classification. High cohesion modules are those exhibiting sequential and functional cohesion. 3 Program Slicing Slicing is a method of program reduction introduced by Weiser [24, 25, 26]. A slice of a module at statement s with respect to variable v is the set of all statements and predicates that might affect the value of v at s. Slices were proposed as potential debugging tools and program understanding aids. They have since been used in a broader class of applications (e.g. ....
M. D. Weiser. Program slicing. IEEE Trans. Software Engineering, 10(4):352--357, 1984.
....Slicing of Object Oriented Programs Christoph Steindl Department of Practical Computer Science (System Software) Johannes Kepler University Linz, Austria steindl ssw.uni linz.ac.at Abstract. We describe a program slicing tool for object oriented programs. Program slicing [Wei84] uses control flow and data flow information to visualise dependences and assist the programmer in debugging and in program understanding. Object oriented programs exploit features like dynamic binding which complicate interprocedural alias analysis. Two distinctive features of our Slicer are the ....
....nested procedures, recursion, dynamic binding due to type bound procedures (methods) and procedure variables (function pointers) and modules. Program slicing has many applications such as debugging, code understanding, program testing, software metrics, and automatic parallelisation. Weiser [Wei84] originally defined a slice with respect to a program point p and a subset of the program variables V to consist of all statements in the program that may affect the values of the variables in V at point p. He presented algorithms which use data flow analysis on control flow graphs to compute ....
Mark Weiser: Program Slicing. IEEE Trans. Software Engineering, vol. SE-10, no. 4, July 1984.
....debugging. 1. Introduction Program slicing is an effective technique for narrowing the focus of attention to the relevant parts of a program. The slice of a program consists of those statements and predicates that may directly or indirectly affect the variables computed at a given program point [21]. The program point s and the variable set V, denoted by s, V , is called a slicing criterion. The basic idea of program slicing is to remove irrelevant statements from source codes while preserving the semantics of the program such that at the specified point the variable produces the same ....
M. Weiser, Program Slicing, IEEE Trans. Software Engineering, 1984, 16(5): 498-509.
No context found.
M. Weiser. Program slicing. IEEE Trans. Software Engineering (TSE), 10(4):352--357, July 1984.
No context found.
M. Weiser. Program slicing. IEEE Trans. on Software Engineering, SE-10(4):352--357, July 1984.
No context found.
M. Weiser. Program slicing. IEEE Trans. on Software Engineering, 10(4):352--357, July 1984.
No context found.
M. Weiser. Program slicing. IEEE Trans. on Software Engineering, SE-10(4):352-- 357, July 1984.
No context found.
M. Weiser. Program slicing. IEEE Trans. on Software Engineering, 10:352--357, 1984.
No context found.
Program Synthesis. IEEE Trans. Software Engineering, SE-18#8#:674#704, 1992.
First 50 documents
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