Tipps zum Anzeigen von Ähnlichkeiten in Dateien

8

In einem Projekt habe ich einige CSS-Dateien gefunden, die "riechen", als wären darin kopierte Regeln eingefügt.

Ich frage mich, mit welchen Strategien Sie Copy-Paste-Dateien in Dateien erkennen.

Aus reiner Neugier möchte ich Ihre Tipps und Tricks zum Anzeigen von Dateiähnlichkeiten hören!

    
Jesper Rønn-Jensen 08.10.2009, 09:22
quelle

3 Antworten

4

Probieren Sie Simian .

Es wird für die Copy-Paste-Erkennung im Quellcode (Java, C #, C, C ++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, Groovy) verwendet, aber Sie können dies im Klartext ausführen Dateien auch.

    
The Chairman 08.10.2009, 09:32
quelle
3

Es gibt ein Copy-Paste Detection (CPD) -Projekt auf Sourceforge; Ссылка

Aber selbst in großen Projekten finde ich meine eigenen Kenntnisse des Codes als zuverlässigen (wenn auch nicht idiotensicheren) Erkennungsmechanismus.

Siehe auch diese Frage für weitere Vorschläge.

>     
Ed Guiness 08.10.2009 09:25
quelle
1

Unser Semantic Designs CloneDR ist ein Tool, das Code-Paste-Edit-Blöcke von Code für viele Sprachen erkennt: C , C ++, Java, C ++, COBOL, ECMAScript, PHP, VB6, VB.net, ...

Es verwendet sprachgenaue Parser, um abstrakte Syntaxbäume zu erstellen, die genauen Programmstrukturen entsprechen, die dann auf Ähnlichkeit verglichen werden. Dies bedeutet, dass es in keiner Weise durch Leerzeichen, Formmatting, Kommentare oder sogar unterschiedliche "Schreibweisen" von Literalen (z. B. 3.14159 ist gleich wie .00314150E3) verwechselt wird.

Erzeugt einen Bericht, der genau zeigt, wie die Code-Blöcke ähnlich sind und wie sie genau variieren. Sie können Beispielberichte über den Link sehen.

    
Ira Baxter 01.02.2010 18:44
quelle

Tags und Links