Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7609))

Abstract

Delta-oriented programming (DOP) is a modular, yet flexible approach for implementing software product lines extending feature-oriented programming. Delta modules allow adding, modifying and removing code for generating product variants. The connection between code modifications and product features and the application ordering of delta modules is less restrictive than in FOP. However, the additional flexibility of DOP increases the complexity for ensuring that all possible product variants of a DOP SPL are well-typed. In previous work, we presented a constraint-based type system which allows analyzing each delta module in isolation, but requires a subsequent analysis step for each product variant. Some FOP SPL type systems generate a representation of all possible product variants and use a family-based analysis to ensure that all possible product variants are type safe. In this paper, we enhance the existing constraint-based type checking approach for DOP by providing a family-based analysis step which improves the product-based analysis of our previous work by making it possible to reuse the intermediate results of the analysis associated to the product variants.

Authors listed in alphabetical order. Work partially supported by the German Science Foundation (DFG - SCHA1635/2-1) and Italian MIUR (PRIN 2008 DISCO).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Apel, S., Kästner, C., Grösslinger, A., Lengauer, C.: Type safety for feature-oriented product lines. Automated Software Engineering 17(3), 251–300 (2010)

    Article  Google Scholar 

  2. Apel, S., Kästner, C., Lengauer, C.: Feature Featherweight Java: A Calculus for Feature-Oriented Programming and Stepwise Refinement. In: GPCE, pp. 101–112. ACM (2008)

    Google Scholar 

  3. Batory, D.: Feature Models, Grammars, and Propositional Formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  4. Batory, D., Sarvela, J., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Trans. Software Eng. 30(6), 355–371 (2004)

    Article  Google Scholar 

  5. Delaware, B., Cook, W., Batory, D.: A Machine-Checked Model of Safe Composition. In: FOAL, pp. 31–35. ACM (2009)

    Google Scholar 

  6. Fredkin, E.: Trie memory. Commun. ACM 3(9), 490–499 (1960)

    Article  Google Scholar 

  7. Haber, A., Kutz, T., Rendel, H., Rumpe, B., Schaefer, I.: Towards a family-based analysis of applicability conditions in architectural delta models. In: VARY: Variability for You (Workshop Co-Located with MODELS 2011) (2011)

    Google Scholar 

  8. Igarashi, A., Pierce, B., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. ACM TOPLAS 23(3), 396–450 (2001)

    Article  Google Scholar 

  9. Kästner, C., Apel, S., ur Rahman, S.S., Rosenmüller, M., Batory, D., Saake, G.: On the Impact of the Optional Feature Problem: Analysis and Case Studies. In: SPLC, pp. 181–190. ACM (2009)

    Google Scholar 

  10. Krueger, C.: Eliminating the Adoption Barrier. IEEE Software 19(4), 29–31 (2002)

    Article  Google Scholar 

  11. Lienhardt, M., Clarke, D.: Row types for delta-oriented programming. In: VaMoS, pp. 121–128 (2012)

    Google Scholar 

  12. Lopez-Herrejon, R.E., Batory, D., Cook, W.: Evaluating Support for Features in Advanced Modularization Technologies. In: Gao, X.-X. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 169–194. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  13. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering - Foundations, Principles, and Techniques. Springer (2005)

    Google Scholar 

  14. Schaefer, I., Bettini, L., Bono, V., Damiani, F., Tanzarella, N.: Delta-Oriented Programming of Software Product Lines. In: Bosch, J., Lee, J. (eds.) SPLC 2010. LNCS, vol. 6287, pp. 77–91. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  15. Schaefer, I., Bettini, L., Damiani, F.: Compositional Type-Checking for Delta-Oriented Programming. In: AOSD 2011. ACM (2011)

    Google Scholar 

  16. Schaefer, I., Damiani, F.: Pure Delta-oriented Programming. In: FOSD 2010 (2010), http://www.fosd.de/2010

  17. Thüm, T., Apel, S., Kästner, C., Kuhlemann, M., Schaefer, I., Saake, G.: Analysis Strategies for Software Product Lines. Technical Report FIN-004-2012, School of Computer Science, University of Magdeburg, Germany (April 2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Damiani, F., Schaefer, I. (2012). Family-Based Analysis of Type Safety for Delta-Oriented Software Product Lines. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change. ISoLA 2012. Lecture Notes in Computer Science, vol 7609. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34026-0_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-34026-0_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-34025-3

  • Online ISBN: 978-3-642-34026-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics