Skip to main content
Erschienen in: International Journal on Software Tools for Technology Transfer 6/2019

23.09.2019 | Foundations for Mastering Change

Automatic refactoring of delta-oriented SPLs to remove-free form and replace-free form

verfasst von: Ferruccio Damiani, Michael Lienhardt, Luca Paolini

Erschienen in: International Journal on Software Tools for Technology Transfer | Ausgabe 6/2019

Einloggen

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

search-config
loading …

Abstract

Delta-oriented programming (DOP) is a flexible transformational approach to implement software product lines (SPLs). In delta-oriented SPLs, variants are generated by applying operations contained in delta modules to a base program. These operations can add, remove or modify named elements in a program (e.g. classes, methods and fields in a Java program). This paper presents two notions of normal form for delta-oriented SPLs. Both normal forms do not contain the remove operation. Additionally, the second normal form enforces a limitation on the use of the method-modify operation. For each of the proposed normal forms an algorithm for refactoring a delta-oriented SPL into one that satisfies that normal form is described. The algorithms are formalized for a core calculus for delta-oriented SPLs of Java programs.

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
We assume unambiguity of the considered delta-oriented SPLs, i.e. for each product, any total order of the activated deltas that respects the (possibly partial) order specified in \(<_{\texttt {L}}\) generates the same variant—see [6, 37] for effective means to ensure unambiguity.
 
2
If the activation conditions of deltas are expressed by propositional formulas over features, then the mapping \(\alpha _{\texttt {L}}\) is represented as a mapping from delta names \({\texttt {d}}\) to propositional formulas \(\phi \) (cf. the explanation before Example 2) and the activation condition is set to \(\alpha _{{\texttt {L}}}({\texttt {d}}')\wedge \lnot \alpha _{{\texttt {L}}}({\texttt {d}})\).
 
3
When the number of products is too large, testing all the products is unfeasible. This could be addressed by using, e.g. sample-based SPL testing techniques [29, 30, 35, 40], where a subset of products—covering relevant combinations of features—is generated and tested by applying single system testing techniques.
 
Literatur
1.
Zurück zum Zitat Albert, E., de Boer, F.S., Hähnle, R., Johnsen, E.B., Schlatte, R., TapiaTarifa, S.L., Wong, P.Y.H.: Formal modeling and analysis of resource management for cloud architectures: an industrial case study using real-time ABS. Serv. Oriented Comput. Appl. 8(4), 323–339 (2014). https://doi.org/10.1007/s11761-013-0148-0 CrossRef Albert, E., de Boer, F.S., Hähnle, R., Johnsen, E.B., Schlatte, R., TapiaTarifa, S.L., Wong, P.Y.H.: Formal modeling and analysis of resource management for cloud architectures: an industrial case study using real-time ABS. Serv. Oriented Comput. Appl. 8(4), 323–339 (2014). https://​doi.​org/​10.​1007/​s11761-013-0148-0 CrossRef
2.
Zurück zum Zitat Alves, V., Gheyi, R., Massoni, T., Kulesza, U., Borba, P., Lucena, C.: Refactoring product lines. In: Proceedings of the 5th International Conference on Generative Programming and Component Engineering, GPCE ’06, pp. 201–210. ACM, New York, NY, USA (2006). https://doi.org/10.1145/1173706.1173737 Alves, V., Gheyi, R., Massoni, T., Kulesza, U., Borba, P., Lucena, C.: Refactoring product lines. In: Proceedings of the 5th International Conference on Generative Programming and Component Engineering, GPCE ’06, pp. 201–210. ACM, New York, NY, USA (2006). https://​doi.​org/​10.​1145/​1173706.​1173737
9.
Zurück zum Zitat Chesta, C., Damiani, F., Dobriakova, L., Guernieri, M., Martini, S., Nieke, M., Rodrigues, V., Schuster, S.: A toolchain for delta-oriented modeling of software product lines. In: Margaria T., Steffen B. (eds.) Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications: 7th International Symposium, ISoLA 2016, Imperial, Corfu, Greece, 10–14 October 2016, Proceedings, Part II, Lecture Notes in Computer Science, vol. 9953, pp. 497–511. Springer International Publishing, Cham (2016). https://doi.org/10.1007/978-3-319-47169-3_40 CrossRef Chesta, C., Damiani, F., Dobriakova, L., Guernieri, M., Martini, S., Nieke, M., Rodrigues, V., Schuster, S.: A toolchain for delta-oriented modeling of software product lines. In: Margaria T., Steffen B. (eds.) Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications: 7th International Symposium, ISoLA 2016, Imperial, Corfu, Greece, 10–14 October 2016, Proceedings, Part II, Lecture Notes in Computer Science, vol. 9953, pp. 497–511. Springer International Publishing, Cham (2016). https://​doi.​org/​10.​1007/​978-3-319-47169-3_​40 CrossRef
10.
Zurück zum Zitat Clarke, D., Diakov, N., Hähnle, R., Johnsen, E., Schaefer, I., Schäfer, J., Schlatte, R., Wong, P.: Modeling spatial and temporal variability with the HATS abstract behavioral modeling language. In: Formal Methods for Eternal Networked Software Systems, Lecture Notes in Computer Science, vol. 6659, pp. 417–457. Springer International Publishing (2011). https://doi.org/10.1007/978-3-642-21455-4_13 CrossRef Clarke, D., Diakov, N., Hähnle, R., Johnsen, E., Schaefer, I., Schäfer, J., Schlatte, R., Wong, P.: Modeling spatial and temporal variability with the HATS abstract behavioral modeling language. In: Formal Methods for Eternal Networked Software Systems, Lecture Notes in Computer Science, vol. 6659, pp. 417–457. Springer International Publishing (2011). https://​doi.​org/​10.​1007/​978-3-642-21455-4_​13 CrossRef
11.
Zurück zum Zitat Clements, P., Northrop, L.: Software Product Lines: Practices & Patterns. Addison Wesley Longman, Boston (2001) Clements, P., Northrop, L.: Software Product Lines: Practices & Patterns. Addison Wesley Longman, Boston (2001)
12.
Zurück zum Zitat Damiani, F., Hähnle, R., Kamburjan, E., Lienhardt, M.: A unified and formal programming model for deltas and traits. In: Fundamental Approaches to Software Engineering—20th International Conference, FASE 2017, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017, Uppsala, Sweden, 22–29 April 2017, Proceedings, Lecture Notes in Computer Science, vol. 10202, pp. 424–441. Springer (2017). https://doi.org/10.1007/978-3-662-54494-5_25 CrossRef Damiani, F., Hähnle, R., Kamburjan, E., Lienhardt, M.: A unified and formal programming model for deltas and traits. In: Fundamental Approaches to Software Engineering—20th International Conference, FASE 2017, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017, Uppsala, Sweden, 22–29 April 2017, Proceedings, Lecture Notes in Computer Science, vol. 10202, pp. 424–441. Springer (2017). https://​doi.​org/​10.​1007/​978-3-662-54494-5_​25 CrossRef
14.
Zurück zum Zitat Damiani, F., Lienhardt, M.: Refactoring delta-oriented product lines to achieve monotonicity. In: Proceedings 7th International Workshop on Formal Methods and Analysis in Software Product Line Engineering, FMSPLE@ETAPS 2016, Eindhoven, The Netherlands, 3 April 2016, EPTCS, vol. 206, pp. 2–16 (2016). https://doi.org/10.4204/EPTCS.206.2 CrossRef Damiani, F., Lienhardt, M.: Refactoring delta-oriented product lines to achieve monotonicity. In: Proceedings 7th International Workshop on Formal Methods and Analysis in Software Product Line Engineering, FMSPLE@ETAPS 2016, Eindhoven, The Netherlands, 3 April 2016, EPTCS, vol. 206, pp. 2–16 (2016). https://​doi.​org/​10.​4204/​EPTCS.​206.​2 CrossRef
15.
Zurück zum Zitat Damiani, F., Lienhardt, M.: Refactoring delta-oriented product lines to enforce guidelines for efficient type-checking. In: Margaria T., Steffen B. (eds.) Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications—7th International Symposium, ISoLA 2016, Imperial, Corfu, Greece, 10–14 October 2016, Proceedings, Part II, Lecture Notes in Computer Science, vol. 9953, pp. 579–596 (2016). https://doi.org/10.1007/978-3-319-47169-3_45 CrossRef Damiani, F., Lienhardt, M.: Refactoring delta-oriented product lines to enforce guidelines for efficient type-checking. In: Margaria T., Steffen B. (eds.) Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications—7th International Symposium, ISoLA 2016, Imperial, Corfu, Greece, 10–14 October 2016, Proceedings, Part II, Lecture Notes in Computer Science, vol. 9953, pp. 579–596 (2016). https://​doi.​org/​10.​1007/​978-3-319-47169-3_​45 CrossRef
20.
Zurück zum Zitat Dubinsky, Y., Rubin, J., Berger, T., Duszynski, S., Becker, M., Czarnecki, K.: An exploratory study of cloning in industrial software product lines. In: Proceedings of the 2013 17th European Conference on Software Maintenance and Reengineering, CSMR ’13, pp. 25–34. IEEE Computer Society, Washington, DC, USA (2013). https://doi.org/10.1109/CSMR.2013.13 Dubinsky, Y., Rubin, J., Berger, T., Duszynski, S., Becker, M., Czarnecki, K.: An exploratory study of cloning in industrial software product lines. In: Proceedings of the 2013 17th European Conference on Software Maintenance and Reengineering, CSMR ’13, pp. 25–34. IEEE Computer Society, Washington, DC, USA (2013). https://​doi.​org/​10.​1109/​CSMR.​2013.​13
22.
29.
Zurück zum Zitat Johansen, M.F., Haugen, O., Fleurey, F.: An algorithm for generating t-wise covering arrays from large feature models. In: Proceedings of the 16th International Software Product Line Conference, vol. 1, SPLC ’12, pp. 46–55. ACM, New York, NY, USA (2012). https://doi.org/10.1145/2362536.2362547 Johansen, M.F., Haugen, O., Fleurey, F.: An algorithm for generating t-wise covering arrays from large feature models. In: Proceedings of the 16th International Software Product Line Conference, vol. 1, SPLC ’12, pp. 46–55. ACM, New York, NY, USA (2012). https://​doi.​org/​10.​1145/​2362536.​2362547
30.
Zurück zum Zitat Johansen, M.F., Haugen, O., Fleurey, F.: Properties of realistic feature models make combinatorial testing of product lines feasible. In: Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 638–652. Springer-Verlag, Berlin, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24485-8_47 CrossRef Johansen, M.F., Haugen, O., Fleurey, F.: Properties of realistic feature models make combinatorial testing of product lines feasible. In: Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 638–652. Springer-Verlag, Berlin, Heidelberg (2011). https://​doi.​org/​10.​1007/​978-3-642-24485-8_​47 CrossRef
32.
Zurück zum Zitat Kästner, C., Kuhlemann, M.: Automating feature-oriented refactoring of legacy applications. In: In ECOOP Workshop on Refactoring Tools (2007) Kästner, C., Kuhlemann, M.: Automating feature-oriented refactoring of legacy applications. In: In ECOOP Workshop on Refactoring Tools (2007)
34.
Zurück zum Zitat Koscielny, J., Holthusen, S., Schaefer, I., Schulze, S., Bettini, L., Damiani, F.: DeltaJ 1.5: delta-oriented programming for Java. In: International Conference on Principles and Practices of Programming on the Java Platform Virtual Machines, Languages and Tools, PPPJ ’14, pp. 63–74 (2014). https://doi.org/10.1145/2647508.2647512 Koscielny, J., Holthusen, S., Schaefer, I., Schulze, S., Bettini, L., Damiani, F.: DeltaJ 1.5: delta-oriented programming for Java. In: International Conference on Principles and Practices of Programming on the Java Platform Virtual Machines, Languages and Tools, PPPJ ’14, pp. 63–74 (2014). https://​doi.​org/​10.​1145/​2647508.​2647512
35.
37.
42.
43.
Zurück zum Zitat Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-oriented programming of software product lines. In: Bosch J., Lee J. (eds.) Software Product Lines: Going Beyond (SPLC 2010), Lecture Notes in Computer Science, vol. 6287, pp. 77–91. Springer Berlin Heidelberg (2010). https://doi.org/10.1007/978-3-642-15579-6_6 CrossRef Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-oriented programming of software product lines. In: Bosch J., Lee J. (eds.) Software Product Lines: Going Beyond (SPLC 2010), Lecture Notes in Computer Science, vol. 6287, pp. 77–91. Springer Berlin Heidelberg (2010). https://​doi.​org/​10.​1007/​978-3-642-15579-6_​6 CrossRef
45.
Zurück zum Zitat Schulze, S., Richers, O., Schaefer, I.: Refactoring delta-oriented software product lines. In: Proceedings of the 12th Annual International Conference on Aspect-oriented Software Development, AOSD ’13, pp. 73–84. ACM, New York, NY, USA (2013). https://doi.org/10.1145/2451436.2451446 Schulze, S., Richers, O., Schaefer, I.: Refactoring delta-oriented software product lines. In: Proceedings of the 12th Annual International Conference on Aspect-oriented Software Development, AOSD ’13, pp. 73–84. ACM, New York, NY, USA (2013). https://​doi.​org/​10.​1145/​2451436.​2451446
46.
Zurück zum Zitat Schulze, S., Thüm, T., Kuhlemann, M., Saake, G.: Variant-preserving refactoring in feature-oriented software product lines. In: Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive Systems, VaMoS ’12, pp. 73–81. ACM, New York, NY, USA (2012). https://doi.org/10.1145/2110147.2110156 Schulze, S., Thüm, T., Kuhlemann, M., Saake, G.: Variant-preserving refactoring in feature-oriented software product lines. In: Proceedings of the 6th International Workshop on Variability Modeling of Software-Intensive Systems, VaMoS ’12, pp. 73–81. ACM, New York, NY, USA (2012). https://​doi.​org/​10.​1145/​2110147.​2110156
48.
Zurück zum Zitat Wille, D., Runge, T., Seidl, C., Schulze, S.: Extractive software product line engineering using model-based delta module generation. In: Proceedings of the 11th International Workshop on Variability Modelling of Software-intensive Systems, VAMOS’17, pp. 36–43. ACM, New York, NY, USA (2017). https://doi.org/10.1145/3023956.3023957 Wille, D., Runge, T., Seidl, C., Schulze, S.: Extractive software product line engineering using model-based delta module generation. In: Proceedings of the 11th International Workshop on Variability Modelling of Software-intensive Systems, VAMOS’17, pp. 36–43. ACM, New York, NY, USA (2017). https://​doi.​org/​10.​1145/​3023956.​3023957
49.
Zurück zum Zitat Winkelmann, T., Koscielny, J., Seidl, C., Schuster, S., Damiani, F., Schaefer, I.: Parametric DeltaJ 1.5: propagating feature attributes into implementation artifacts. In: Gemeinsamer Tagungsband der Workshops der Tagung Software Engineering 2016 (SE 2016), Wien, 23–26 February 2016, CEUR Workshop Proceedings, vol. 1559, pp. 40–54. CEUR-WS.org (2016) Winkelmann, T., Koscielny, J., Seidl, C., Schuster, S., Damiani, F., Schaefer, I.: Parametric DeltaJ 1.5: propagating feature attributes into implementation artifacts. In: Gemeinsamer Tagungsband der Workshops der Tagung Software Engineering 2016 (SE 2016), Wien, 23–26 February 2016, CEUR Workshop Proceedings, vol. 1559, pp. 40–54. CEUR-WS.org (2016)
Metadaten
Titel
Automatic refactoring of delta-oriented SPLs to remove-free form and replace-free form
verfasst von
Ferruccio Damiani
Michael Lienhardt
Luca Paolini
Publikationsdatum
23.09.2019
Verlag
Springer Berlin Heidelberg
Erschienen in
International Journal on Software Tools for Technology Transfer / Ausgabe 6/2019
Print ISSN: 1433-2779
Elektronische ISSN: 1433-2787
DOI
https://doi.org/10.1007/s10009-019-00534-2

Weitere Artikel der Ausgabe 6/2019

International Journal on Software Tools for Technology Transfer 6/2019 Zur Ausgabe

Foundations for Mastering Change

Quantitative properties of featured automata

Foundations for Mastering Change

Quantitative variability modelling and analysis