Uncovering the relationships among classes and packages in software evolution