Skip to main content

2016 | OriginalPaper | Buchkapitel

An Ontological Approach for Identifying Software Variants: Specialization and Template Instantiation

verfasst von : Iris Reinhartz-Berger, Anna Zamansky, Yair Wand

Erschienen in: Conceptual Modeling

Verlag: Springer International Publishing

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

search-config
loading …

Abstract

Software is a crucial component of many products and often is a product in itself. Software artifacts are typically developed for particular needs. Often, identifying software variants is important for increasing reuse, reducing time and costs of development and maintenance, increasing quality and reliability, and improving productivity. We propose a method for utilizing variability mechanisms of Software Product Line Engineering (SPLE) to allow identification of variants of software artifacts. The method is based on an ontological framework for representing variability of behaviors. We demonstrate the feasibility of the method on two common variability mechanisms – specialization and template instantiation. The method has been implemented using reverse engineered code. This provides a proof-of-concept of its feasibility.

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!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
Note that for simplicity, we assume that the similarity measure returns a Boolean value, 0 (different) or 1 (similar), rather than a range of values indicating the degree of similarity. In the method implementation, we realized the similarity measure by ranges and thresholds.
 
2
By ‘up to the similarity measure’ we mean that for each pair of components of either shallow or deep behavior descriptors, A and B, B includes A means that for each element a ∈ A there is an element b ∈ B, such that sim(a, b) = 1.
 
3
PDG explicitly represents the data and control dependencies of a program.
 
4
We assume that in order to make the code comprehensible attributes and operations have meaningful names (potentially including several words separated by underscores or capital letters).
 
5
The two versions were taken from http://​sourceforge.​net/​.
 
Literatur
1.
Zurück zum Zitat Anastasopoulos, M., Gracek, C.: Implementing product line variabilities. ACM SIGSOFT Softw. Eng. Notes 26(3), 109–117 (2001)CrossRef Anastasopoulos, M., Gracek, C.: Implementing product line variabilities. ACM SIGSOFT Softw. Eng. Notes 26(3), 109–117 (2001)CrossRef
2.
Zurück zum Zitat Anguswamy, R., Frakes, W.B.: Reuse design principles. In: International Workshop on Designing Reusable Components and Measuring Reusability (DReMeR 2013) (2013)‏ Anguswamy, R., Frakes, W.B.: Reuse design principles. In: International Workshop on Designing Reusable Components and Measuring Reusability (DReMeR 2013) (2013)‏
3.
Zurück zum Zitat Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering, 3rd edn. Addison Wesley, Boston (2012) Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering, 3rd edn. Addison Wesley, Boston (2012)
4.
Zurück zum Zitat Berger, T., Rublack, R., Nair, D., Atlee, J.M., Becker, M., Czarnecki, K., Wasowski, A.: A survey of variability modeling in industrial practice. In: Proceedings of the 7th International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS 2013), pp. 7:1–7:8 (2013) Berger, T., Rublack, R., Nair, D., Atlee, J.M., Becker, M., Czarnecki, K., Wasowski, A.: A survey of variability modeling in industrial practice. In: Proceedings of the 7th International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS 2013), pp. 7:1–7:8 (2013)
5.
Zurück zum Zitat Brocke, J.: Design principles for reference modelling - reusing information models by means of aggregation, specialisation, instantiation, and analogy. In: Fettke, P., Loos, P. (eds.) Reference Modeling for Business Systems Analysis, pp. 47–75. Idea Group, Hershey (2007)CrossRef Brocke, J.: Design principles for reference modelling - reusing information models by means of aggregation, specialisation, instantiation, and analogy. In: Fettke, P., Loos, P. (eds.) Reference Modeling for Business Systems Analysis, pp. 47–75. Idea Group, Hershey (2007)CrossRef
6.
Zurück zum Zitat Bunge, M.: Treatise on Basic Philosophy. Ontology I: The Furniture of the World, vol. 3. Reidel, Boston, Massachusetts (1977)CrossRefMATH Bunge, M.: Treatise on Basic Philosophy. Ontology I: The Furniture of the World, vol. 3. Reidel, Boston, Massachusetts (1977)CrossRefMATH
7.
Zurück zum Zitat Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001) Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)
8.
Zurück zum Zitat Chen, K., Zhang, W., Zhao, H., Mei, H.: An approach to constructing feature models based on requirements clustering. In: 13th IEEE International Conference on Requirements Engineering, pp. 31–40 (2005) Chen, K., Zhang, W., Zhao, H., Mei, H.: An approach to constructing feature models based on requirements clustering. In: 13th IEEE International Conference on Requirements Engineering, pp. 31–40 (2005)
9.
Zurück zum Zitat Faust, D., Verhoef, C.: Software product line migration and deployment. J. Softw. Pract. Exp. 30(10), 933–955 (2003)CrossRef Faust, D., Verhoef, C.: Software product line migration and deployment. J. Softw. Pract. Exp. 30(10), 933–955 (2003)CrossRef
10.
Zurück zum Zitat Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture. Process and Organization for Business Success. ACM/Addison-Wesley, New York (1997) Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture. Process and Organization for Business Success. ACM/Addison-Wesley, New York (1997)
11.
Zurück zum Zitat Itzik, N., Reinhartz-Berger, I., Wand, Y.: Variability analysis of requirements: considering behavioral differences and reflecting stakeholders perspectives. IEEE Trans. Softw. Eng. 42, 7687–7706 (2016)CrossRef Itzik, N., Reinhartz-Berger, I., Wand, Y.: Variability analysis of requirements: considering behavioral differences and reflecting stakeholders perspectives. IEEE Trans. Softw. Eng. 42, 7687–7706 (2016)CrossRef
12.
Zurück zum Zitat Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, SEI (1990) Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical report, SEI (1990)
13.
Zurück zum Zitat Kapser, C.J., Godfrey, M.W.: “Cloning Considered Harmful” considered harmful: patterns of cloning in software. Empir. Softw. Eng. 13, 645–692 (2008)CrossRef Kapser, C.J., Godfrey, M.W.: “Cloning Considered Harmful” considered harmful: patterns of cloning in software. Empir. Softw. Eng. 13, 645–692 (2008)CrossRef
14.
Zurück zum Zitat Kurita, T.: An efficient agglomerative clustering algorithm using a heap. Pattern Recogn. 24(3), 205–209 (1991)MathSciNetCrossRef Kurita, T.: An efficient agglomerative clustering algorithm using a heap. Pattern Recogn. 24(3), 205–209 (1991)MathSciNetCrossRef
15.
Zurück zum Zitat Krinke, J.: Identifying similar code with program dependence graphs. In: 8th Working Conference on Reverse Engineering, pp. 301–309 (2001) Krinke, J.: Identifying similar code with program dependence graphs. In: 8th Working Conference on Reverse Engineering, pp. 301–309 (2001)
16.
Zurück zum Zitat Mende, T., Koschke, R., Beckwermert, F.: An evaluation of code similarity identification for the grow-and-prune model. J. Softw. Maint. Evol. Res. Pract. 21(2), 143–169 (2009)CrossRef Mende, T., Koschke, R., Beckwermert, F.: An evaluation of code similarity identification for the grow-and-prune model. J. Softw. Maint. Evol. Res. Pract. 21(2), 143–169 (2009)CrossRef
17.
Zurück zum Zitat Mihalcea, R., Corley, C., Strapparava, C.: Corpus-based and knowledge-based measures of text semantic similarity. In: American Association for Artificial Intelligence (AAAI 2006), pp. 775–780 (2006) Mihalcea, R., Corley, C., Strapparava, C.: Corpus-based and knowledge-based measures of text semantic similarity. In: American Association for Artificial Intelligence (AAAI 2006), pp. 775–780 (2006)
18.
Zurück zum Zitat Mondal, M., Roy, C.K., Schneider, K.A.: Automatic identification of important clones for refactoring and tracking. In: 14th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2014), pp. 11–20 (2014) Mondal, M., Roy, C.K., Schneider, K.A.: Automatic identification of important clones for refactoring and tracking. In: 14th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2014), pp. 11–20 (2014)
19.
Zurück zum Zitat Niu, N., Easterbrook, S.: Extracting and modeling product line functional requirements. In: International Conference on Requirements Engineering (RE 2008), pp. 155–164 (2008) Niu, N., Easterbrook, S.: Extracting and modeling product line functional requirements. In: International Conference on Requirements Engineering (RE 2008), pp. 155–164 (2008)
20.
Zurück zum Zitat Pohl, K., Böckle, G., van der Linden, F.: Software Product-Line Engineering: Foundations, Principles, and Techniques. Springer, Heidelberg (2005)CrossRefMATH Pohl, K., Böckle, G., van der Linden, F.: Software Product-Line Engineering: Foundations, Principles, and Techniques. Springer, Heidelberg (2005)CrossRefMATH
21.
Zurück zum Zitat Reinhartz-Berger, I., Sturm, A., Wand, Y.: External variability of software: classification and ontological foundations. In: Jeusfeld, M., Delcambre, L., Ling, T.-W. (eds.) ER 2011. LNCS, vol. 6998, pp. 275–289. Springer, Heidelberg (2011)CrossRef Reinhartz-Berger, I., Sturm, A., Wand, Y.: External variability of software: classification and ontological foundations. In: Jeusfeld, M., Delcambre, L., Ling, T.-W. (eds.) ER 2011. LNCS, vol. 6998, pp. 275–289. Springer, Heidelberg (2011)CrossRef
22.
Zurück zum Zitat Reinhartz-Berger, I., Zamansky, A., Wand, Y.: Taming software variability: ontological foundations of variability mechanisms. In: Johannesson, P., et al. (eds.) ER 2015. LNCS, vol. 9381, pp. 399–406. Springer, Heidelberg (2015). doi:10.1007/978-3-319-25264-3_29 CrossRef Reinhartz-Berger, I., Zamansky, A., Wand, Y.: Taming software variability: ontological foundations of variability mechanisms. In: Johannesson, P., et al. (eds.) ER 2015. LNCS, vol. 9381, pp. 399–406. Springer, Heidelberg (2015). doi:10.​1007/​978-3-319-25264-3_​29 CrossRef
23.
Zurück zum Zitat Roy, C.K., Cordy, J.R.: Scenario-based comparison of clone detection techniques. In: The 16th IEEE International Conference on Program Comprehension (ICPC 2008), pp. 153–162 (2008) Roy, C.K., Cordy, J.R.: Scenario-based comparison of clone detection techniques. In: The 16th IEEE International Conference on Program Comprehension (ICPC 2008), pp. 153–162 (2008)
24.
Zurück zum Zitat Rubin, J., Czarnecki, K., Chechik, M.: Managing cloned variants: a framework and experience. In: 17th ACM International Software Product Line Conference, pp. 101–110 (2013) Rubin, J., Czarnecki, K., Chechik, M.: Managing cloned variants: a framework and experience. In: 17th ACM International Software Product Line Conference, pp. 101–110 (2013)
25.
Zurück zum Zitat Ryssel, U., Ploennigs, J., Kabitzsch, K.: Automatic variation-point identification in function-block-based models. In: 9th International Conference on Generative Programming and Component Engineering (GPCE 2010), pp. 23–32 (2010) Ryssel, U., Ploennigs, J., Kabitzsch, K.: Automatic variation-point identification in function-block-based models. In: 9th International Conference on Generative Programming and Component Engineering (GPCE 2010), pp. 23–32 (2010)
26.
Zurück zum Zitat Wand, Y., Weber, R.: An ontological model of an information system. IEEE Trans. Softw. Eng. 16, 1282–1292 (1990)CrossRef Wand, Y., Weber, R.: An ontological model of an information system. IEEE Trans. Softw. Eng. 16, 1282–1292 (1990)CrossRef
27.
Zurück zum Zitat Weston, N., Chitchyan, R., Rashid, A.: A framework for constructing semantically composable feature models from natural language requirements. In: 13th International Software Product Line Conference, pp. 211–220 (2009) Weston, N., Chitchyan, R., Rashid, A.: A framework for constructing semantically composable feature models from natural language requirements. In: 13th International Software Product Line Conference, pp. 211–220 (2009)
28.
Zurück zum Zitat Yoshimura, K., Narisawa, F., Hashimoto, K., Kikuno, T.: Factor analysis based approach for detecting product line variability from change history. In: 5th Working Conference on Mining Software Repositories, pp. 11–18 (2008) Yoshimura, K., Narisawa, F., Hashimoto, K., Kikuno, T.: Factor analysis based approach for detecting product line variability from change history. In: 5th Working Conference on Mining Software Repositories, pp. 11–18 (2008)
Metadaten
Titel
An Ontological Approach for Identifying Software Variants: Specialization and Template Instantiation
verfasst von
Iris Reinhartz-Berger
Anna Zamansky
Yair Wand
Copyright-Jahr
2016
DOI
https://doi.org/10.1007/978-3-319-46397-1_8

Premium Partner