A Novel Approach for Computing Dynamic Slices of Aspect-Oriented Programs

We propose a dynamic slicing algorithm to compute the slices of aspect-oriented programs. We use a dependence based intermediate program representation called Aspect System Dependence Graph (AOSG) to represent aspect-oriented programs. Then, we propose the dynamic slicing algorithm for AOPs, which is an extended version of EMDS algorithm for object-oriented programs. Our algorithm is based on marking and unmarking of the edges of AOSG appropriately during runtime.

[1]  Martin Rinard,et al.  System Dependence Graph Construction for Aspect-Oriented Programs , 2003 .

[2]  Herbert Schildt Java 2: The Complete Reference, Fifth Edition , 2002 .

[3]  Mark David Weiser,et al.  Program slices: formal, psychological, and practical investigations of an automatic program abstraction method , 1979 .

[4]  João Luís Sobral,et al.  Reusable aspect-oriented implementations of concurrency patterns and mechanisms , 2006, AOSD.

[5]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[6]  Rajib Mall,et al.  Dynamic Slicing of Concurrent Programs , 2000, HiPC.

[7]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1988, SIGP.

[8]  G. Kiczales,et al.  Aspect-oriented programming and modular reasoning , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[9]  Joseph Robert Horgan,et al.  Dynamic program slicing , 1990, PLDI '90.

[10]  Rajib Mall,et al.  Dynamic Slicing of Aspect-Oriented Programs , 2008, Informatica.

[11]  Rajib Mall,et al.  Computation of intraprocedural dynamic program slices , 2003, Inf. Softw. Technol..

[12]  Durga Prasad Mohapatra,et al.  A Node-Marking Technique for Dynamic Slicing of Aspect-Oriented Programs , 2007, 10th International Conference on Information Technology (ICIT 2007).

[13]  Gregor Kiczales,et al.  RG: A Case-Study for Aspect-Oriented Programming , 1997 .

[14]  Deepak Kumar Das,et al.  Dynamic slicing of aspect oriented programs , 2007 .

[15]  Mary Jean Harrold,et al.  Slicing object-oriented software , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[16]  Baowen Xu,et al.  Dynamic slicing object-oriented programs for debugging , 2002, Proceedings. Second IEEE International Workshop on Source Code Analysis and Manipulation.

[17]  Mark Weiser,et al.  Programmers use slices when debugging , 1982, CACM.

[18]  Rajib Mall,et al.  An Overview of Slicing Techniques for Object-Oriented Programs , 2006, Informatica.

[19]  Jian-jun Zhao Dynamic slicing of object-oriented programs , 2009, Wuhan University Journal of Natural Sciences.

[20]  Mangala Gowri Nanda,et al.  Interprocedural slicing of multithreaded programs with applications to Java , 2006, TOPL.

[21]  Jianjun Zhao,et al.  Slicing aspect-oriented software , 2002, Proceedings 10th International Workshop on Program Comprehension.

[22]  Oege de Moor,et al.  Measuring the dynamic behaviour of AspectJ programs , 2004, OOPSLA.

[23]  Rajib Mall,et al.  An edge marking technique for dynamic slicing of object-oriented programs , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[24]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[25]  Rajib Mall,et al.  An efficient interprocedural dynamic slicing method , 2006, J. Syst. Softw..

[26]  Rajib Mall,et al.  Computing dynamic slices of concurrent object-oriented programs , 2005, Inf. Softw. Technol..

[27]  Herbert Schildt,et al.  Java 2: The Complete Reference , 1997 .

[28]  Timon D. ter Braak,et al.  Extending Program Slicing in Aspect-Oriented Programming with InterType Declarations , 2006 .

[29]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..