Automated, contract-based user testing of commercial-off-the-shelf components | Synapse