An empirical approach to studying software evolution | Synapse