Я ищу инструмент, который мог бы сравнивать исходные коды для сходства.
У нас сейчас очень тривиальная система, которая имеет огромное количество ложных срабатываний, и реальные положительные результаты могут быть легко зарыты в них.
Мои требования:
- достаточно небольшое количество ложных срабатываний
- хорошая скорость обнаружения (да, они идут друг против друга)
- идеально с более сложным результатом, чем просто одно значение
- для C (C99) и С++ (С++ 03 и оптимально С++ 11)
- все еще поддерживается
- используется для сравнения двух исходных файлов друг с другом.
- используется в неинтерактивном режиме
EDIT:
Чтобы избежать путаницы, следующие два фрагмента кода идентичны и должны быть обнаружены как таковые:
for (int i = 0; i < 10; i++) { bla; }
int i; while (i < 10) { bla; i++; }
То же самое и здесь:
int x = 10; y = x + 5;
int a = 10; y = a + 5;