Ergebnis der Abschreibmatrix fuer queue
Ich kann das mit ein paar Zahlen verdeutlichen.
Es wurden in diesem Semester 152 Lösungen abgeben. Unter diesen Lösungen gab es 3
Lösungen, die ein Übereinstimmung von mehr als 74% hatten. 3 von 152 Lösungen!
Diese habe ich mir angeschaut und alle als nicht Abgeschrieben gewertet.
Am Ende zählt was wir denken. Wir benutzen den automatischen Test nur um
mögliche Kandidaten zu finden.
Insgesamt habe ich jedoch gegen 849 Lösungen getestet. 13 von 849 waren über
74%. Davon ~5 Lösungen die von Wiederholern abgegeben wurden. Diese
lagen so zwischen 80%-90% Übereinstimmung. Man beachte das sind Lösungen,
welche “nur” überarbeitet wurden. Und nochmals ~2 false Positive wo ich auch an
einen Zufall glauben kann.
3 von 13 habe ich als abgeschrieben gewertet. Also keine Angst wir suchen, dann
schon auch noch nach anderen Indikatoren. z.B.
Lösung von WS 2002:[code]
typedef struct SWart {
struct SWart *next;
unsigned int wert;
} wart;
wart *start_pointer = NULL;[/code]
Lösung von SS 2005:[code]
typedef struct swart {
struct swart *next;
unsigned int wert;
} wart;
wart *start_pointer = NULL;[/code]
Man findet dann auch meistens noch Artifakte, welche dem Test nicht auffallen
wie seltsame Bezeichner (swart). Die sind dem Test eigentlich egal, aber mir
dann nicht. Das beste war einmal eine Lösung, wo offensichtlich beim Abtippen
eine 1 mit einem l verwechselt wurden. Die sind auch schwer zu unterscheiden.
int 1; /* <= Das ist eine Eins und kein kleines L */
for (l=0;l<100;l++) ...
Durch den Abschreibtest ist dieser Fall zu erst einmal nicht entdeckt worden, die
übereinstimmung war unter 60%. Eine Konstante an dieser Stelle verändert, ja
auch die Semantik. Erst nach der Fehlerbehebung schlug die
Abschreibmatrix zu. Man sollte dann doch wissen das Dateien auch kopiert werden
können, man muss diese nicht Abtippen! :wand: