Zum Abschluß wollen wir auch noch ein Beispiel für mißlungene experimentelle Forschung vorstellen. Und zwar nicht mißlungen in dem Sinne, daß die erwünschten oder erwarteten Resultate beim Experiment ausgeblieben wären, sondern in dem Sinne, daß der Entwurf des Experiments diese Resultate weitgehend irrelevant macht. Es handelt sich um eine Arbeit von Scanlan [Sca89].
Scanlan untersucht die Verständlichkeit von Flußdiagrammen im Vergleich zu Pseudokode. Im einzelnen stellt er die folgenden Hypothesen auf:
Der vorliegenden Arbeit vorangegangen war eine Serie von Experimenten von Shneiderman, Mayer, McKay und Heller [SMMH77], die die Nützlichkeit von Flußdiagrammen als Hilfe bei verschiedenen Arbeitsvorgängen untersuchten: Programmentwicklung, -verstehen, -modifikation und Fehlersuche. Die Experimente fanden keine statistisch signifikanten Unterschiede in der Leistung zwischen Gruppen, die mit Flußdiagrammen arbeiteten und solchen, die das nicht taten, sondern nur Fortran-Quellcode benutzten.
Scanlan führt dies auf Schwächen im Experimentaufbau zurück: zu kleine Gruppen (je 10 bis 30 Versuchspersonen), zu einfache Algorithmen in den Aufgaben, Fragen nach exakten Ausgabeformaten, welche im Flußdiagramm nicht ersichtlich waren, und vor allem fehlende Zeitmessung, sondern Beurteilung nur nach Korrektheit.
Gebe einen einfachen, einen mittleren und einen komplexen Algorithmus in Pseudokode und äquivalent als Flußdiagramm an. Stelle für jeden Algorithmus einen Katalog von Verständnisfragen auf. Stelle eine Experimentiervorrichtung her, die es erlaubt, die Anzahl und Dauer der Blicke auf die Algorithmen zu messen und die Antworten auf die Fragen sowie das Zutrauen der Versuchspersonen in diese Antworten festzuhalten.
Wende dann diesen Versuchsaufbau auf viele Versuchspersonen an und prüfe anhand der Beobachtungen die Hypothesen statistisch.
Am Experiment nehmen 82 Versuchspersonen teil, deren Herkunft, Ausbildung, Alter etc. Scanlan genau dokumentiert.
Scanlan tut alles nur denkbare, um keine unkontrollierten Variablen in seinem Experimentaufbau übrigzulassen. Die Algorithmen werden nur ihrem Kontrollfluß nach festgelegt (ELSE-IF-Ketten) und dann im Zufallsverfahren mit Bedingungen aus einer festen Bedingungsmenge und Anweisungen aus einer festen Anweisungsmenge gefüllt, um sicherzustellen, daß keine der Versuchspersonen bereits mit einem der Algorithmen einmal in Kontakt gewesen ist.
Von jedem Algorithmus werden zwei Versionen A und B erzeugt und der Versuchsperson entweder in der Reihenfolge A als Flußdiagramm, dann B als Pseudokode oder umgekehrt B als Flußdiagramm, dann A als Pseudokode vorgelegt, um Lerneffekte zu vermeiden. Die Auswahl zwischen den Reihenfolgen wird ebenfalls zufällig vorgenommen.
Die Flußdiagramme verwenden in ihren Beschriftungen dieselbe Schriftart und -größe wie der Pseudokode, um Unterschiede in der Lesbarkeit auszuschließen.
Die Experimentdurchführung wurde komplett von einem Computer gesteuert, der mittels einer Spezialvorrichtung die auf Papier gedruckten Flußdiagramme oder Pseudokodes sichtbar und unsichtbar machen konnte, um die Messung der Betrachtungszeit und -häufigkeit zu erlauben. Die Fragen wurden auf dem Bildschirm angezeigt, Antworten wurden über die Tastatur eingegeben. Die Versuchsperson konnte mit einem Knopf steuern, ob sie die nächste Frage sehen und die Antwort eingeben wollte, oder den Pseudokode bzw. das Flußdiagramm betrachten; beides zugleich war nicht möglich. Dadurch sollte der Zeitaufwand für diese beiden zeitlichen Teile der Bearbeitung der Aufgaben klar erfaßbar werden.
Um ungleiche Behandlung der Versuchspersonen zu vermeiden, wurden alle Anweisungen in den Übungsphasen vor Experimentbeginn mittels eines Sprachausgabegeräts ebenfalls direkt vom Computer gegeben. Das Experiment fand ferner in einem tageslichtlosen, schallgedämmten Raum statt.
Um die Varianz der Versuchspersonen im Hinblick auf das Verständnis der Experimentalprozedur zu reduzieren, wurde jeder Versuchsperson einige Tage zuvor eine sechsseitige Beschreibung ausgehändigt und zum Experiment nur solche Personen zugelassen, die im ersten oder zweiten Versuch eines Tests mit 10 Fragen über das Experiment mindestens 9 richtig hatten.
Hier ist zur Veranschaulichung der Pseudokode des Algorithmus mittlerer Komplexität in derselben Form, die im Experiment benutzt wurde. Der Gegenstand des Algorithmus sind Behandlungsvorschriften für Gemüse:
PROC IF GREEN THEN IF CRISPY THEN STEAM ELSE CHOP ENDIF ELSE FRY IF LEAFY THEN IF HARD THEN GRILL ELSE BOIL ENDIF ELSE BAKE ENDIF ENDIF END PROCdieses Programm enthält 4 Tests (Adjektive) und 6 Anweisungen (Verben). Das einfache Programm ist genau analog aufgebaut und enthält 2 Tests und 4 Anweisungen, das ,,komplexe`` ist ebenfalls analog und enthält 6 Tests und 8 Anweisungen. Keines der Programme enthält eine Schleife, einen Test, dessen Bedingung aus mehr als einem Wort besteht, oder eine Anweisung, die aus mehr als einem Wort besteht. Das Layout des Pseudokodes war jeweils wie oben.
Zu diesen Programmen hatten die Versuchspersonen Fragen zu beantworten und zwar 12 über das einfache Programm, 36 über das mittlere und 60 über das komplexe. Die Fragen hatten zum Beispiel die folgende Form: ,,What are the values (true/false/unknown) at all decisions in the algorithm when the vegetable is boiled¿`
Alle Hypothesen konnten bestätigt werden:
Trotz seines handwerklich so sauberen Aufbaus ist das Experiment ein furchtbarer Mist. Das Problem besteht darin, daß die konkreten Aufgabenstellungen so grotesk unrealistisch sind, daß die Ergebnisse einfach gar nichts aussagen. Hier die Probleme im einzelnen: