Testing component-based software: a cautionary tale | Synapse