Computing Dynamic Slices of Feature-Oriented Programs with Aspect-Oriented Extensions

This paper proposes a technique to compute dynamic slices of feature-oriented programs with aspectoriented extensions. The technique uses a dependence based intermediate program representation called composite feature-aspect dependence graph (CFADG) to represent feature-oriented software that contain aspects. The CFADG of a feature-oriented program is based on the selected features that are composed to form a software product and the selected aspects to be weaved. The proposed dynamic slicing technique has been named feature-aspect node-marking dynamic slicing (FANMDS) algorithm. The proposed feature-aspect node marking dynamic slicing algorithm is based on marking and unmarking the executed nodes in the CFADG suitably during run-time. The advantage of the proposed approach is that no trace file is used to store the execution history. Also, the approach does not create any additional nodes during run-time.

[1]  Thomas Leich,et al.  Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution , 2005, RAM-SE.

[2]  Thomas Leich,et al.  FeatureC++: on the symbiosis of feature-oriented and aspect-oriented programming , 2005, GPCE'05.

[3]  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..

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

[5]  Gunter Saake,et al.  Features as First-class Entities – Toward a Better Representation of Features , 2008 .

[6]  Rajib Mall,et al.  An efficient dynamic program slicing technique , 2002, Inf. Softw. Technol..

[7]  Jaiprakash T. Lallchandani,et al.  Integrated state-based dynamic slicing technique for UML models , 2010, IET Softw..

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

[9]  Rajib Mall,et al.  Fast Slicing of Concurrent Programs , 1999, HiPC.

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

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

[12]  Thomas Leich,et al.  FeatureIDE: An extensible framework for feature-oriented software development , 2014, Sci. Comput. Program..

[13]  Rajib Mall,et al.  An efficient method for computing dynamic program slices , 2002, Inf. Process. Lett..

[14]  Sebastian Günther,et al.  Feature-oriented programming with Ruby , 2009, FOSD '09.

[15]  Durga Prasad Mohapatra,et al.  A unique aspect-oriented program slicing technique , 2013, 2013 International Conference on Advances in Computing, Communications and Informatics (ICACCI).

[16]  Durga Prasad Mohapatra,et al.  An Approach for Computing Dynamic Slice of Concurrent Aspect-Oriented Programs , 2014, ArXiv.

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

[18]  Durga Prasad Mohapatra,et al.  Automated Slicing of Aspect-Oriented Programs Using Bytecode Analysis , 2015, 2015 IEEE 39th Annual Computer Software and Applications Conference.

[19]  Eduardo Figueiredo,et al.  A Systematic Literature Review of Software Product Line Management Tools , 2015, ICSR.

[20]  Ian Adams,et al.  FOP and AOP: Benefits, Pitfalls and Potential for Interaction , 2009 .

[21]  Rajib Mall,et al.  Distributed dynamic slicing of Java programs , 2006, J. Syst. Softw..

[22]  Durga Prasad Mohapatra,et al.  Context Sensitive Dynamic Slicing of Concurrent Aspect-Oriented Programs , 2014, 2014 21st Asia-Pacific Software Engineering Conference.

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

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

[25]  Rajib Mall,et al.  A parallel algorithm for static slicing of concurrent programs , 2004, Concurr. Pract. Exp..

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

[27]  Christian Prehofer,et al.  Feature-Oriented Programming: A Fresh Look at Objects , 1997, ECOOP.

[28]  Durga Prasad Mohapatra,et al.  A Novel Approach for Computing Dynamic Slices of Aspect-Oriented Programs , 2014, ArXiv.

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

[30]  Sebastian Günther,et al.  rbFeatures: Feature-oriented programming with Ruby , 2012, Sci. Comput. Program..

[31]  Jaiprakash T. Lallchandani,et al.  A Dynamic Slicing Technique for UML Architectural Models , 2011, IEEE Transactions on Software Engineering.

[32]  Philip Samuel,et al.  Slicing-based test case generation from UML activity diagrams , 2009, SOEN.

[33]  Jaiprakash T. Lallchandani,et al.  Computation of dynamic slices for object-oriented concurrent programs , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[34]  Thomas Leich,et al.  Aspectual Feature Modules , 2008, IEEE Transactions on Software Engineering.

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

[36]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

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

[38]  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).

[39]  Sven Apel,et al.  An Overview of Feature-Oriented Software Development , 2009, J. Object Technol..

[40]  Thomas Leich,et al.  FeatureC++: Feature-Oriented and Aspect-Oriented Programming in C++ , 2005 .

[41]  Jia Liu,et al.  Modeling Interactions in Feature Oriented Software Designs , 2005, FIW.

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

[43]  Don Batory,et al.  A Tutorial on Feature Oriented Programming and the AHEAD Tool Suite and the AHEAD Tool Suite , 2006 .

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

[45]  Durga Prasad Mohapatra,et al.  Dynamic Slicing of Feature-Oriented Programs , 2016 .

[46]  Bogdan Korel,et al.  Forward computation of dynamic program slices , 1994, ISSTA '94.