Identifying shared functionality using latent semantic indexing