A study of code reuse and sharing characteristics of Java applications | Synapse