Retrieving reusable software by sampling behavior | Synapse