Refactoring Delta-Oriented Product Lines to Enforce Guidelines for Efficient Type-Checking

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9953)


A Software Product Line (SPL) is a family of similar programs generated from a common code base. Delta-Oriented Programming (DOP) is a flexible and modular approach to construct SPLs. Ensuring type safety in an SPL (i.e., ensuring that all its programs are well-typed) is a computationally expensive task. Recently, five guidelines to address the complexity of type checking delta-oriented SPLs have been proposed. This paper presents algorithms to refactor delta-oriented SPLs in order to follow the five guidelines. Complexity and correctness of the refactoring algorithms are stated.


  1. 1.
  2. 2.
    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). doi:10.1007/11554844_3 CrossRefGoogle Scholar
  3. 3.
    Bettini, L., Damiani, F., Schaefer, I.: Compositional type checking of delta-oriented software product lines. Acta Inf. 50(2), 77–122 (2013). doi:10.1007/s00236-012-0173-z MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Clements, P., Northrop, L., Lines, S.P.: Practices and Patterns. Addison Wesley, Boston (2001)Google Scholar
  5. 5.
    Damiani, F., Lienhardt, M.: On type checking delta-oriented product lines. In: Ábrahám, E., Huisman, M. (eds.) IFM 2016. LNCS, vol. 9681, pp. 47–62. Springer, Heidelberg (2016). doi:10.1007/978-3-319-33693-0_4 CrossRefGoogle Scholar
  6. 6.
    Damiani, F., Lienhardt, M.: Refactoring delta-oriented product lines to achieve monotonicity. In: Proceedings of FMSPLE, volume abs/1604.00346 of CoRR (2016). doi:10.4204/EPTCS.206.2
  7. 7.
    Damiani, F., Schaefer, I.: Family-based analysis of type safety for delta-oriented software product lines. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012. LNCS, vol. 7609, pp. 193–207. Springer, Heidelberg (2012). doi:10.1007/978-3-642-34026-0_15 CrossRefGoogle Scholar
  8. 8.
    Haber, A., Rendel, H., Rumpe, B., Schaefer, I.: Evolving delta-oriented software product line architectures. CoRR, abs/1409.2311 (2014). doi:10.1007/978-3-642-34059-8_10
  9. 9.
    Igarashi, A., Pierce, B., Wadler, P.: Featherweight Java: a minimal core calculus for Java and GJ. ACM TOPLAS 23(3), 396–450 (2001). doi:10.1145/503502.503505 CrossRefGoogle Scholar
  10. 10.
    Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: a core language for abstract behavioral specification. In: Aichernig, B.K., Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011). doi:10.1007/978-3-642-25271-6_8 CrossRefGoogle Scholar
  11. 11.
    Krueger, C.: Eliminating the adoption barrier. IEEE Softw. 19(4), 29–31 (2002). doi:10.1109/MS.2002.1020284 CrossRefGoogle Scholar
  12. 12.
    Lienhardt, M., Clarke, D.: Conflict detection in delta-oriented programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012. LNCS, vol. 7609, pp. 178–192. Springer, Heidelberg (2012). doi:10.1007/978-3-642-34026-0_14 CrossRefGoogle Scholar
  13. 13.
    Lopez-Herrejon, R.E., Batory, D., Cook, W.: Evaluating support for features in advanced modularization technologies. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 169–194. Springer, Heidelberg (2005). doi:10.1007/11531142_8 CrossRefGoogle Scholar
  14. 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). doi:10.1007/978-3-642-15579-6_6 CrossRefGoogle Scholar
  15. 15.
    Schaefer, I., Damiani, F.: Pure delta-oriented programming. In: Proceedings of FOSD 2010. ACM (2010). doi:10.1145/1868688.1868696
  16. 16.
    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 2013, pp. 73–84. ACM, New York (2013). doi:10.1145/2451436.2451446

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.University of TorinoTurinItaly

Personalised recommendations