Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1007/978-3-319-33693-0_4guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

On Type Checking Delta-Oriented Product Lines

Published: 01 June 2016 Publication History

Abstract

A Software Product Line SPL is a set of similar programs generated from a common code base. Delta Oriented Programming DOP is a flexible approach to implement SPLs. Efficiently type checking an SPL i.e., checking that all its programs are well-typed is challenging. This paper proposes a novel type checking approach for DOP. Intrinsic complexity of SPL type checking is addressed by providing early detection of type errors and by reducing type checking to satisfiability of a propositional formula. The approach is tunable to exploit automatically checkable DOP guidelines for making an SPL more comprehensible and type checking more efficient. The approach and guidelines are formalized by means of a core calculus for DOP of product lines of Java programs.

References

[1]
https://github.com/abstools/abstools/tree/master/frontend/src/abs/frontend/delta
[2]
https://github.com/gzoumix/IFDJTS
[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
[4]
Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. In: 2003 Proceedings of ICSE, pp. 187---197. IEEE 2003
[5]
Bettini, L., Damiani, F., Schaefer, I.: Compositional type checking of delta-oriented software product lines. Acta Informatica 502, 77---122 2013
[6]
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison Wesley Longman, Boston 2001
[7]
Damiani, F., Owe, O., Dovland, J., Schaefer, I., Johnsen, E.B., Yu, I.C.: A transformational proof system for delta-oriented programming. In: 2012 Proceedings of SPLC, vol. 2, pp. 53---60. ACM 2012
[8]
Damiani, F., Schaefer, I.: Family-based analysis of type safety for delta-oriented software product lines. In: Margaria, T., Steffen, B. eds. ISoLA 2012, Part I. LNCS, vol. 7609, pp. 193---207. Springer, Heidelberg 2012
[9]
Delaware, B., Cook, W.R., Batory, D.: Fitting the pieces together: a machine-checked model of safe composition. In: 2009 Proceedings of ESEC/FSE. ACM 2009
[10]
Hähnle, R., Schaefer, I.: A Liskov principle for delta-oriented programming. In: Margaria, T., Steffen, B. eds. ISoLA 2012, Part I. LNCS, vol. 7609, pp. 32---46. Springer, Heidelberg 2012
[11]
Igarashi, A., Pierce, B., Wadler, P.: Featherweight Java: a minimal core calculus for Java and GJ. ACM TOPLAS 233, 396---450 2001
[12]
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. Formal Methods for Components and Objects. LNCS, vol. 6957, pp. 142---164. Springer, Heidelberg 2011
[13]
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: Proceedings of SPLC 2009, pp. 181---190 2009
[14]
Koscielny, J., Holthusen, S., Schaefer, I., Schulze, S., Bettini, L., Damiani, F.: Deltaj 1.5: delta-oriented programming for Java 1.5. In: 2014 Proceedings of PPPJ, pp. 63---74. ACM 2014
[15]
Krueger, C.: Eliminating the adoption barrier. IEEE Softw. 194, 29---31 2002
[16]
Lienhardt, M., Clarke, D.: Conflict detection in delta-oriented programming. In: Margaria, T., Steffen, B. eds. ISoLA 2012, Part I. LNCS, vol. 7609, pp. 178---192. Springer, Heidelberg 2012
[17]
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
[18]
Schaefer, I.: Proceedings of VaMoS 2010. In: International Workshop on Variability Modelling of Software-intensive Systems 2010
[19]
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
[20]
Schaefer, I., Damiani, F.: Pure delta-oriented programming. In: 2010 Proceedings of FOSD, pp. 49---56. ACM 2010
[21]
Strniša, R., Sewell, P., Parkinson, M.: The Java module system: core design and semantic definition. In: 2007 Proceedings of OOPSLA, pp. 499---514. ACM 2007
[22]
Thaker, S., Batory, D., Kitchin, D., Cook, W.: Safe composition of product lines. In: Proceedings of GPCE 2007, pp. 95---104. ACM 2007
[23]
Thüm, T., Apel, S., Kästner, C., Schaefer, I., Saake, G.: A classification and survey of analysis strategies for software product lines. ACM Comput. Surv. 471, 6:1---6:45 2014

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
IFM 2016: Proceedings of the 12th International Conference on Integrated Formal Methods - Volume 9681
June 2016
512 pages
ISBN:9783319336923

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 June 2016

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Product lines of dataflowsJournal of Systems and Software10.1016/j.jss.2023.111928210:COnline publication date: 1-Apr-2024
  • (2023)Deltas for Functional Programs with Algebraic Data TypesProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608977(52-63)Online publication date: 28-Aug-2023
  • (2023)Variability modulesJournal of Systems and Software10.1016/j.jss.2022.111510195:COnline publication date: 8-Feb-2023
  • (2021)From pairwise to family-based generic analysis of delta-oriented model-based SPLsProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A10.1145/3461001.3471150(13-24)Online publication date: 6-Sep-2021
  • (2018)Multi Software Product Lines in the WildProceedings of the 12th International Workshop on Variability Modelling of Software-Intensive Systems10.1145/3168365.3170425(89-96)Online publication date: 7-Feb-2018
  • (2018)A core calculus for dynamic delta-oriented programmingActa Informatica10.1007/s00236-017-0293-655:4(269-307)Online publication date: 1-Jun-2018
  • (2017)A Unified and Formal Programming Model for Deltas and TraitsProceedings of the 20th International Conference on Fundamental Approaches to Software Engineering - Volume 1020210.1007/978-3-662-54494-5_25(424-441)Online publication date: 22-Apr-2017

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media