Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer...

Preview:

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

Recommended