title = {{Compositional Type-Checking for Delta-oriented Programming}},
  author = {Schaefer, Ina and Bettini, Lorenzo and Damiani, Ferruccio},
  booktitle = {Proceedings of the tenth international conference on Aspect-oriented software development, AOSD '11},
  pages = {43--56},
  abstract = {Delta-oriented programming is a compositional approach to flexibly
      implement software product lines. A product line is represented
      by a code base and a product line declaration. The code base consists
      of a set of delta modules specifying modifications to object oriented
      programs. The product line declaration provides the connection
      of the delta modules with the product features. This separation
      increases the reusability of delta modules.
      In this paper, we provide a foundation for compositional type
      checking of delta-oriented product lines of JAVA programs by presenting
      a minimal core calculus for delta-oriented programming.
      The calculus is equipped with a constraint-based type system that
      allows analyzing each delta module in isolation, such that that also
      the results of the analysis can be reused. By combining the analysis
      results for the delta modules with the product line declaration it is
      possible the establish that all the products of the product line are
      well-typed according to the JAVA type system.},
  year = {2011},
  url = {http://doi.acm.org/10.1145/1960275.1960283},
  publisher = {ACM},