Shelf:Software reverse engineering