An information retrieval approach for automatically constructing software libraries | Synapse