Software-Steckbrief
Nummer | S07-19 |
Produkt | AntiCutAndPaste |
Hersteller | ACNP Software, support@anticutandpaste.com |
Web-Site | http://www.anticutandpaste.com/ |
Software-Typ | Code Checker -Prüft auf Übereinstimmungen in Programmcode, zum installieren |
Kosteninfo | AntiPlagiarist $29.95 AntiCutAndPaste (Windows) $24.95 AntiCutAndPaste (Linux) $19.95 |
Testdatum | 7. September 2007 |
Testüberblick
Testablauf/Kommentare
- Die Firma hat zwei Produkte, AntiPlagiatist für Texte und AntiCutUndPaste für Programmcode.
- Wir haben AntiCutAndPaste heruntergeladen und auf zwei präperierte C# Klassen getestet, die mit 14 Überarbeitungen durchsetzt war.
- Nach dem Aufruf sieht man die Oberfläche in Screenshot 1. Der Bericht ist sehr schwer zu verstehen (siehe Screenshot 2)
- Wir haben auch AntiPlagiarist auf die beiden Codestücke angesetzt, er hat keine Übereinstimungen gemeldet.
Einzeltests
- org_code.cs: 422 Zeilen, changed_code.cs: 441 Zeilen
- Der Bericht wird sehr schell erstellt.Er ist aber in der kostenlosen Testversion nicht druck- oder kopierbar.
- Es werden 27 gleiche Fragmente gemeldet
- 1. Fragment: Es werden 5 Fragmente gemeldet mit 375 übereinstimmenden Zeichen, 1723 Zeichen insgesamt – das ist völlig unverständlich, denn es werden 3 Fragmente in einer Datei gemeldet, 2 in der anderen, so dass man nicht so recht versteht, was los ist. Man muss zurück zu den Dateien, die Zeilennummern aufschlagen, nebeneinander legen und sehen – tatsächlich, die Zeichenreihen stimmen überein. Umständlich.
- Auch bei den nächsten Fragmenten stellen wir fest: es wird nur die Zeichenreihenübereinstimmung getestet. Es werden allerdings Leerschritte rausgeholt, wir haben weitere Dateien mit zusätzlciehn Zeilen und Leerschritten präperiert. Auch Änderungen in den Kommentaren werden hingenommen, es wird also nur geschaut, ob es Kommentare gibt, nicht, was da drin steht.
- Wir benennen weitere Variablen um – damit verschwindet die Ankündigung der Übereinstimmung. Das heisst, dass gebundene Umbenennungen nicht erkannt werden.
- Kommentarform-Anderungen (/* …*/ in // umgewandelt und umgekehrt) werden allerdings nicht als Übereinstimmung angesehen.
- Dafür werden übliche Wiederverwendungen von Code-Fragmenten im eigenen Code als Kopie gemeldet.
- Das System scheint also die whitespace (Leerschritte, neue Zeilen) und die Kommentare zu ignorieren und nach genauer Zeichenübereinstimmung zu suchen. Allerdings werden Kommentare auch nicht näher angesehen, wenn sich die Form der Herauskommentierung ändert, wird keine übereinstimmung gefunden.
Bewertung
Es wurde nur 1 der Änderungen gefunden. Mit 3 Punkten für ein „ja“, 1 für ein „teilweise“ und 0 für „nichts“ erreicht dieses System lediglich 3 von 45 Punkten. Zur Code-Vergleich ist dieses System nicht zweckmässig.
Änderung | Beschreibung | Erkannt? |
---|---|---|
1 | Kommentare gelöscht | nein |
2 | Klasse umbenannt | nein |
3 | Variable umbenannt | nein |
4 | Form der Kommentare geändert | ja |
5 | Klassenvariablen verschoben | nein |
6 | Kommentare ergänzt | nein |
7 | Geschweifte Klammern um Anweisung ergänzt | nein |
8 | Kommentare verschoben | nein |
9 | Ausdruck in einen äquivalenten Ausdruck umformuliert | nein |
10 | NOOP eingefügt: for (int i=0; i<1;i++){} | nein |
11 | Methode umbenannt | nein |
12 | Methode verschoben | nein |
13 | Zwei Codezeilen vertauscht | nein |
14 | Zwei Case-Zweige vertauscht | nein |
15 | Ungenutzte Definition eingefügt | nein |
Screenshots
Firmenwerbung:
„AntiCutAndPaste is designed to search for text fragments that have been copied and pasted in programming language source code or plain text. It is tested on sources from large C++, Visual Basic, Delphi, Java, and C# projects. AntiCutAndPaste will yield surprising results not only with publicly available sources samples but also with your own projects.“