On finding duplication and near-duplication in large software systems | Synapse