Experiments in identifying reusable abstract data types in program code