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

Madhusmita Sahu, Durga Prasad Mohapatra

Abstract


This paper proposes a technique to compute dynamic slices of feature-oriented programs with aspect-oriented 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 le is used to store the execution history. Also, the approach does not create any additional nodes during run-time.


Full Text:

PDF

References


Christian Prehofer (1997) Feature-Oriented Programming: A Fresh Look at Objects, Proceedings of 11th European Conference on Object-Oriented Programming (ECOOP), Springer, Berlin, Heidelberg, pp. 419–443. https://doi.org/10. 1007/bfb0053389

Don Batory (2006) A Tutorial on Feature–Oriented Programming and the AHEAD Tool Suite, Proceedings of the 2005 International Conference on Generative and Transformational Techniques in Software Engineering (GTTSE’05), Springer–Verlag, Berlin, Heidelberg, pp. 3–35. https://doi.org/10. 1007/11877028_1

Sven Apel and Thomas Leich and Marko Rosenmuller and Gunter Saake (2005) FeatureC++: Feature-Oriented and Aspect-Oriented Programming in C++, Tech. rep., Department of Computer Science, Otto-von-Guericke University, Magdeburg, Germany.

Sven Apel and Thomas Leich and Marko Rosenmuller and Gunter Saake (2005) FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE’05), Springer, pp. 125–140. https://doi.org/10.1007/11561347_10

Sven Apel and Thomas Leich and Marko Rosenmuller and Gunter Saake (2005) Combining Feature- Oriented and Aspect-Oriented Programming to Support Software Evolution, Proceedings of the 2nd ECOOP Workshop on Reflection, AOP and Meta- Data for Software Evolution (RAM-SE), School of Computer Science, University of Magdeburg, July, pp. 3–16.

Thomas Thum and Christian Kastner and Fabian Benduhn and Jens Meinicke and Gunter Saake and Thomas Leich (2014) FeatureIDE: An extensible framework for feature-oriented software development, Science of Computer Programming, 79, pp. 70–85. https://doi.org/10.1016/ j.scico.2012.06.002

Sven Apel and Christian Kastner (2009) An Overview of Feature-Oriented Software Development. Journal of Object Technology, 8(5), pp. 49–84, July–August. https://doi.org/10. 5381/jot.2009.8.5.c5

Gregor Kiczales and John Irwin and John Lamping and Jean Marc Loingtier and Cristiana Videira Lopes and Chris Maeda and Anurag Mendhekar (1997) Aspect-Oriented Programming, Proceedings of the European Conference on Object-Oriented Programming (ECOOP), Finland, June, pp. 220–242. https://doi.org/10.1007/bfb0053381

Jianjun Zhao (2002) Slicing Aspect-Oriented Software, Proceedings of 10th International Workshop on Program Comprehension, pp. 251–260, June. https://doi.org/10.1109/wpc.2002. 1021346

Jianjun Zhao and Martin Rinard (2003) System Dependence Graph Construction for Aspect-Oriented Programs. Technical report, Laboratory for Computer Science, Massachusetts Institute of Technology, USA, March.

Loren Larsen and Mary Jean Harrold (1996) Slicing Object-Oriented Software, Proceedings of 18th International Conference on Software Engineering, pp. 495–505, March. https://doi.org/10. 1109/icse.1996.493444

Timon Ter Braak (2006) Extending Program Slicing in Aspect–Oriented Programming With Inter–Type Declarations, 5th TSConIT Program, June.

Aspect Oriented Programming. www.wikipedia.org.

Hiralal Agrawal and Joseph R. Horgan (1990) Dynamic Program Slicing, ACM SIGPLAN Notices, Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation PLDI’90, 25(6), pp. 246–256, June. https: //doi.org/10.1145/93542.93576

Durga Prasad Mohapatra and Rajib Mall and Rajeev Kumar (2004) An Edge Marking Technique for Dynamic Slicing of Object-Oriented Programs, Proceedings of the 28th Annual International Computer Software and Applications Conference (COMPSAC’04). https://doi.org/10. 1109/cmpsac.2004.1342806

Abhisek Ray and Siba Mishra and Durga Prasad Mohapatra (2012) A Novel Approach for Computing Dynamic Slices of Aspect-Oriented Programs, International Journal of Computer Information Systems, 5(3),pp. 6–12, September.

Abhisek Ray and Siba Mishra and Durga Prasad Mohapatra (2013) An Approach for Computing Dynamic Slice of Concurrent Aspect-Oriented Programs International Journal of Software Engineering and Its Applications, 7(1), pp. 13–32, January.

Jagannath Singh and Durga Prasad Mohapatra (2013) A Unique Aspect-Oriented Program Slicing Technique, Proceedings of International Conference on Advances in Computing, Communications and Informatics (ICACCI’13), pp. 159–164. https://doi. org/10.1109/icacci.2013.6637164

Jagannath Singh and Dishant Munjal and Durga Prasad Mohapatra (2014) Context Sensitive Dynamic slicing of Concurrent Aspect-Oriented Programs, Proceedings of 21st Asia-Pacific Software Engineering Conference (APSEC’14), pp. 167–174. https: //doi.org/10.1109/apsec.2014.35

Juliana Alves Pereira and Kattiana Constantino and Eduardo Figueiredo (2015) A Systematic Literature Review of Software Product Line Management Tools, Proceeddings of 14th International Conference on Software Reuse (ICSR’15), Berlin Heidelberg, pp. 73–89. https://doi.org/10.1007/ 978-3-319-14130-5_6

Durga Prasad Mohapatra and Rajeev Kumar and Rajib Mall and D. S. Kumar and Mayank Bhasin (2006) Distributed dynamic slicing of Java programs, Journal of Systems and Software, 79(12), pp. 1661–1678. https://doi.org/10.1016/ j.jss.2006.01.009

Durga Prasad Mohapatra and Rajib Mall and Rajeev Kumar (2005) Computing dynamic slices of concurrent object-oriented programs, Information & Software Technology, 47(12), pp. 805–817. https://doi.org/10.1016/j.infsof. 2005.02.002

Dishant Munjal and Jagannath Singh and Subhrakanta Panda and Durga Prasad Mohapatra (2015) Automated Slicing of Aspect- Oriented Programs using Bytecode Analysis, Proceedings of IEEE 39th Annual International Computers, Software & Applications Conference (COMPSAC 2015), pp. 191–199. https: //doi.org/10.1109/compsac.2015.98

Madhusmita Sahu and Durga Prasad Mohapatra (2007) A Node-Marking Technique for Dynamic Slicing of Aspect-Oriented Programs, Proceedings of 10th International Conference on Information Technology (ICIT 2007), pp. 155–160. https://doi. org/10.1109/icit.2007.70

Diganta Goswami and Rajib Mall (1999) Fast Slicing of Concurrent Programs, Proceedings of 6th International Conference on High Performance Computing (HiPC 1999), pp. 38–42. https://doi.org/ 10.1007/978-3-540-46642-0_6

Diganta Goswami and Rajib Mall (2000) Dynamic Slicing of Concurrent Programs, Proceedings of 7th International Conference on High Performance Computing (HiPC 2000), pp. 15–26. https://doi. org/10.1007/3-540-44467-x_2

Jaiprakash T. Lallchandani and Rajib Mall (2011) A Dynamic Slicing Technique for UML Architectural Models, IEEE Transactions on Software Engineering, 37(6), pp. 737–771. https://doi.org/10. 1109/tse.2010.112

Philip Samuel and Rajib Mall (2009) Slicingbased test case generation from UML activity diagrams, ACM SIGSOFT Software Engineering Notes, 34(6), pp. 1–14. https://doi.org/10.1145/ 1640162.1666579

Jaiprakash T. Lallchandani and Rajib Mall (2010) Integrated state-based dynamic slicing technique for UML models, IET Software, 4(1), pp. 55– 78. https://doi.org/10.1049/iet-sen. 2009.0080

G. B. Mund and Rajib Mall (2006) An efficient interprocedural dynamic slicing method, The Journal of Systems and Software, 79, pp. 791–806. https: //doi.org/10.1016/j.jss.2005.07.024

Diganta Goswami and Rajib Mall (2004) A parallel algorithm for static slicing of concurrent programs, Concurrency – Practice and Experience, 16(8), pp. 751–769. https://doi.org/10.1002/cpe. 789

G. B. Mund and R. Mall and S. Sarkar (2003) Computation of intraprocedural dynamic program slices, Information and Software Technology, 45 (8), pp. 499–512. https://doi.org/10.1016/ S0950-5849(03)00029-6

G. B. Mund and R. Mall and S. Sarkar (2002) An efficient dynamic program slicing technique, Information and Software Technology, 44 (2), pp. 123–132. https://doi.org/10.1016/ s0950-5849(01)00224-5

Diganta Goswami and Rajib Mall (2002) An efficient method for computing dynamic program slices, Information Processing Letters, 81(2), pp. 111–117. https://doi.org/10.1016/ s0020-0190(01)00202-2

Madhusmita Sahu and Durga Prasad Mohapatra (2016) Dynamic Slicing of Feature-Oriented Programs, Proceedings of 3rd International Conference on Advanced Computing, Networking and Informatics (ICACNI 2015), pp. 381–388. https://doi. org/10.1007/978-81-322-2529-4_40

Mark Weiser (1981) Program Slicing, Proceedings of the 5th International Conference on Software Engineering (ICSE), pp. 439–449. IEEE Computer Society, March.

Durga Prasad Mohapatra and Madhusmita Sahu and Rajib Mall and Rajeev Kumar (2008) Dynamic Slicing of Aspect–Oriented Programs, Informatica, 32(3), pp. 261–274.

Jaiprakash T. Lallchandani and Rajib Mall (2005) Computation of Dynamic Slices for Object-Oriented Concurrent Programs, Proceedings of Asia Pacific Software Engineering Conference (APSEC 2005), pp. 341–350. https://doi.org/10. 1109/apsec.2005.51

Jianjum Zhao (1998) Dynamic Slicing of Object– Oriented Programs, Technical report, Information Processing Society of Japan, pp. 1–7, May.

Sebastian Gunther and Sagar Sunkle (2009) Feature- Oriented Programming with Ruby. In Proceedings of the First InternationalWorkshop on Feature-Oriented Software Development (FOSD’09), pp. 11–18, October. https://doi.org/10.1145/1629716. 1629721

Sebastian Gunther and Sagar Sunkle (2012) rbFeatures: Feature-oriented programming with Ruby, Science of Computer Programming, 77(3), pp. 152– 173, March. https://doi.org/10.1016/j. scico.2010.12.007

Bogdan Korel and Satish Yalamanchili (1994) Forward Computation Of Dynamic Program Slices, Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis( ISSTA’94), pp. 66–79, August. https://doi. org/10.1145/186258.186514

Sven Apel and Thomas Leich and Gunter Saake(2008) Aspectual Feature Modules, IEEE Transactions On Software Engineering, 34(2),pp. 162–180, March/April. https: //doi.org/10.1109/tse.2007.70770

Jia Liu and Don Batory and Srinivas Nedunuri (2005) Modeling Interactions in Feature-Oriented Software Designs, Proceedings of International Conference on Feature Interactions in Telecommunications and Software Systems (ICFI 2005), pp. 178–197.

Ian Adams and Sigmon Myers (2009) FOP and AOP: Benefits, Pitfalls and Potential for Interaction, pp. 1– 7.

Sagar Sunkle and Marko Rosenmuller and Norbert Siegmund and Syed Saif ur Rahman and Gunter Saake and Sven Apel (2008) Features as First-class Entities-Toward a Better Representation of Features. Proceedings of Workshop on Modularization, Composition, and Generative Techniques for Product Line Engineering, pp. 27–34, October.

Susan Horwitz and Thomas Reps and David Binkley (1990) Inter-Procedural Slicing Using Dependence Graphs, ACM Transactions on Programming Languages and Systems, vol. 12, no. 1, pp. 26–60, January. https://doi.org/10.1145/ 77606.77608




DOI: https://doi.org/10.31449/inf.v44i2.2452

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.