73
Experimenteller Entwurf für kontrollierte Experimente Stefan Hanenberg (University of Duisburg-Essen)

Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Experimenteller Entwurf für kontrollierte Experimente

Stefan Hanenberg(University of Duisburg-Essen)

Page 2: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Eine intuitive Einführung

Page 3: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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...

Page 4: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Prolog

Wie sind hier![Hanenberg, Faith, Hope, Love, Onward'10]

Page 5: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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?

Page 6: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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.

Page 7: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 8: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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?“

Page 9: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Terminologie für kontrollierte Experimente

Page 10: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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)

Page 11: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 12: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 13: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 14: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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)

Page 15: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 16: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Hypothese

● Definition● Überprüfbare (falsifizierbare) Aussage● All-Aussage (keine Existenzaussage)

● D.h.

Nach experimenteller Überprüfung ist unzweideutig klar, ob Hypothese widerlegt wurde

Page 17: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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)

Page 18: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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)

Page 19: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 20: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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!

Page 21: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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)

Page 22: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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!

Page 23: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Experimentaufbau – Vorüberlegungen und Fallstricke

Page 24: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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?

Page 25: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Das Problem: Streuung und Effektgröße

● Beispiel

Vergleich zweier Systeme, beide Stichproben normalverteilt

Beispiel 1: Gleiche Mittelwerte, untersch. Streuung

Page 26: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 27: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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!

Page 28: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Das Problem: Streuung und Effektgröße

● Beispiel

Vergleich zweier Systeme, beide Stichproben normalverteilt

Beispiel 2: Untersch. Mittelwerte, gleiche Streuung

Page 29: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 30: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 31: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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.

Page 32: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Problem Probanden: das 10x Problem (1)

Frage

Was ist der Unterschied zw ischen einem Experiment im Bereich Blutdruck (bei Menschen) und Benutzbarkeit von Programmiersprachen?

Page 33: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 34: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 35: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Faustregel: 10x-Problem

Faustregel 10x-Problem

Unterstelle beim Versuchsaufbau, in der Entwickler „entwickeln“, dass es eine sehr, sehr große Streuung zwischen Entwicklern gibt

Page 36: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 37: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 38: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 39: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Aufgabenstellung

● Ziele● Aufgabenstellung reflektiert unm ittelbar die

Hypothese● Keine Messverluste für „Vorbereitung, Einlesen,

etc.“● Aufgabe „irgendeinen Bezug zur Realität“ (...immer

problematisch...)

Page 40: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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.

Page 41: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 42: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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!

Page 43: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 44: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 45: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 46: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 47: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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!!!

Page 48: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 49: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

AB Between-Subject

● Beispiel: ● Vergleich Entw icklungszeit Java+ST,

Implementierung eines Parsers● Messung

● Entwicklungszeit● 2 Gruppen

● Gruppe 1 = Java, Gruppe 2 = Smalltalk

Page 50: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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....

Page 51: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 52: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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...

Page 53: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 54: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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...

Page 55: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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?

Page 56: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

56

Within-subject measurement

Groovy first

Duration

1st

Page 57: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

57

Within-subject measurement

Groovy first

Duration

Learning 1st

Page 58: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

58

Within-subject measurement

Groovy first

Duration

Learning

Language effect

1st

Page 59: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

59

Within-subject measurement

Groovy first

Duration

Learning

Language effect

2nd

1st

Page 60: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

60

Within-subject measurement

Groovy first

Duration

measureddifference

Page 61: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

61

Within-subject measurement

Groovy first

Duration

Java first

Duration

1st

Page 62: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

62

Within-subject measurement

Groovy first

Duration

Java first

Duration

Learning 1st

Page 63: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

63

Within-subject measurement

Groovy first

Duration

Java first

Duration

Learning

Language effect

1st

Page 64: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

64

Within-subject measurement

Groovy first

Duration

Java first

Duration

Learning

Language effect

1stmeasureddifference

Page 65: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

65

Within-subject measurement

Groovy first

Duration

Java first

Small effect in Group „Groovy First“

Large effect in Group „Java first“

Duration

Page 66: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 67: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 68: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 69: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

4-Group Between-Subject Design

● Vorteil● Variable „Aufgabe“ ohne cross-over Effekt

● Probleme● Ausbalancieren der Gruppen problematisch (10x-

Problem)

Page 70: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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

Page 71: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

Latin-Square Design (3x3)

● Vorteil● Größenbestimmung des Reihenfolgeeffekts

● Probleme● Wenn Reihenfolgeeffekt dominanter als

Haupteffekt, liefert Design nichts!

Page 72: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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!

Page 73: Experimenteller Entwurf für kontrollierte Experimentelaemmel/ese... · Falsifikation einer Theorie/Hypothese Für die Falsifikation einer Theorie (oder Hypothese) ist es ausreichend,

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