kirancodes.me
To Proof Maintenance & Beyond!

Fitting the pieces together: a machine-checked model of safe composition

Benjamin Delaware, William R. Cook, Don S. Batory

Abstract

Programs of a software product line can be synthesized by composing features which implement a unit of program functionality. In most product lines, only some combination of features are meaningful; feature models express the high-level domain constraints that govern feature compatibility. Product line developers also face the problem of safe composition - whether every product allowed by a feature model is type-safe when compiled and run. To study the problem of safe composition, we present Lightweight Feature Java (LFJ), an extension of Lightweight Java with support for features. We define a constraint-based type system for LFJ and prove its soundness using a full formalization of LFJ in Coq. In LFJ, soundness means that any composition of features that satisfies the typing constraints will generate a well-formed LJ program. If the constraints of a feature model imply these typing constraints then all programs allowed by the feature model are type-safe.

BibTeX
@inproceedings{Delaware-al:FSE09,
  author    = {Benjamin Delaware and
               William R. Cook and
               Don S. Batory},
  title     = {Fitting the pieces together: a machine-checked model of safe composition},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {243--252},
  publisher = {{ACM}},
  year      = {2009},
}

Related papers