Estoy buscando una herramienta que pueda comparar los códigos fuente de similitud.Detector de código similar
Tenemos un sistema muy trivial en este momento que tiene una gran cantidad de falsos positivos y los verdaderos positivos pueden enterrarse fácilmente en ellos.
Mis requisitos son:
- razonablemente pequeña cantidad de falsos positivos
- buena tasa de detección (sí estos van uno contra el otro)
- a ser posible con una salida más complejo que un solo valor
- utilizable para C (C99) y C++ (C++ 03 y óptimamente C++ 11)
- todavía mantiene
- utilizable para co mparing dos archivos fuente de uno contra el otro
- utilizable en modo no interactivo
EDIT:
Para evitar confusiones, los siguientes dos fragmentos de código son idénticos y deben ser detectados como tales:
for (int i = 0; i < 10; i++) { bla; }
int i; while (i < 10) { bla; i++; }
Lo mismo aquí:
int x = 10; y = x + 5;
int a = 10; y = a + 5;
¿La diferencia satisface algunas de sus necesidades? –
@HighPerformanceMark LOL, no, no es así. –
Parece como si quisiera una herramienta que compara la similitud semántica de 2 códigos, en lugar de la sintáctica. Sospecho que este es un problema sin resolver y que SO tendrá dificultades para encontrar una solución satisfactoria para usted. Creo que, tal como está escrito, su pregunta original engañará a muchos lectores al igual que me engañó. También creo que debería reescribirlo completamente para indicar claramente el tipo de comparación que le interesa. –