His method used a Control Flow Graph CFG as varying number of processes are some of the reasons for this the intermediate representation of the program, and was difficulty.
Different types of dynamic program slices, together based on iteratively solving data-flow equations representing with algorithms to compute them have been proposed in the inter-statement influences. This algorithm did not handle literature. Most of the existing algorithms for finding slices of programs having multiple procedures. Korel and Laski ex- distributed programs use trace files and are not efficient in terms of time and space complexity.
Their method computes dynamic slices are asked for, resulting in high response time. This paper pro- by solving the associated dataflow equations. The method of poses an efficient algorithm for distributed programs. It uses Korel and Laski [8] needs O N space to store the execution control dependence graph as an intermediate representation history, and O N2 space to store the dynamic flow data, and generates the dynamic slices with fast response time.
Larson and Har- Keywords: Program slicing; Dynamic slice; Program dependence rold were the first to consider object orientation aspects in graph; Debugging; Distributed programming; message passing. They introduced the class dependence graph which can represent a class hierarchy, data members, inher- I. They have constructed the system Program slicing is a well known decomposition technique dependence graph SDG using the class dependence graphs for extracting the statements of a program related to a partic- to satisfactorily represent object oriented programs.
Larson ular computation. A slice of a program P can be constructed and Harrold have reported only a static slicing technique for with respect to a slicing criterion.
The Huynh, Wang et al. There are two types of slic- oriented programs. Mohapatra et al. A static slice of a program P with respect to a i. They have extended the gram P that might affect the slicing criterion for every possi- basic techniques of the edge marking dynamic slicing algo- ble inputs to the program. In contrast, a dynamic slice con- rithm of Mund et al.
Mund et al. They propose an intraprocedural dynamic Nowadays most of the application programs are distributed slicing algorithm, and subsequently extend it to handle inter- in nature and run on different machines connected to a net- procedural calls.
The interprocedural dynamic slicing algo- work. The emergence of message passing standards, such as rithm uses a collection of control dependence graphs one for MPI, and the commercial success of high speed networks each procedure as the intermediate program representation, have contributed to making message passing programming and computes precise dynamic slices.
The proposed interpro- common place. Development of real life distributed pro- cedural dynamic slicing algorithm is more efficient than the grams presents formidable challenge to the programmer so existing dynamic slicing algorithms with faster response as to the debugging and testing process.
We use the basic concepts of Mund et al. The next section describes our proposed algorithm. The working of the proposed algorithm is described in the subse- d ActiveDataSlice var quent section.
The next section concludes the paper. Let var be a variable in a program P. Let u be a Def var II. Consider an actu- a Control Dependence Graph al run of the program with a given set of input values. After each s U UseVarSet s. After each execution ActiveDataSlice vark U ActiveControlSlice t , where t is the of the node s in the actual run of the program, the dynamic most recently executed successor node of s in GP. Before ed system e. Consider an sions.
In case of communication between statements the slicer actual run of the program with a given set of input values. At computes the ActiveConcurrentSlice for the sender and sends an instance of the actual execution of the program, let uactive it to the slicer at the receiver end.
This ActiveConcurrentSlice represent the active call node. During execution of the program the top element of the stack always …. Before execution of each call node, the ActiveCallSlice corresponding to the execution of …..
Let f be a where t is most recently executed successor node of Uactive formal parameter of the procedure P1 and its corresponding For Machine B actual parameter at the calling node x be a.
Do the following before each execution of the program. Update DyanSlice machineno, u, var. For each variable var of the program P do 8. Exit when execution of the program P terminates. Run the program P with the given set of input values, and main main main main repeat steps 4, 5, 6 and 7 until the program terminates. Do the following before execution of each call statement u. Let u be a call statement to a procedure Q. Update ActiveReturnSlice. Dynamic slices are usually smaller than static slices and are more useful in interactive applications such as program debugging and testing.
The understanding and debugging of multithreaded and distributed programs are much harder compared to those of sequential programs. The nondeterministic nature of multithreaded programs, the lack of global states, unsynchronized interactions among processes, multiple threads of control and a dynamically varying number of processes are some of the reasons for this difficulty.
Different types of dynamic program slices, together with algorithms to compute them have been proposed in the literature. Most of the existing algorithms for finding slices of distributed programs use trace files and are not efficient in terms of time and space complexity. Some existing algorithms use a dependency graph and traverse the graph when the slices are asked for, resulting in high response time.
This paper proposes an efficient algorithm for distributed programs. It uses control dependence graph as an intermediate representation and generates the dynamic slices with fast response time. Unable to display preview. Download preview PDF. Skip to main content. This service is more advanced with JavaScript available. Advertisement Hide.
Slicing of Programs Dynamically under Distributed Environment. Conference paper.
0コメント