Experimenteller Entwurf für kontrollierte Experimente

Werbung
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 Diskussion
●
Ich glaube, dass die Programmiersprache 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
Zeit in Minuten
●
Java
2, 9
Smalltalk
2, 3
Konklusion
Da mean(Java) > mean(ST) → Smalltalk besser geeignet
●
Was ist das Problem???
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
–
●
●
●
Statistische Analyse
●
●
Räumlich / zeitliche Ähnlichkeit, etc.
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 PerlProjekt.”
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
●
●
Zusammenhangshypothesen
●
●
Sagt etwas über eine zweifach gestufte Änderung einer
unabhängigen Variablen im Vergleich zu abhängiger Variablen aus
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...
●
●
Eine Menge von Hypothesen wird Theorie
als
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
●
●
Zusammenhangshypothesen
●
●
Feststellung eines Unterschieds
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
Große Überlappung
=> kein (signifikanter) Unterschied
●
Beispiel
Wenn Streuung bei gleichem Mittelwert zu groß,
dann kein gemessener Unterschied!
Das Problem: Streuung und Effektgröße
Beispiel 1: Gleiche Mittelwerte, untersch. Streuung
Große Überlappung
=> kein (signifikanter) Unterschied
●
Kleine Überlappung
=> Unterschied gemessen!
Beispiel
Wenn 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
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
Beispiel 2: Untersch. Mittelwerte, gleiche Streuung
Große Überlappung
=> kein Unterschied
●
Kleine Überlappung
=> Unterschied
Beispiel
Wenn 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
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
Faustregel Experimentaufbau 1
Versuche, Streuung im Experiment gering zu
halten.
Faustregel Experimentaufbau 2
Versuche, Unterschiede in Mittelwerten groß genug
zu halten.
●
Möglicher Einfluß des Experimentierers
●
●
●
●
Aufgaben, die Probanden gegeben werden
Training der Probanden
Experimentaufbau
...etc....
Problem Probanden: das 10x Problem (1)
Frage
Was ist der Unterschied zwischen 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 unmittelbar die
Hypothese
Keine Messverluste für „Vorbereitung, Einlesen,
etc.“
Aufgabe „irgendeinen Bezug zur Realität“ (...imme
problematisch...)
Aufgabenstellung
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.
●
Klassisches Problem:
●
●
Aufgabe: Schreiben Sie HelloWorld möglichst elegant
und modular
....ist einem Probanden die Aufgabenstellung klar?
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
–
●
Indirekte Messung
–
●
Hypothese „Zeit bis zur Abgabe...“
=> Zeitmessung
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
–
–
●
Indirekte Messung
–
●
„Relativ geradlinige“ quantitative Auswertung
Unterschiedliche Verfahren für unterschiedliche Skalen
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
nicht „alle
a) Aufgaben
nicht „alle
„ausreichend gut“ gelöst werden können, damit
vollständige inkorrekte Programme“ abgeben
„ausreichend schlecht“ gelöst werden können, dam
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 + Smalltalk
Unabhängige Variable = Programmiersprache
Zwei 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
Gruppe
Treatment
A
X
B
Y
Einfacher Vergleich (U-Test / t-Test)
AB Between-Subject
●
Beispiel:
●
●
Messung
●
●
Vergleich Entwicklungszeit Java+ST,
Implementierung eines Parsers
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
●
●
Probleme
●
●
●
Reduzierung des Stichprobenumfangs
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älligin 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
●
●
●
Probleme
●
●
●
10x-Problem geringer (jeder Proband wird auf jedes Treatment getestet)
Cross-Over „kann“ das Gruppenproblem ausbalancieren
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...
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?
55
Within-subject measurement
Groovy first
1st
Duration
56
Within-subject measurement
Groovy first
Learning
1st
Duration
57
Within-subject measurement
Groovy first
Learning
Language
effect
1st
Duration
58
Within-subject measurement
Groovy first
Learning
1st
2nd
Language
effect
Duration
59
Within-subject measurement
Groovy first
measured
difference
Duration
60
Within-subject measurement
Groovy first
Java first
1st
Duration
Duration
61
Within-subject measurement
Groovy first
Java first
Learning
Duration
1st
Duration
62
Within-subject measurement
Groovy first
Java first
Learning
Duration
Language
effect
1st
Duration
63
Within-subject measurement
Groovy first
Java first
measured Learning
difference
Duration
Language
effect
1st
Duration
64
Within-subject measurement
Groovy first
Duration
Java first
Duration
Small effect in Group „Groovy First“
Large effect in Group „Java first“
65
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
Gruppe
Treament(1)
Treament(2)
1
A
A
2
A
B
Ziel
●
Bestimmen eines Interaktionseffekts (Periode 2)
AA/AB Cross Over Design
●
Vorteil
●
●
●
Probleme
●
●
●
Eine Gruppe ist „rein“ (d.h. gute Vergleichsbasis), Reihenfolgeeffekt „weniger
problematisch“
10x-Problem geringer (jeder Proband wird auf 2x gemessen)
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
Gruppe
Aufgabe 1
Aufgabe 2
Treatment A
Gruppe 1
Gruppe 3
Treatment B
Gruppe 2
Gruppe 4
Ziel
●
Vergleich aller 4 Gruppen
4-Group Between-Subject Design
●
Vorteil
●
●
Variable „Aufgabe“ ohne cross-over Effekt
Probleme
●
Ausbalancieren der Gruppen problematisch (10xProblem)
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
Gruppe
Messungen
1
AX
BY
CZ
2
BX
CY
AZ
3
CX
AY
BZ
Ziel
●
Reihenfolgeeffekte bestimmen
Latin-Square Design (3x3)
●
Vorteil
●
●
Größenbestimmung des Reihenfolgeeffekts
Probleme
●
Wenn Reihenfolgeeffekt dominanter als
Haupteffekt, liefert Design nichts!
Zusammenfassung
Versuchsaufbauten
●
Ziel
●
●
Aber
●
●
●
●
Reduzierung des Einflusses von Störvariablen
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 o
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
Herunterladen