Constructing software asset variants by composing pre-existing components | IEEE Conference Publication | IEEE Xplore