См. Наш инструмент CloneDR .Он находит дубликаты кода в больших программных системах, используя точный синтаксический анализ для поиска совпадений, руководствуясь синтаксисом языка (сопоставление AST), игнорируя изменения в пробелах и разрывы строк.Он найдет точные дубликаты и дубликаты, почти пропущенные.Для почти дубликатов, он сообщает о различиях между ошибками в качестве параметров;это почти говорит вам, как кодировать подпрограмму замены для клонов.
CloneDR работает на разных языках: C, C ++, C #, COBOL, EGL, Java, JavaScript, PHP, Python и многих других.Примеры отчетов об обнаружении для каждого из них можно найти по ссылке.