Improving Software Modularization via Automated Analysis of Latent Topics and Dependencies