Improving software modularization via automated analysis of latent topics and dependencies