A Precise Method for Identifying Reusable Abstract Data Types in Code