Fitting the pieces together

Benjamin Delaware, William R. Cook, Don Batory
2009 Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering on European software engineering conference and foundations of software engineering symposium - ESEC/FSE '09  
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 highlevel 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
more » ... on, 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.
doi:10.1145/1595696.1595733 dblp:conf/sigsoft/DelawareCB09 fatcat:wlcnxe7llrhqhg6cw6tp65ezwa