Reengineering analysis of object-oriented systems via duplication analysis