Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Experimenteller Entwurf für kontrollierte Experimente
Stefan Hanenberg(University of Duisburg-Essen)
Eine intuitive Einführung
Prolog
● Annahme für dieses Kapitel:
Menschen als Bestandteil der Forschungsfrage
● Bsp.● Menschen können mit Technik A besser....● Menschen machen weniger Fehler mit B...● Je häufiger ich (Mensch) C machte, desto
schlechter werde ich in D...
Prolog
Wie sind hier![Hanenberg, Faith, Hope, Love, Onward'10]
Intuitive Einführung (1)
● Beispiel und D iskussion● Ich g laube, dass d ie Programm iersprache Java besser
als Smalltalk für die Durchführung von Softwareprojekten geeignet ist.
Wie kann ich den Nachweis erbringen?
Intuitive Einführung (2)
● Erste Idee● Ich lasse von 2 Entwicklerteams à 5 Personen einen
HTML 1.0 Browser entwickeln, dann vergleiche ich, wann beide Gruppen die Aufgabe bewältigt haben
● Zweite Idee● Ich lasse von 4 Studenten “HelloWorld” schreiben, 2
Stundenten in Java, 2 Studenten in Smalltalk. Dann vergleiche ich, welche der beiden Gruppen schneller war.
Intuitive Einführung
Gedankenexperiment für 2te Idee (1)
● Annahmen● Es gibt keinen Zeitunterschied zwischen Java und Smalltalk● Jeder Student braucht (gleichverteilt) zwischen 1 und 10 Minuten
● KonklusionDa mean(Java) > mean(ST) → Smalltalk besser geeignet
● Was ist das Problem???
Zeit in Minuten
Java 2, 9
Smalltalk 2, 3
Intuitive Einführung
Etwas Brainstorming...
● Unterschiedliche Lösungen● Was wurde eigentlich gemessen (Sprach, IDE, Editor, Vertrautheit mit Editor, Zeit, bis Student aufgibt)?
● Wie ist Bezug zur Aussage: „Java besser geeignet als Smalltalk?“
Terminologie für kontrollierte Experimente
Ziele und Anforderungen an kontrollierte Experimente
● (Klare) Hypothesen● Messen von abhängigen Variablen● Kontrolle über freie Variablen und weitere Variablen● (Möglichst) wenig Störfaktoren● (Klarer) Experimenteller Aufbau● Durchführung von Messungen● Durchführung von quantitativen Analysen
(Inferenzstatistik)
Kontrollierte Experimente – warum?
● Aussagen über softwaretechnische Artefakte unter Einbeziehung der menschlichen Komponente
● Nachweis/Beleg für Richtigkeit einer „nicht vollständig formal beschreibbaren Ursache-Wirkung Beziehung“
● Alternativen zu kontrollierten Experimenten● Feldstudien, Case Studies
● Anmerkung:● Für vollständig formal beschreibbare Aussagen sind
empirische Methoden i.d.R. weniger geeignet
Logik von kontrollierten Experimenten
● Grundlegende Idee aus dem kritischen Rationalismus● Eine Hypothese wird geprüft (nicht bewiesen!)● Das erfolgreiche Testen einer Hypothese erhöht das
Vertrauen in diese (aber beweist sie nicht)● Falsifizieren einer Hypothese zeigt (beweist), dass diese
falsch ist
Logik von kontrollierten Experimenten
Aussagenlogische Formulierung
((H IMPL P) AND NOT P) IMPL NOT H
H = Hypothese, P = Phänomen● Wenn eine Hypothese ein Phänomen impliziert, dieses
Phänomen aber nicht auftritt, so ist die Hypothese falsch● Es muss nicht gezeigt werden, dass das Phänomen nicht auftritt,
sondern nur, dass eine Implikation des Phänomens nicht auftritt● Beispiel
– Hypothese: „Es regnet“, Phänomen: „Draussen ist es nass“– Implikation des Phänomens: „Auf meiner Straße ist es nass“– Wenn es also auf meiner Straße nicht nass ist, dann ist
Aussage „es regnet“ falsch
Logik von kontrollierten Experimenten
● Kritik● Falsifizierung einer Hypothese ist keine Boolsche Variable,
sondern statistischer Wert● Falsifizierung nicht endgültig (!!!), sondern nur “statistisch
wahrscheinlich”● Was tun, wenn Hypothese falsch ist?
● Idee 1: Gesamte Theorie verwerfen, neue Theorie erdenken– Gänzlich unpraktikabel (aber wissenschaftlich vertretbar)
● Idee 2: Teile der Theorie verwerfen und Modifizieren– Praktikabel (wenn auch aus wissenschaftlicher Sicht willkürlich =>
Widerspruch zu ad hoc Modifikationen a la Popper)
Kontrollierte Experimente – Phasen
● Bestimmung der Hypothese(n)● Verhältnis von abhängigen und unabhängigen Variablen
● Experimentaufbau● Erstellung von Aufgaben, Fragebögen, etc.● Experimentelles Design
– Anzahl von Gruppen, Zuordnung von Gruppen, etc.● Experimentdurchführung
● Räumlich / zeitliche Ähnlichkeit, etc.● Statistische Analyse
● Gemessenes Verhältnis von abhängigen und unabhängigen Variablen / Vergleich mit Hypothesen
● Interpretation / Diskussion
Hypothese
● Definition● Überprüfbare (falsifizierbare) Aussage● All-Aussage (keine Existenzaussage)
● D.h.
Nach experimenteller Überprüfung ist unzweideutig klar, ob Hypothese widerlegt wurde
Hypothese
● Beispiele“Java ist besser als Perl.”Keine Hypothese, da “besser” nicht quantifizierbar dargestellt
“Die Entwicklung eines Java-Projekts kann bis zu 50% weniger Zeit beanspruchen als ein vergleichbares Perl-Projekt.”Keine Hypothese, da “kann bis zu” eine Existenzaussage, keine All-Aussage
“Die Entwicklung eines Java-Programms dauert 50% weniger Zeit als die Entwicklung eines Perl-Programms.”Hypothese (wenn auch etwas naiv)
Unterschiedliche Formen von Hypothesen
● Unterschiedshypothesen● Sagt etwas über eine zweifach gestufte Änderung einer
unabhängigen Variablen im Vergleich zu abhängiger Variablen aus
● Zusammenhangshypothesen● Sagt etwas über die (mehrfache, ordinalskalierte) Änderung einer
unabhängigen Variablen im Vergleich zu abhängiger Variablen aus
● Beispiele● “Java-Entwicklung dauert weniger Zeit als eine Perl-Entwicklung.”
(Unterschiedshypothese)
● “Je größer die Testüberdeckung mit einem Programm, desto höher die Anzahl der gefundenen Fehler.” (Zusammenhangshypothese)
Von Hypothesen zu Theorien...
● E ine Menge von Hypothesen w ird a ls Theorie bezeichnet
● Eine Theorie kann dadurch falsifiziert werden, indem eine der Hypothesen falsifiziert wird
Falsifikation einer Theorie/Hypothese
● Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend, eine Implikation der Theorie (oder Hypothese) zu falsifizieren
● Beispiel● “Die Entwicklungszeiten von Programmen m.H.v.
visuellen Programmiersprachen ist geringer als die Entwicklungszeiten von Programmen m.H.v. zeichenbasierten Programmiersprachen”
● Für Falsifikation ist es ausreichend eine zeichenbasierte und eine visuelle Sprache zu finden, für die das nicht gilt!
Ziel eines Experiments
● Unterschiedshypothesen● Feststellung eines Unterschieds
● Zusammenhangshypothesen● Zusammenhang zwischen Variablen
● Messen von keinem Unterschied oder keinem Zusammenhang potentielles Problem● 1. Interpretation: Es gibt keinen Unterschied● 2. Interpretation: Das Experiment hat „Probleme“ (später mehr)
Faustregel für Hypothesen
Faustregel Hypothesen 1
Unterschiedshypothesen sind einfacher zu testen als Zusammenhangshypothesen.
Faustregel Hypothesen 2
Hypothesen müssen immer wohlbegründet sein und vor der Experimentdurchführung aufgestellt werden
Faustregel Hypothesen 3
Ziel des Experiments ist es, einen Unterschied herbeizuführen!
Experimentaufbau – Vorüberlegungen und Fallstricke
Probleme bei Experimenten
● Hauptproblem: Streuung und Effektgröße ● Probanden: das 10x Problem● Aufgaben: das „HelloWorld“ und
„WorldDomination“-Problem● Messungen: Wie messen?● Versuchsaufbauten: Welcher Aufbau passt?
Das Problem: Streuung und Effektgröße
● Beispiel
Vergleich zweier Systeme, beide Stichproben normalverteilt
Beispiel 1: Gleiche Mittelwerte, untersch. Streuung
Das Problem: Streuung und Effektgröße
Beispiel 1: Gleiche Mittelwerte, untersch. Streuung
● Beispiel
Wenn Streuung bei gleichem Mittelwert zu groß, dann kein gemessener Unterschied!
Große Überlappung=> kein (signifikanter) Unterschied
Das Problem: Streuung und Effektgröße
● BeispielWenn Streuung bei gleichem Mittelwert zu groß, dann kein gemessener Unterschied!
● Konsequenz● Selbst wenn Unterschied vorhanden, kann große Streuung in Stichprobe den
Unterschied „zu klein“ machen
Beispiel 1: Gleiche Mittelwerte, untersch. Streuung
Große Überlappung=> kein (signifikanter) Unterschied Kleine Überlappung
=> Unterschied gemessen!
Das Problem: Streuung und Effektgröße
● Beispiel
Vergleich zweier Systeme, beide Stichproben normalverteilt
Beispiel 2: Untersch. Mittelwerte, gleiche Streuung
Das Problem: Streuung und Effektgröße
● BeispielWenn Differenz der Mittelwerte bei gleicher Streuung zu klein, dann kein signifikanter Unterschied
● Konsequenz● Selbst wenn Unterschied vorhanden, können zu kleine Differenz der
Mittelwerte Unterschied nicht feststellbar machen
Beispiel 2: Untersch. Mittelwerte, gleiche Streuung
Große Überlappung=> kein Unterschied Kleine Überlappung
=> Unterschied
Das Problem: Streuung und Effektgröße
● Streuung (und zum Teil Effektgröße) wird unter anderem durch Störvariablen beeinflusst.
● Störvariablen: Einflußgröße auf ein Experiment, welches nicht im Fokus des Experiments steht
● Problem:
Störvariablen beeinflussen Messergebnisse, obwohl Störvariablen nicht im Fokus des Experiments sind
● Beispiele für Störvariablen:
Kulturelle Unterschiede zwischen Probanden, Unterschiedliche Programmierstile, Unterschiedliches Vorwissen, Tagesform, Konzentriertheit, Motivation, etc., individuelle Unterschiede, etc.
● Problem● Größenordnung von Störvariablen häufig nicht bekannt in der Softwaretechnik
Faustregeln für Experimente
● Möglicher Einfluß des Experimentierers● Aufgaben, die Probanden gegeben werden● Training der Probanden● Experimentaufbau● ...etc....
Faustregel Experimentaufbau 1
Versuche, Streuung im Experiment gering zu halten.
Faustregel Experimentaufbau 2
Versuche, Unterschiede in Mittelwerten groß genug zu halten.
Problem Probanden: das 10x Problem (1)
Frage
Was ist der Unterschied zw ischen einem Experiment im Bereich Blutdruck (bei Menschen) und Benutzbarkeit von Programmiersprachen?
Problem Probanden: das 10x Problem (2)
Mögliche Antworten● Ich kann keine „willkürliche Person“ testen – jeder „hat“ einen
Blutdruck, aber nicht jeder Proband „kann“ eine Programmiersprache
=> Problem: Probandengewinnung ● Großes Wissen über Blutdruck vorhanden (Messwerkzeuge,
Durchschnittswerte, Beziehung von Blutdruck und Krankheiten, etc.) über Programmiersprachen nicht
=> Problem: Experiment auf recht unbekanntem Terrain● Es gibt keinen Menschen auf der Welt, der einen Blutdruck über
1000 hat, aber es gibt Leute, die HelloWorld in 30 sekunden schreiben, andere in 30 Minuten!● => Problem: Das 10x Problem
Problem Probanden: das 10x Problem (3)
● Allgemein akzeptierte Annahme
Zwei (auch professionelle) Entwickler können um den Faktor 10 abweichen● Konsequenz:
Es ist immer mit sehr großer Streuung zwischen Probanden zu rechnen!
● Keine großen Studien über die „Größe“ des Problems (Faktor 5, 10, 100, 1000?) => Größenordnung unbekannt, Faktor 10 ist eine Zahl, die häufig anzutreffen ist....
● Annahme „häufig“ in Literatur zu finden● Experimentierer „sprechen häufig“ über das Problem der
Probandenstreuung
Faustregel: 10x-Problem
Faustregel 10x-Problem
Unterstelle beim Versuchsaufbau, in der Entwickler „entwickeln“, dass es eine sehr, sehr große Streuung zwischen Entwicklern gibt
Problem: Aufgabenstellung
● Problem● Aufgabenstellungen haben häufig großen Einfluß
auf Messungen und Ergebnisse● Ziel der Aufgabenstellung
● Es muss messbar sein– Ob (und ggf. wie) die Aufgabe gelöst wurde
● Resultierende Messwerte sollten gut die Hypothese widerspiegeln
● Störvariablen sollten keine nennenswerte Rolle spielen
HelloWorld-Problem
● Überlegung● Ich möchte Unterschiede in Entwicklungszeiten zwischen Java
und Smalltalk feststellen (Annahme: t(Java)<t(ST))● Idee: Ich lasse 20 Studenten „HelloWorld“ schreiben (simpelste
Aufgabenstellung) und Messe Entwicklungszeit
● HelloWorld-Problem● Programmieraufgabe zu simpel ● Faktor Zufall großes Problem● Wenn Lösung der Aufgabe nur 10 Sekunden dauert, dann
spiegeln sich Faktoren wie Tippgeschwindigkeit, Niesen, Gähnen sehr stark in Messwerten nieder
WorldDomination-Problem
● Überlegung● Ich möchte Unterschiede in Entwicklungszeiten zwischen Java und
Smalltalk feststellen (Annahme: t(Java)<t(ST))● Idee: Ich lasse 20 Erstsemesterstudenten einen Algorithmus zur
Bestimmung der starken Zusammenhangskomponenten mit Laufzeit O(n 3) erstellen
● WorldDomination-Problem● Programmieraufgabe zu schwer● Viele, viele unterschiedliche Faktoren (Entwurfszeit, Rumprobieren,
Kollegen fragen, etc.) beeinflussen Messergebnisse
=> Zeitmessung erfasst nicht das Wesentliche● Unterschiede (im Verhältnis zur Gesamtaufgabe) zu gering
=> Aufgabe „konzentriert“ sich nicht auf Hypothese
Aufgabenstellung
● Ziele● Aufgabenstellung reflektiert unm ittelbar die
Hypothese● Keine Messverluste für „Vorbereitung, Einlesen,
etc.“● Aufgabe „irgendeinen Bezug zur Realität“ (...immer
problematisch...)
Aufgabenstellung
● Klassisches Problem:● Aufgabe: Schreiben Sie HelloWorld möglichst elegant
und modular● ....ist einem Probanden die Aufgabenstellung klar?
Faustregel Aufgabenstellung
Eine Aufgabe muss so gestellt sein, dass es für den Probanden und den Experimentierer „klar“ (objektiv) ersichtlich ist, dass und wie eine Aufgabe gelöst wurde.
Problem: Wie messen?
● Messen hängt direkt von Hypothese ab
Wenn Hypothese eine Aussage über Zeit ist, sollte ich keinen Blutdruck messen...
● Unterschiedliche Formen des Messens● Direkte Messung
– Hypothese „Zeit bis zur Abgabe...“ => Zeitmessung
● Indirekte Messung– Hypothese „Verständnis wird größer...“
=> Messung der Anzahl der Fehler● Meinungsbasierte Messungen
– Hypothese „Entwurf verbessert sich....“=> Lass Entwürfe von Experten begutachten
Problem: Wie messen?
● Messarten beeinflussen Experimentgüte● Direkte Messung
– „Relativ geradlinige“ quantitative Auswertung– Unterschiedliche Verfahren für unterschiedliche Skalen
● Indirekte Messung– Häufiges Problem: Unklares Verhältnis zu Hypothese
● Meinungsbasierte Messung– Gutachter müssen vorgebildet werden (Bewertungskriterien, etc.
=> häufig unklar)– Gutachter stellen selbst Stichprobe dar (das Streuungsproblem
ist nun auch in der Messung drin!)– Es muss erst festgestellt werden, ob Gutachter übereinstimmen!
Problem: Wie messen?
● Verhältnis von Messung auf Aufgabe● Messung sollt „möglichst genau“ hinsichtlich
Aufgabenstellung sein● „Vorarbeiten“ (Einlesezeit, Einarbeitungszeit, Zeit
für Verständnis des Problems, Erlernen der eingesetzten Techniken, etc.) sollte möglichst außerhalb der Messung liegen
Problem: Wie messen?
● Aufgabe und Messung müssen „harmonieren“● Bsp:
– Messung der Anzahl der Laufzeitfehler in resultierender Software
– Aufgabenstellung (und Entwicklungszeit) muss ausreichen, damit
a) Aufgaben „ausreichend gut“ ge löst werden können, dam it nicht „alle vollständige inkorrekte Programme“ abgebena) Aufgaben „ausreichend schlecht“ gelöst werden können, damit nicht „alle vollständig korrekte Programme“ abgeben
Versuchsaufbauten – Einleitung
● Standardversuchsaufbauten aus der Medizin, Soziologie, Psychologie, etc.
● Ziel: Finden eines Versuchsaufbaus, der a) der Hypothese gerecht wird
b) Probleme von Störvariablen reduziert
c) der „praktikabel“ ist● kein „zu großes Risiko“, dass am Ende nichts gemessen wird● „organisatorisch durchführbar ist“
● Notwendiges Vorwissen für Finden eines angemessenen Versuchs● Einschätzung der Effektgröße● Einschätzung der zu erwartenden Streuung● Kenntnis über mögliche alternative Versuchsaufbauten
Versuchsaufbauten – Einleitung
● Terminologie● Unabhängige Variablen
– Die Teile, die bewusst vom Experimentierer beeinflußt und verändert werden
– Bsp: Vergleich zwischen Java + SmalltalkUnabhängige Variable = ProgrammierspracheZwei Variablenausprägungen (treatments): Java, Smalltalk
– Ggf. die Teile, die erfasst werden, aber nicht direkt kontrolliert werden können (Geschlecht, Alter der Probanden)
● Abhängige Variablen– Die Variablen, auf die sich die Messungen beziehen– Bsp: Vergleich der Entwicklungszeit von Java + Smalltalk
Abhängige Variable (von Sprache): Entwicklungszeit
Standardversuchsentwürfe für Unterschiedshypothesen
● 1-Faktorielle Versuchsaufbauten (2 Gruppen)● AB-Between-Subject Design● AB Design mit Messwiederholung
● 2-Faktorielle Versuchsaufbauten● AA/AB Crossover Design● AB/BA Crossover Design● Latin-Square Design (Lateinische Quadrate)● ....● ....sehr, sehr großer Pool an unterschiedlichen
Versuchsaufbauten!!!
AB Between-Subject
● Charakteristika:● Sehr einfaches Design● Eine unabhängige Variable, zwei Treatments (A, B)● Probanden werden zufällig in zwei Gruppen aufgeteilt● Jede Gruppe erhält ein Treatment der unabhängigen Variable● Messungen der (beiden) Gruppen werden miteinander verglichen
● Format
● Einfacher Vergleich (U-Test / t-Test)
Gruppe Treatment
A X
B Y
AB Between-Subject
● Beispiel: ● Vergleich Entw icklungszeit Java+ST,
Implementierung eines Parsers● Messung
● Entwicklungszeit● 2 Gruppen
● Gruppe 1 = Java, Gruppe 2 = Smalltalk
AB Between-Subject
● Probleme● Streuung zwischen Probanden häufig größer als
Haupteffekt● Sehr große Stichprobe notwendig● Ausbalancieren der Gruppen problematisch!
● Beispiel● 10 Probanden, davon 2 sehr gute Programmierer● Problem: Sehr hohe Wahrscheinlichkeit, dass beide
in gleicher Gruppe sind....
AB Between-Subject mit Messwiederholung
● Charakteristika:● Sehr einfaches Design● Eine unabhängige Variable, zwei Treatments (A, B)● Probanden werden zufällig in zwei Gruppen
aufgeteilt● Jede Gruppe erhält ein Treatment der
unabhängigen Variable● Jede Gruppe wird n-fach auf das Treatment
getestet● Format
Gruppe Messungen
Gruppe 1 2 ... n
A (Treatment X) X1 X2 Xi Xn
B (Treatment Y) Y1 Y2 Yi Yn
AB Between-Subject mit Messwiederholung
● Vorteil● Reduzierung des Stichprobenumfangs
● Probleme● Ausbalancieren der Gruppen (noch immer) problematisch!● Periodeneffekt (Messungen evtl. abhängig von vorherigem
Ergebnis) / Lerneffekte
● Beispiel● Aufgabe 1: Schreibe in Netzwerkstream, Aufgabe 2
schreibe auf Festplatte● Problem: Es scheint wahrscheinlich, dass Messung von
Aufgabe 2 von Aufgabe 1 abhängt...
AB/BA Cross Over Design
● Charakteristika:● Eine unabhängige Variable, zwei Treatments (A, B)● Probanden werden zufällig in zwei Gruppen
aufgeteilt● Jeder Proband wird mit jedem (!) Treatment
getestet
● Format Gruppe Treament(1) Treament(2)
1 A B
2 B A
AB/BA Cross Over Design
● Vorteil● 10x-Problem geringer (jeder Proband wird auf jedes Treatment getestet)● Cross-Over „kann“ das Gruppenproblem ausbalancieren
● Probleme● Reihenfolgeneffekt (Messungen evtl. abhängig von vorherigem Ergebnis)
/ Lerneffekte● Ausbalancieren der Gruppen (teilweise) problematisch
● Beispiel● Aufgabe 1: Schreibe in Netzwerkstream, Aufgabe 2 schreibe auf
Festplatte● Problem: Es scheint wahrscheinlich, dass Messung von Aufgabe 2 von
Aufgabe 1 abhängt...
55
Crossover-Problem
• Question: Do type Casts Matter? [Stuchlik, Hanenberg DLS 2011]
– 21 subjects (~ 5 h/subject)– Programming Languages: Groovy & Java– 5 simple programming tasks– Measurement: time until completion– Within-subject design
• Low number of subjects• High variability between subjects
– Expectation: devTime(Groovy) < devTime(Java)!!!– Problem
• Does learning effect matter?
56
Within-subject measurement
Groovy first
Duration
1st
57
Within-subject measurement
Groovy first
Duration
Learning 1st
58
Within-subject measurement
Groovy first
Duration
Learning
Language effect
1st
59
Within-subject measurement
Groovy first
Duration
Learning
Language effect
2nd
1st
60
Within-subject measurement
Groovy first
Duration
measureddifference
61
Within-subject measurement
Groovy first
Duration
Java first
Duration
1st
62
Within-subject measurement
Groovy first
Duration
Java first
Duration
Learning 1st
63
Within-subject measurement
Groovy first
Duration
Java first
Duration
Learning
Language effect
1st
64
Within-subject measurement
Groovy first
Duration
Java first
Duration
Learning
Language effect
1stmeasureddifference
65
Within-subject measurement
Groovy first
Duration
Java first
Small effect in Group „Groovy First“
Large effect in Group „Java first“
Duration
AA/AB Cross Over Design
● Charakteristika:● Eine unabhängige Variable, zwei Treatments (A, B)● Probanden werden zufällig in zwei Gruppen aufgeteilt● Eine Gruppe wird unter 2 Treatments getestet, Gruppe 1 ist
reine Kontrollgruppe
● Format
● Ziel● Bestimmen eines Interaktionseffekts (Periode 2)
Gruppe Treament(1) Treament(2)
1 A A
2 A B
AA/AB Cross Over Design
● Vorteil● Eine Gruppe ist „rein“ (d.h. gute Vergleichsbasis), Reihenfolgeeffekt „weniger
problematisch“● 10x-Problem geringer (jeder Proband wird auf 2x gemessen)
● Probleme● Reihenfolgeneffekt (Messungen evtl. abhängig von vorherigem Ergebnis) /
Lerneffekte● Ausbalancieren der Gruppen (teilweise) problematisch
● Beispiel● Aufgabe 1: Schreibe in Netzwerkstream, Aufgabe 2 schreibe auf Festplatte● Wenn Messung von Aufgabe 2 von Aufgabe 1 abhängt ist es weniger
problematisch (weil Interaktionsmessung), solange Haupteffekt in Aufgabe 2 noch stark genug ist
4-Group Between-Subject Design
● Charakteristika:● Zwei unabhängige Variablen, jeweils zwei Treatments (A, B),
(Aufgabe 1, Aufgabe 2)● Probanden werden zufällig in vier Gruppen aufgeteilt● Jede Gruppe wird unabhängig voneinander durchgeführt
● Format
● Ziel● Vergleich aller 4 Gruppen
Gruppe Aufgabe 1 Aufgabe 2
Treatment A Gruppe 1 Gruppe 3
Treatment B Gruppe 2 Gruppe 4
4-Group Between-Subject Design
● Vorteil● Variable „Aufgabe“ ohne cross-over Effekt
● Probleme● Ausbalancieren der Gruppen problematisch (10x-
Problem)
Latin-Square Design (3x3)
● Charakteristika:● Zwei unabhängige Variablen, drei Treatments (A, B, C) (X, Y, Z)● Probanden werden in n2 Gruppen aufgeteilt● Jeder Proband erhält beide Treatments (aber nicht jede Kombination)!
● Format
● Ziel● Reihenfolgeeffekte bestimmen
Gruppe Messungen
1 AX BY CZ
2 BX CY AZ
3 CX AY BZ
Latin-Square Design (3x3)
● Vorteil● Größenbestimmung des Reihenfolgeeffekts
● Probleme● Wenn Reihenfolgeeffekt dominanter als
Haupteffekt, liefert Design nichts!
Zusammenfassung Versuchsaufbauten
● Ziel● Reduzierung des Einflusses von Störvariablen
● Aber● Jedes Design hat seine Risiken● Jedes Design erfordert unterschiedliche Form der Analyse (später)● Jedes Design erforderlich nicht nur die „prinzipiellen Probleme“ zu
verstehen, sondern auch, die Größe des Probleme/Risiken abzuschätzen!
● Problem● Während in der Medizin, etc. sich Standardverfahren etabliert haben, wird in
der Softwaretechnik noch „getestet“
....choose your poison!
Literatur
● Pfleeger, „Experimental Design and Analysis in Software Engineering“, Anals of Software Engineering, 1 (1995), S. 219-253
● Juristo, Moreno, „Basics of Software Engineering Experimentation“, Springer, 2001
● Wohlin et al., „Experimentation in Software Engineering“, Springer, 2012