Computation of dynamic slices of aspect oriented programs

Sahu, Madhusmita (2007) Computation of dynamic slices of aspect oriented programs. MTech thesis.



This thesis presents our work concerning computation of dynamic slicing of aspect oriented programs. Program slicing is a decomposition technique which extracts program elements related to a particular computation from a program. A program slice consists of those parts of a program that may directly or indirectly affect the values computed at some program point of interest, referred to as a slicing criterion. A program slice an be static or dynamic. Static slice contains all the statements that may affect the slicing criterion for every possible inputs to the program. Dynamic slice contains only those statements that actually affect the slicing criterion for a particular input to the program. Aspect-Oriented Programming is a new programming technique proposed for cleanly modularizing the cross- cutting structure of concerns. An aspect is an area of concern that cuts across the structure of a program. The main idea behind Aspect-Oriented Programming (AOP) is to allow a program to be constructed by describing each concern separately. Aspect J is an aspect-oriented extension to the Java programming language. Aspect J adds new concepts and associated constructs called join points, point cuts, advices, introductions, aspects to Java. We first store the statements executed for a particular execution in an execution trace le. Next, we develop a dependence-based representation alled Dynamic Aspect-Oriented Dependence Graph (DADG) as the intermediate program representation. The DADG is an arc-classied digraph which represents various dynamic dependences between the statements of an aspect-oriented program for a particular execution. Then, we present an efficient dynamic slicing technique for aspect-oriented programs using DADG. Taking any vertex as the starting point, our algorithm performs a graph traversal on the DADG using breadth-first graph traversal or depth-first graph traversal. Then, the traversed vertices are mapped to the original program to compute the dynamic slices. We have shown that our proposed algorithm efficiently calculates dynamic slices. The space complexity of the algorithm is O(S). The run-time complexity of the algorithm is O(S 2 ). We have also shown that our dynamic slicing algorithm computes correct dynamic slices.

Item Type:Thesis (MTech)
Uncontrolled Keywords:Dynamic slices, AOP, DADG
Subjects:Engineering and Technology > Computer and Information Science
Divisions: Engineering and Technology > Department of Computer Science
ID Code:4370
Deposited By:Hemanta Biswal
Deposited On:12 Jul 2012 11:58
Last Modified:12 Jul 2012 11:58
Supervisor(s):Mohapatra, D P

Repository Staff Only: item control page