Skip to main content
Top
Published in: Arabian Journal for Science and Engineering 11/2019

23-08-2019 | Research Article - Computer Engineering and Computer Science

Computing Dynamic Slices of Concurrent Feature-Oriented Programs

Authors: Madhusmita Sahu, Durga Prasad Mohapatra

Published in: Arabian Journal for Science and Engineering | Issue 11/2019

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

This paper proposes a dynamic slicing algorithm for concurrent feature-oriented programs. The algorithm is named concurrent feature-oriented node-marking dynamic slicing (CFNMDS) algorithm. The proposed dynamic slicing technique uses a dependence based intermediate representation named concurrent composite feature dependence graph (CCFDG). It is based on marking and unmarking of the executed nodes in CCFDG appropriately during runtime. Ten standard open source product lines have been taken to experiment the proposed CFNMDS algorithm. Jak codes and feature-oriented models have been developed for these product lines. The advantage of the proposed approach is that no trace file is used to store execution history of the program. Also, no extra nodes are created during runtime in the proposed approach. Creation of extra nodes leads to take more time for marking and unmarking process. Use of any extra file also leads to higher runtime overhead for input/output operations. This results in taking more time to compute the slices. So, it is necessary to compute dynamic slices in less time without using any trace file and extra nodes. Using the proposed approach, slices can be extracted in O(1) i.e., in constant time. The slice computation time for various combinations of features for each product line has also been measured.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Appendix
Available only for authorised users
Literature
1.
go back to reference Binkley, D.W.; Gallagher, K.B.: Program Slicing. Adv. Comput. 43, 1–50 (1996)CrossRef Binkley, D.W.; Gallagher, K.B.: Program Slicing. Adv. Comput. 43, 1–50 (1996)CrossRef
2.
go back to reference Horwitz, S.; Reps, T.; Binkley, D.: Inter-procedural slicing using dependence graphs. ACM Trans. Program. Languag. Syst. 12(1), 26–60 (1990)CrossRef Horwitz, S.; Reps, T.; Binkley, D.: Inter-procedural slicing using dependence graphs. ACM Trans. Program. Languag. Syst. 12(1), 26–60 (1990)CrossRef
3.
go back to reference Mall, R.: Fundamentals of Software Engineering, 4th edn. PHI Learning Private Limited, Delhi (2014) Mall, R.: Fundamentals of Software Engineering, 4th edn. PHI Learning Private Limited, Delhi (2014)
4.
go back to reference Mund, G.B.; Goswami, D.; Mall, R.: The Compiler Design Handbook, 2nd edn. CRC Press, Boca Raton (2002) Mund, G.B.; Goswami, D.; Mall, R.: The Compiler Design Handbook, 2nd edn. CRC Press, Boca Raton (2002)
5.
go back to reference Mohapatra, D.P.: Dynamic Slicing of Object-Oriented Programs. PhD thesis, Indian Institute of Technology, Kharagpur (2005) Mohapatra, D.P.: Dynamic Slicing of Object-Oriented Programs. PhD thesis, Indian Institute of Technology, Kharagpur (2005)
6.
go back to reference Ray, A.: Dynamic Slicing of Aspect-Oriented Softwares. PhD thesis, Kalinga Institute of Industrial Technology, Bhubaneswar (2014) Ray, A.: Dynamic Slicing of Aspect-Oriented Softwares. PhD thesis, Kalinga Institute of Industrial Technology, Bhubaneswar (2014)
7.
go back to reference Singh, J.: Slicing of Subject-Oriented Softwares and Its Application to Software Refactoring. PhD thesis, National Institute of Technology, Rourkela (2016) Singh, J.: Slicing of Subject-Oriented Softwares and Its Application to Software Refactoring. PhD thesis, National Institute of Technology, Rourkela (2016)
8.
go back to reference Prehofer, C.: Feature-oriented programming: a fresh look at objects. In: Proceedings of 11th European Conference on Object-Oriented Programming (ECOOP), pp. 419–443. Springer, Berlin, Heidelberg (1997) Prehofer, C.: Feature-oriented programming: a fresh look at objects. In: Proceedings of 11th European Conference on Object-Oriented Programming (ECOOP), pp. 419–443. Springer, Berlin, Heidelberg (1997)
9.
go back to reference Batory, D.: A tutorial on feature oriented programming and the AHEAD tool suite. In: Proceedings of the 2005 International Conference on Generative and Transformational Techniques in Software Engineering (GTTSE’05), pp. 3–35. Springer, Berlin, Heidelberg (2006) Batory, D.: A tutorial on feature oriented programming and the AHEAD tool suite. In: Proceedings of the 2005 International Conference on Generative and Transformational Techniques in Software Engineering (GTTSE’05), pp. 3–35. Springer, Berlin, Heidelberg (2006)
10.
go back to reference Apel, S.; Leich, T.; Rosenmuller, M.; Saake, G.: FeatureC++: feature-oriented and aspect-oriented programming in C++. Tech. rep., Department of Computer Science, Otto-von-GuerickeUniversity, Magdeburg, Germany (2005) Apel, S.; Leich, T.; Rosenmuller, M.; Saake, G.: FeatureC++: feature-oriented and aspect-oriented programming in C++. Tech. rep., Department of Computer Science, Otto-von-GuerickeUniversity, Magdeburg, Germany (2005)
11.
go back to reference Apel, S.; Leich, T.; Rosenmuller, M.; Saake, G.: FeatureC++: On the symbiosis of feature-oriented and aspect-oriented programming. In: Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE’05), pp. 125–140. Springer (2005) Apel, S.; Leich, T.; Rosenmuller, M.; Saake, G.: FeatureC++: On the symbiosis of feature-oriented and aspect-oriented programming. In: Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE’05), pp. 125–140. Springer (2005)
12.
go back to reference Apel, S.; Leich, T.; Rosenmuller, M.; Saake, G.: Combining feature-oriented and aspect-oriented programming to support software evolution. In: Proceedings of the 2nd ECOOP Workshop on Reflection, AOP and Meta-data for Software Evolution (RAM-SE), pp. 3–16. School of Computer Science, University of Magdeburg (2005) Apel, S.; Leich, T.; Rosenmuller, M.; Saake, G.: Combining feature-oriented and aspect-oriented programming to support software evolution. In: Proceedings of the 2nd ECOOP Workshop on Reflection, AOP and Meta-data for Software Evolution (RAM-SE), pp. 3–16. School of Computer Science, University of Magdeburg (2005)
13.
go back to reference Cheng, J.: Slicing concurrent programs - a graph-theoretical approach. In: Proceedings of the First International Workshop on Automated and Algorithmic Debugging, vol. 749, pp. 223–240. LNCS (1993) Cheng, J.: Slicing concurrent programs - a graph-theoretical approach. In: Proceedings of the First International Workshop on Automated and Algorithmic Debugging, vol. 749, pp. 223–240. LNCS (1993)
14.
go back to reference Krinke, J.: Static slicing of threaded programs. In: Proceedings of ACM SIGPLAN/SIGFSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE’98), pp. 35–42 (1998) Krinke, J.: Static slicing of threaded programs. In: Proceedings of ACM SIGPLAN/SIGFSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE’98), pp. 35–42 (1998)
15.
go back to reference Krinke, J.: Context-sensitive slicing of concurrent programs. ACM SIGSOFT Softw. Eng. Notes 28(5), 178–187 (2003)CrossRef Krinke, J.: Context-sensitive slicing of concurrent programs. ACM SIGSOFT Softw. Eng. Notes 28(5), 178–187 (2003)CrossRef
16.
go back to reference Goswami, D.; Mall, R.: Fast slicing of concurrent programs. In: Proceedings of 6th International Conference on High Performance Computing (HiPC 1999), pp. 38–42 (1999) Goswami, D.; Mall, R.: Fast slicing of concurrent programs. In: Proceedings of 6th International Conference on High Performance Computing (HiPC 1999), pp. 38–42 (1999)
17.
go back to reference Goswami, D.; Mall, R.: Dynamic slicing of concurrent programs. In: Proceedings of 7th International Conference on High Performance Computing (HiPC 2000), pp. 15–26 (2000) Goswami, D.; Mall, R.: Dynamic slicing of concurrent programs. In: Proceedings of 7th International Conference on High Performance Computing (HiPC 2000), pp. 15–26 (2000)
18.
go back to reference Goswami, D.; Mall, R.: A parallel algorithm for static slicing of concurrent programs. Concurr. Pract. Exp. 16(8), 751–769 (2004)CrossRef Goswami, D.; Mall, R.: A parallel algorithm for static slicing of concurrent programs. Concurr. Pract. Exp. 16(8), 751–769 (2004)CrossRef
19.
go back to reference Sahu, M.; Mohapatra, D.P.: A node-marking technique for slicing concurrent object-oriented programs. Int. J. Recent Trends Eng. 1(1), 25–29 (2009) Sahu, M.; Mohapatra, D.P.: A node-marking technique for slicing concurrent object-oriented programs. Int. J. Recent Trends Eng. 1(1), 25–29 (2009)
20.
go back to reference Zhao, J.: Slicing concurrent Java programs. In: Proceedings of the Seventh IEEE International Workshop on Program Comprehension, pp. 126–133 (1999) Zhao, J.: Slicing concurrent Java programs. In: Proceedings of the Seventh IEEE International Workshop on Program Comprehension, pp. 126–133 (1999)
22.
go back to reference Zhao, J.; Li, B.: Dependence-based representation for concurrent Java programs and its application to slicing. In: Proceedings of International Symposium on Future Software Technology (ISFST), pp. 105–112 (2004) Zhao, J.; Li, B.: Dependence-based representation for concurrent Java programs and its application to slicing. In: Proceedings of International Symposium on Future Software Technology (ISFST), pp. 105–112 (2004)
23.
go back to reference Mohapatra, D.P.; Mall, R.; Kumar, R.: Dynamic slicing of concurrent object-oriented programs. In: Proceedings of International Conference on Information Technology: Progresses and Challenges (ITPC), Kathmandu, pp. 283–290 (2003) Mohapatra, D.P.; Mall, R.; Kumar, R.: Dynamic slicing of concurrent object-oriented programs. In: Proceedings of International Conference on Information Technology: Progresses and Challenges (ITPC), Kathmandu, pp. 283–290 (2003)
24.
go back to reference Mohapatra D.P.; Mall, R.; Kumar, R.: An efficient technique for dynamic slicing of concurrent Java programs. In: Proceedings of Asian Applied Conference on Computing (AACC-2004), vol. 3285, pp. 255–262. LNCS Springer, Kathmandu (2004) Mohapatra D.P.; Mall, R.; Kumar, R.: An efficient technique for dynamic slicing of concurrent Java programs. In: Proceedings of Asian Applied Conference on Computing (AACC-2004), vol. 3285, pp. 255–262. LNCS Springer, Kathmandu (2004)
25.
go back to reference Mohapatra, D.P.; Mall, R.; Kumar, R.: Computing dynamic slices of concurrent object-oriented programs. Inf. Softw. Technol. 47(12), 805–817 (2005)CrossRef Mohapatra, D.P.; Mall, R.; Kumar, R.: Computing dynamic slices of concurrent object-oriented programs. Inf. Softw. Technol. 47(12), 805–817 (2005)CrossRef
26.
go back to reference Lallchandani, J.T.; Mall, R.: Computation of dynamic slices for object-oriented concurrent programs. In: Proceedings of Asia Pacific Software Engineering Conference (APSEC 2005), pp. 341–350 (2005) Lallchandani, J.T.; Mall, R.: Computation of dynamic slices for object-oriented concurrent programs. In: Proceedings of Asia Pacific Software Engineering Conference (APSEC 2005), pp. 341–350 (2005)
27.
go back to reference Sahu, M.; Mohapatra, D.P.: A Node-marking technique for dynamic slicing of aspect-oriented programs. In: Proceedings of 10th International Conference on Information Technology (ICIT 2007), pp. 155–160 (2007) Sahu, M.; Mohapatra, D.P.: A Node-marking technique for dynamic slicing of aspect-oriented programs. In: Proceedings of 10th International Conference on Information Technology (ICIT 2007), pp. 155–160 (2007)
28.
go back to reference Ray, A.; Mishra, S.; Mohapatra, D.P.: An approach for computing dynamic slice of concurrent aspect-oriented programs. Int. J. Softw. Eng. Appl. 7(1), 13–32 (2013) Ray, A.; Mishra, S.; Mohapatra, D.P.: An approach for computing dynamic slice of concurrent aspect-oriented programs. Int. J. Softw. Eng. Appl. 7(1), 13–32 (2013)
29.
go back to reference Singh, J.; Munjal, D.; Mohapatra, D.P.: Context sensitive dynamic slicing of concurrent aspect-oriented programs. In: Proceedings of 21st Asia-Pacific Software Engineering Conference (APSEC’14), pp. 167–174 (2014) Singh, J.; Munjal, D.; Mohapatra, D.P.: Context sensitive dynamic slicing of concurrent aspect-oriented programs. In: Proceedings of 21st Asia-Pacific Software Engineering Conference (APSEC’14), pp. 167–174 (2014)
30.
go back to reference Singh, J.; Khillar, P.M.; Mohapatra, D.P.: Dynamic slicing of distributed aspect-oriented programs: a context-sensitive approach. Comput. Stand. Interfaces 52, 71–84 (2017)CrossRef Singh, J.; Khillar, P.M.; Mohapatra, D.P.: Dynamic slicing of distributed aspect-oriented programs: a context-sensitive approach. Comput. Stand. Interfaces 52, 71–84 (2017)CrossRef
31.
go back to reference Sahu, M.; Mohapatra, D.P.: Dynamic slicing of feature-oriented programs. In: Proceedings of 3rd International Conference on Advanced Computing, Networking and Informatics (ICACNI 2015), pp. 381–388 (2015) Sahu, M.; Mohapatra, D.P.: Dynamic slicing of feature-oriented programs. In: Proceedings of 3rd International Conference on Advanced Computing, Networking and Informatics (ICACNI 2015), pp. 381–388 (2015)
32.
go back to reference Sahu, M.; Mohapatra, D.P.: Computing dynamic slices of feature-oriented programs using execution trace file. ACM SIGSOFT Softw. Eng. Notes 42(2), 1–16 (2017)CrossRef Sahu, M.; Mohapatra, D.P.: Computing dynamic slices of feature-oriented programs using execution trace file. ACM SIGSOFT Softw. Eng. Notes 42(2), 1–16 (2017)CrossRef
33.
go back to reference Gunther, S.; Sunkle, S.: Feature-oriented programming with Ruby. In: Proceedings of the First International Workshop on Feature-Oriented Software Development (FOSD’09), pp. 11–18 (2009) Gunther, S.; Sunkle, S.: Feature-oriented programming with Ruby. In: Proceedings of the First International Workshop on Feature-Oriented Software Development (FOSD’09), pp. 11–18 (2009)
34.
go back to reference Gunther, S.; Sunkle, S.: rbFeatures: feature-oriented programming with Ruby. Sci. Comput. Program. 77(3), 152–173 (2012)CrossRef Gunther, S.; Sunkle, S.: rbFeatures: feature-oriented programming with Ruby. Sci. Comput. Program. 77(3), 152–173 (2012)CrossRef
35.
go back to reference Thum, T.; Kastner, C.; Benduhn, F.; Meinicke, J.; Saake, G.; Leich, T.: FeatureIDE: an extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)CrossRef Thum, T.; Kastner, C.; Benduhn, F.; Meinicke, J.; Saake, G.; Leich, T.: FeatureIDE: an extensible framework for feature-oriented software development. Sci. Comput. Program. 79, 70–85 (2014)CrossRef
36.
go back to reference Singh, J.; Mohapatra, D.P.: Dynamic slicing of concurrent aspectj programs: an explicit context-sensitive approach. Softw. Pract. Exp. 48, 233–260 (2018)CrossRef Singh, J.; Mohapatra, D.P.: Dynamic slicing of concurrent aspectj programs: an explicit context-sensitive approach. Softw. Pract. Exp. 48, 233–260 (2018)CrossRef
37.
go back to reference Alokush, B.; Abdallah, M.; Alrifaee, M.; Salah, M.: A proposed Java static slicing approach. Indones. J. Electr. Eng. Comput. Sci. 11, 308–317 (2018)CrossRef Alokush, B.; Abdallah, M.; Alrifaee, M.; Salah, M.: A proposed Java static slicing approach. Indones. J. Electr. Eng. Comput. Sci. 11, 308–317 (2018)CrossRef
38.
go back to reference Shaikh, A.; Wiil, U.K.: Overview of slicing and feedback techniques for efficient verification of UML/OCL class diagrams. IEEE Access 6, 23864–23882 (2018)CrossRef Shaikh, A.; Wiil, U.K.: Overview of slicing and feedback techniques for efficient verification of UML/OCL class diagrams. IEEE Access 6, 23864–23882 (2018)CrossRef
39.
go back to reference Shatnawi, A.; Mili, H.; Abdellatif, M.; Privat, J.; Guhneuc, Y;, Moha, N., Boussaidi, G.E.: A static program slicing approach for output stream objects in JEE applications. LATECE Technical Report, pp. 1-10 (2017) Shatnawi, A.; Mili, H.; Abdellatif, M.; Privat, J.; Guhneuc, Y;, Moha, N., Boussaidi, G.E.: A static program slicing approach for output stream objects in JEE applications. LATECE Technical Report, pp. 1-10 (2017)
40.
go back to reference Awad, K.; Abdallah, M.; Tamimi, A.; Ngah, A.; Tamimi, H.: A proposed forward clause slicing application. Indones. J. Electr. Eng. Comput. Sci. 13, 1–6 (2019)CrossRef Awad, K.; Abdallah, M.; Tamimi, A.; Ngah, A.; Tamimi, H.: A proposed forward clause slicing application. Indones. J. Electr. Eng. Comput. Sci. 13, 1–6 (2019)CrossRef
41.
go back to reference Zhang, Y.: SymPas: Symbolic Program Slicing. arXiv-eprints pp. 1–29 (2019) Zhang, Y.: SymPas: Symbolic Program Slicing. arXiv-eprints pp. 1–29 (2019)
Metadata
Title
Computing Dynamic Slices of Concurrent Feature-Oriented Programs
Authors
Madhusmita Sahu
Durga Prasad Mohapatra
Publication date
23-08-2019
Publisher
Springer Berlin Heidelberg
Published in
Arabian Journal for Science and Engineering / Issue 11/2019
Print ISSN: 2193-567X
Electronic ISSN: 2191-4281
DOI
https://doi.org/10.1007/s13369-019-04091-3

Other articles of this Issue 11/2019

Arabian Journal for Science and Engineering 11/2019 Go to the issue

Research Article - Computer Engineering and Computer Science

Brain Tumor Detection and Segmentation in MR Images Using Deep Learning

Research Article - Computer Engineering and Computer Science

Bayesian Versus Convolutional Networks for Arabic Handwriting Recognition

Premium Partners