[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