[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sq] keine Endlosschleife in 11.1 ?!
Hallo zusammen,
Alexander Knobeler schrieb:
In der Übung tauchte heute die Frage auf, ob es bei Aufgabe 11.1 zu
einer Endlosschleife kommen kann.
Theoretisch wäre das in Zeile 21 möglich, wenn man
i = i - 1 mit der dritten Transformationsmutation mutiert zu
i = i + 0
Ich hatte mich gewundert, warum dies bei mir (JUnit-Test) nicht der Fall
war.
Meiner Meinung nach ist aber die Konstante hier die 1 und das - nur ein
Operator.
Die Mutation müsste also lauten
i = i - 2
So macht es übrigens auch Jester ;) .
So terminiert das Programm, das Ergebnis ist natürlich trotzdem falsch.
... klingt vernünftig. Es müssen die Konstanten um eins erhöht werden,
und nicht das Ergebnis der jeweiligen Operation. Vielen Dank für den
Hinweis. :-)
Die zweite Möglichkeit eine Endlossschleife zu erzeugen ist es , < gegen
> und > gegen < zu tauschen
und dann negative n einzusetzen. So wird Zeile 15 nicht erreicht und in
der while schleife ist und
bleibt i immer negativ. Nimmt man die Mutationen wörtlich, war genau das
aber nicht gefordert.
Es sollte ja nur < gegen > getauscht werden. So wird Zeile 15 zwar
weiter nicht erreicht,
die while-Schleife aber sofort übersprungen. Programm terminiert wieder,
Ergebnis wieder falsch.
... klingt ebenfalls gut. In der Tat sind die Transformationen auf dem
Aufgabenblatt wohl recht unrealistisch, denn eigentlich will man durch
die Mutationen ja _kleine_ Fehler in das Originalprogramm einschleusen
und nicht regelmäßig wiederkehrende (und das Programm so insgesamt
deutlich verändern). Andererseits wäre die Aufgabe mal wieder recht
schnell ziemlich ausgeufert, wenn man für jede Änderung manuell einen
eigenen Mutanten erstellen wollte und diese Mutanten anschließend alle
miteinander vergleicht. Das automatisieren wir dann später doch lieber
(im Zweifelsfall mit "Jester").
Also bearbeitet die Aufgabe einfach mal so wie angegeben. ;-)
@ Wolfgang: Bist Du damit so einverstanden oder mach ich hier noch nen
Denkfehler?
... zu allem Zustimmung soweit. :-)
Viele Grüße
Wolfgang
--
Dipl.-Inf. Wolfgang Runte woru@xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Institut für Informatik +49-541-969-2487 (Fon)
Universität Osnabrück +49-541-969-2799 (Fax)
Albrechtstraße 28, Raum 31/317 http://www.inf.uos.de/se
D-49069 Osnabrück