Skip to main content
Erschienen 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

verfasst von: Madhusmita Sahu, Durga Prasad Mohapatra

Erschienen in: Arabian Journal for Science and Engineering | Ausgabe 11/2019

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

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.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

Anhänge
Nur mit Berechtigung zugänglich
Literatur
1.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat Zhang, Y.: SymPas: Symbolic Program Slicing. arXiv-eprints pp. 1–29 (2019) Zhang, Y.: SymPas: Symbolic Program Slicing. arXiv-eprints pp. 1–29 (2019)
Metadaten
Titel
Computing Dynamic Slices of Concurrent Feature-Oriented Programs
verfasst von
Madhusmita Sahu
Durga Prasad Mohapatra
Publikationsdatum
23.08.2019
Verlag
Springer Berlin Heidelberg
Erschienen in
Arabian Journal for Science and Engineering / Ausgabe 11/2019
Print ISSN: 2193-567X
Elektronische ISSN: 2191-4281
DOI
https://doi.org/10.1007/s13369-019-04091-3

Weitere Artikel der Ausgabe 11/2019

Arabian Journal for Science and Engineering 11/2019 Zur Ausgabe

Research Article - Computer Engineering and Computer Science

An Optimal Codebook for Content-Based Image Retrieval in JPEG Compressed Domain

Research Article - Computer Engineering and Computer Science

Cooling Computer Chips with Cascaded and Non-cascaded Thermoelectric Devices

Research Article - Computer Engineering and Computer Science

AE-MCCF: An Autoencoder-Based Multi-criteria Recommendation Algorithm

Research Article -Computer Engineering and Computer Science

On Term Frequency Factor in Supervised Term Weighting Schemes for Text Classification

    Marktübersichten

    Die im Laufe eines Jahres in der „adhäsion“ veröffentlichten Marktübersichten helfen Anwendern verschiedenster Branchen, sich einen gezielten Überblick über Lieferantenangebote zu verschaffen.