Skip to main content

Family-Based Analysis of Type Safety for Delta-Oriented Software Product Lines

  • Conference paper

Part of the Lecture Notes in Computer Science book series (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.

Keywords

  • Product Line
  • Product Variant
  • Software Product Line
  • Class Constraint
  • Propositional Formula

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

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, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-34026-0_15
  • Chapter length: 15 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   79.99
Price excludes VAT (USA)
  • ISBN: 978-3-642-34026-0
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   99.99
Price excludes VAT (USA)

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)

    CrossRef  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)

    CrossRef  Google Scholar 

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

    CrossRef  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)

    CrossRef  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)

    CrossRef  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)

    CrossRef  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)

    CrossRef  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)

    CrossRef  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)