Composing software components : A Software-testing Perspective (2010)