Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen...

46
Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universit¨ at Bremen Wintersemester 2012/13 ¨ Uberblick I Empirische Softwaretechnik Kontrollierte Experimente Statistik bei kontrollierten Experimenten

Transcript of Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen...

Page 1: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Softwaretechnik

Prof. Dr. Rainer Koschke

Fachbereich Mathematik und InformatikArbeitsgruppe Softwaretechnik

Universitat Bremen

Wintersemester 2012/13

Uberblick I

Empirische Softwaretechnik

Kontrollierte Experimente

Statistik bei kontrollierten Experimenten

Page 2: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Empirische Softwaretechnik

Empirische SoftwaretechnikMotivationWissenserwerb in Wissenschaft und EngineeringUntersuchungsmethodenBestandteile eines Experiments

3 / 80

Lernziele

die Notwendigkeit zur empirischen Forschung in derSoftwaretechnik erkennen

prinzipielles Vorgehen verstehen

(irgendwann einmal) empirisch forschen konnen

4 / 80

Page 3: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Experimente in der Softwaretechnik

Experimentation in software engineering is necessary butdifficult. Common wisdom, intuition, speculation, andproofs of concept are not reliable sources of credibleknowledge.

– V.R. Basili, 1999

5 / 80

Motivation

Wir wollen genau wissen, ob und unter welchenRandbedingungen eine Methode funktioniert.

Forschung

beweist durch logische Schlusseoder aber beobachtet, experimentiert und misst.

Messung ist sorgfaltige Beobachtung mit großtmoglicherPrazision, Zuverlassigkeit und Objektivitat

Messungen identifizieren neue Phanomene, testen Hypothesenoder leiten uns bei der Anwendung von Modellen undMethoden

Empirische Untersuchungen

Methoden, die von Menschen angewandt werden, konnen nurempirisch untersucht werden.

6 / 80

Page 4: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Beispiele

Experiment von Knight und Leveson (1986):

Hypothese: N-Version-Programming fuhrt zu zuverlassigererSoftware.

Experiment von Dzidek u. a. (2008):

Hypothese: Dokumentation in UML hilft bei der Wartung.

7 / 80

Knight and Leveson’s experiment analyzed the failure probabilities ofmultiversion programs. Conventional theory predicted that the failureprobability of a multiversion program was the product of the failureprobabilities of the individual versions. However, John Knight and NancyLeveson observed that real multiversion programs had significantly higherfailure probabilities. In essence, the experiment falsified the basicassumption of the conventional theory, namely that faults in programversions are statistically independent.

– Tichy (1998) This is the first controlled experiment that investigatesthe costs of maintaining and the benefits of using UML documentationduring the maintenance and evolution of a real nontrivial system, usingprofessional developers as subjects, working with a state-of-the-art UMLtool during an extended period of time. The subjects in the control grouphad no UML documentation. In this experiment, the subjects in the UMLgroup had, on average, a practically and statistically significant 54percent increase in the functional correctness of changes (p=0.03) andan insignificant 7 percent overall improvement in design quality(p=0.22), though a much larger improvement was observed on the firstchange task (56 percent), at the expense of an insignificant 14 percentincrease in development time caused by the overhead of updating theUML documentation (p=0.35).

– Dzidek u. a. (2008)

Page 5: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Beispiel von Muller (2006) I

Objective:Comparison of program defects caused by programmer pairs andsolo developers.

Design:Analysis of programs developed during two counter balancedexperiments.

Setting:Programming lab at University.

Experimental Units:42 programs developed by computer science students participatingin an extreme programming lab course.

Main Outcome Measures:Programmer pairs make as many algorithmic mistakes but fewerexpression mistakes than solo programmers.

8 / 80

Beispiel von Muller (2006) II

Results: The second result is significant on the 5 percent level.

Conclusions: For simple problems, pair programming seems tolead to fewer mistakes than solo programming.

9 / 80

Page 6: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Wissenserwerb in Wissenschaft und Engineering

Operationale

Version

Experiment

Hypothese

Theorieakzeptierenändern

ändern

ändern

passtpasst nicht

Ziel

Methode/

Prozess

Metrik

Messung

Engineering

kommt nicht näher kommt näher

akzeptieren

erweitern

ändern

10 / 80

Beschaffenheit empirischer Forschung

in der Softwaretechnik erst seit ungefahr 1980 als wesentlicheDisziplin anerkannt

heute: Konferenzen und Zeitschriften

Verschiebung weg von rein mathematischen Methoden

Mehrzahl der Probleme der Softwaretechnik sind nichtmathematischer Art, hangen vielmehr von Menschen ab

12 / 80

Page 7: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Untersuchungsmethoden

Umfragen und Erhebungen

Geschichte

Archivarische Analyse

Fallstudien

kontrollierte Experimente

13 / 80

Untersuchungsmethoden

Umfragen und Erhebungen:

Datenerfassung mit Fragebogen oder ethnographische Studien

konnen auch a-posteriori durchgefuhrt werden

dienen oft der Bildung von Hypothesen fur nachfolgendeFallstudien oder kontrollierte Experimente

fundierte Methoden zur Datenerhebung und -validierungnotwendig

entstammen den Sozialwissenschaften und kognitivenWissenschaften

14 / 80

Page 8: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Untersuchungsmethoden

Definition einer Fallstudie nach Yin (2003):

A case study is an empirical inquiry that

investigates a contemporary phenomenon within itsreal-life context, especially whenthe boundaries between phenomenon and contextare not clearly evident

The case study inquiry

copes with the technically distinctive situation inwhich there will be many more variables of interestthan data points, and as one resultrelies on multiple sources of evidence, with dataneeding to converge in a triangulating fashing, andas another resultbenefits from the prior development of theoreticalpropositions to guide data collection and analysis.

15 / 80

Untersuchungsmethoden

Fallstudien (Quasi-Experimente):

In-Vivo-Experiment oder Feldstudien mit Hypothese

eingebettet in echte Projekte und damit weniger kontrolliert

Herausforderung: zu messen, ohne den Verlauf zu verfalschen

16 / 80

Page 9: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Untersuchungsmethoden

kontrollierte Experimente (In-Vitro-Experiment):

finden in kontrollierter Testumgebung statt

Hypothese wird falsifiziert oder bestatigt (mit einer gewissenWahrscheinlichkeit)

unabhangige Variablen: Eingabeparameter, die im Experimentvariiert werden

abhangige Variablen: Ausgabeparameter, die gemessen werden

17 / 80

Ubersicht uber Untersuchungsmethoden

Art der Frage mogliche Kontrolle Fokus aufGegenwart

Experimente wie, warum? ja ja

Umfragen wer, was, wo, nein jaund Erhebungen wie viele, wie sehr?

Archivarische wer, was, wo, nein ja/neinAnalyse wie viele, wie sehr?

Geschichte wie, warum? nein nein

Fallstudien wie, warum? nein ja

Quelle: COSMOS Corporation, erlautert von Yin (2003)

18 / 80

Page 10: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Bestandteile eines Experiments

1. Festlegung der Ziele

Aspekte:

1 Objekt der Studie (z.B. Entwurf, Codierung, Test)

2 Zweck der Studie (z.B. Vergleich, Analyse, Voraussage)

3 Fokus der Studie (z.B. Effektivitat, Effizienz)

4 Standpunkt (z.B. Praktiker, Forscher)

5 Kontext (z.B. Erfahrung der Teilnehmer, verwendeteElemente, Umgebung)

Kontext → unabhangige VariablenFokus → abhangige Variablen

20 / 80

Bestandteile eines Experiments

2. Formulierung einer testbaren Hypothese

”Methode M ist geeignet fur Aufgabe A“

versus

”Methode M benotigt weniger Zeit als Methode N, um Aufgabe A

zu erledigen“

Null-Hypothese (Negation der Hypothese):

”Methode M benotigt die gleiche oder mehr Zeit als N, um

Aufgabe A zu erledigen“

Wenn Null-Hypothese widerlegt ist, wird Hypothese bestatigt (miteinem gewissen Grad an Konfidenz)

21 / 80

Page 11: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Bestandteile eines Experiments

3. Aufbau des Experiments

Korrelation versus Kausalitat

Validitat

interne: es werden tatsachlich nur die Beziehungen zwischenunabhangigen und abhangigen Variablen gemessen (z.B.Lerneffekte, zeitliche Aspekte, Auswahl der Teilnehmer)externe: Ubertragbarkeit (z.B. Studenten versus Praktiker)

Identifikation aller unabhangiger und abhangiger Variablen

Randomisierung

→ viele Bucher zu Standard-Designs abhangig von denRahmenbedingungen

22 / 80

Bestandteile eines Experiments4. Analyse und Validierung der Resultate

Auswertung durch statistische Methoden (Korrelationen undRegressionsanalyse)

Problem des geringen Datenumfangs

parametrische statistische Tests setzen bestimmte Verteilungvorausmeist nur nicht-parametrische statistische Tests adaquat, weilkeine Verteilung voraus gesetzt wird (insbesondere furNominal- bis Ordinalskalen)

quantitative Analyse oft erganzt durch qualitative

Validierung

Befragungen der Teilnehmer, um sicher zu stellen, dass sie alleFragen verstanden habenUntersuchung statistischer Ausreißer

Benchmarking schwierig, weil Firmen ihre Daten ungernveroffentlichen

23 / 80

Page 12: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Bestandteile eines Experiments

5. Replikation

Wiederholung, um”Gluckstreffer“ auszuschließen

Experiment muss detailliert beschrieben sein

bedauerlicherweise schwer zu veroffentlichen, weil keine neuenErgebnisse prasentiert werden

24 / 80

Ethische Fragen

keine Teilnahme ohne explizite Einwilligung

kein Missbrauch

Anonymitat muss gewahrt werden (doppelt blind)

kein materieller oder sonstiger Gewinn (Bezahlung,Gehaltserhohung, gute Note etc.)

25 / 80

Page 13: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Grenzen der experimentellen Forschung

hoher Aufwand (allerdings: Lernen ohne Experimente ist auchteuer)

Abhangigkeit von menschlichen Versuchsteilnehmern

Studenten haben moglicherweise nicht die ErfahrungPraktiker haben wenig Zeit

Transferierbarkeit der Resultate

Software-Projekte haben eine Unzahl moglicher Variablennicht alle sind kontrollierbarund wenn sie kontrolliert sind, treffen sie moglicherweise nichtauf andere Umgebungen zu

26 / 80

Kontrollierte Experimente

Kontrollierte ExperimenteBegriffeAuswahl der TeilnehmerExperimententwurfGultigkeit (Threats to Validity)

27 / 80

Page 14: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Theorie und Beobachtung

Theory

EffectConstruct

CauseConstruct

Experiment

objective

cause-effect

construct

Observation

Dependent

variablesExperiment

operation

Independent

variables

Treatment

outcome

treatment-

constructOutcome

— Wohlin u. a. (2000) 28 / 80

Experiment

Independent

variables

Dependent

variablesExperimental

Unit

Experiment

Observational Study

Dependent

variablesExperimental

Unit

29 / 80

Page 15: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Definition

Experiment: An investigation in which the investigator applies sometreatments to experimental units and then proceeds to observe the effectof the treatments on the experimental units by measuring one or moredependent (response) variables.

Definition

Observational Study: an investigation in which the investigator observesunits and measures one or more response variables without imposingtreatments on the individuals.

Zieldefinition eines Experiments

Vorlage:

Analyse Object of Studyfor the purpose of Purposewith respect to Quality focusfrom the point of view of the Perspectivein the context of Context.

Beispiel:

Analyse Quality assurance processfor the purpose of Characterize code inspection onto qualitywith respect to Effectiveness and Costfrom the point of view of the Researcherin the context of Professional developers in a software organization.

30 / 80

Page 16: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Experiment

Independent

variables

Dependent

variablesUnit

Exp

erim

ent

desi

gn

Independent

variables with

fixed levels

objects

subjects

(Treatments)Factors

31 / 80

Definition

Independent Variable: variable that can be controlled and changed inthe experiment.

z.B. Code-Inspektion, Erfahrung der Gutachter, inspizierte Software.

Definition

Factor: an explanatory variable studied in an investigation that can beset at any one of two or more values.

z.B. Code-Inspektion

Definition

Levels: the different values of a factor.

z.B. Code-Inspektion: angewandt oder nicht

Definition

Treatment: the circumstances created for an experiment, i.e., oneparticular value of a factor.

z.B. Code-Inspektion wird angewandt

Definition

Object: the entity that receives the treatment.

z.B. die Software

Definition

Subject (Participant): the person that applies the treatment.

z.B. Entwickler

Page 17: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Definition

Test (Trial): a combination of treatment, subject, and object. Anexperiment consists of a set of tests.

z.B. Entwickler wendet Code-Inspektion fur Software an.

Definition

Dependent Variable (Response Variable): a characteristic of anexperimental unit measured after treatment and analyzed to address theobjectives of the experiment.

z.B. Anzahl gefundener Fehler und Dauer

Definition

Experimental Error: accounts for the fact that experimental unitstreated independently and identically will not have identical dependentvariable measurements.

z.B. Unterschiede in der Reihenfolge des Vorgehens der Entwicklernfuhren zu unterschiedlichen Messungen.

Auswahl der Teilnehmer

Sampling: Auswahl/Stichprobe von Objects und Subjects

sample

population of subjects and objects

Aspekte:

Auswahlgroße beeinflusst experimentellen Fehler undAussagekraft des statistischen Tests

je hoher die Varianz in der Population, desto großer muss dieAuswahl sein

Art der spateren Analyse beeinflusst Auswahlgroße

→ Art der Analyse fruhzeitig festlegen

32 / 80

Page 18: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Auswahl der Teilnehmer

Sampling-Strategien:

Quasi-Experiment: Subjects nicht zufallig ausgewahlt

Convenience Sampling: Auswahl nach Einfachheit

Simple Random Sampling: zufallige Auswahl

Systematic Sampling: Population wird angeordnet; erstesSubject zufallig gewahlt, dann jedes n’te Subject

→ Annahme: Population der Subjects ist homogen

33 / 80

Auswahl der Teilnehmer

Partitionierende Sampling-Strategien:Partitionierung der Population in homogene Gruppen

Quota Sampling: feste Quota fur die Auswahl aus Partitionenist vorgegeben, dann Convenience Sampling fur einzelneGruppen

Stratified Random Sampling

Proportionate Stratified Random Sampling: zufallige Auswahlaus jeder Gruppe ist proportional zur Gesamtpopulation;Bsp.: 60 % Manner, 40 % Frauen → 3 Manner, 2 FrauenOptimum (Disproportionate) Stratified Random Sampling:zufallige Auswahl aus Gruppe ist proportional zurStandardabweichung der Verteilung der Variable (mehrAuswahlen fur die Gruppen mit hoherer Verschiedenheit)

34 / 80

Page 19: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Experimental Design

Arten von Studien:

# objects1 >1

# subjectsper object

1 single-object multi-object variation

>1 multi-test within object blocked subject-object

35 / 80

Generelle Prinzipien

Randomization: Beobachtungen betreffen unabhangigeZufallsvariablen (Zuordnung Treatments–Subjects–Objectsund Reihenfolge der Treatments)

Blocking:1 Ahnliche Objekte werden gruppiert2 Treatments werden durch Vergleich der abhangigen Variablen

desselben Blocks evaluiert

Balancing: jedes Treatment hat gleiche Anzahl von Subjects

Replication: mindestens ein Treatment wird unabhangig aufzwei oder mehr Objekte angewandt

36 / 80

Page 20: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Standard-Designs

DefinitionFull Factorial Treatment Design: the treatments consist of allpossible combinations of the levels of the factors of interest.

ein Faktor mit zwei Treatments

ein Faktor mit mehr als zwei Treatments

zwei Faktoren mit zwei Treatments

mehr als zwei Faktoren mit mehr als zwei Treatments

37 / 80

Ein Faktor mit zwei Treatments

DefinitionCompletely randomized design: alle moglichen Zuordnungen vonTreatments und Subjects/Objects sind gleich wahrscheinlich.

Subjects Treatment 1 Treatment 2

1 X2 X3 X4 X5 X6 X

µi = Mittelwert der abhangigen Variablen fur Treatment iNullhypothese: µ1 = µ2

Statistische Tests: t-test, Mann-Whitney

38 / 80

Page 21: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Ein Faktor mit zwei Treatments

DefinitionPaired comparison design: jedes Subject wendet alle Treatmentsan. Reihenfolge wird randomisiert.

Subjects Treatment 1 Treatment 2

1 1 22 2 13 2 14 1 25 1 26 2 1

yij = j’te Messung der abhangigen Variablen fur Treatment idj = y1j − y2j und µd = Mittelwert von dNullhypothese: µd = 0Statistische Tests: Paired t-test, Sign test, Wilcoxon

39 / 80

Ein Faktor mit mehr als zwei Treatments

Completely randomized design

Subjects Treatment 1 Treatment 2 Treatment 3

1 X2 X3 X4 X5 X6 X

Nullhypothese: µ1 = µ2 = · · · = µnStatistische Tests: ANOVA, Kruskal-Wallis

40 / 80

Page 22: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Ein Faktor mit mehr als zwei Treatments

Paired comparison design

Subjects Treatment 1 Treatment 2 Treatment 3

1 1 2 32 1 3 23 2 1 34 2 3 15 3 1 26 3 2 3

Nullhypothese: µ1 = µ2 = · · · = µnStatistische Tests: ANOVA, Kruskal-Wallis

41 / 80

Zwei Faktoren

Definition2 × 2 Factorial Design: zufallige Zuordnung der Subjects fur jedeKombination der Treatments

Faktor ATreatment A1 Treatment A2

Faktor BTreatment B1 4,6 1,7

Treatment B2 2,3 5,8

αi = Effekt von Treatment i auf Faktor Aβi = Effekt von Treatment i auf Faktor B(αβ)ij = Effekt der Interaktion von αi und βiNullhypothesen: α1 = α2 oder β1 = β2 oder (αβ)ij = 0 fur alle i , jStatistische Tests: ANOVA

42 / 80

Page 23: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Tabelleninhalt beschreibt die Subjects.

Mehr als zwei Faktoren mit zwei Treatments

Definition2k Factorial Design fur k Faktoren: zufallige Zuordnung derSubjects fur jede der 2k Kombinationen der Treatments

Faktor A Faktor B Faktor C Subjects

A1 B1 C1 2,3A2 B1 C1 1,13A1 B2 C1 5,6A2 B2 C1 10,16A1 B1 C2 7,15A2 B1 C2 8,11A1 B2 C2 4,9A2 B2 C2 12,14

43 / 80

Page 24: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Gultigkeit (Threats to Validity)

Theory

EffectConstruct

CauseConstruct

Experiment

objective

cause-effect

construct

Observation

Dependent

variablesExperiment

operation

Independent

variables

Treatment

outcome

treatment-

constructOutcome

44 / 80

Definition

Conclusion Validity: es gibt einen signifikanten statistischenZusammenhang von Treatment und Resultat

Definition

Internal Validity: der beobachtete Zusammenhang zwischen Treatmentund Resultat ist kausal

Definition

Construct Validity:

1. Treatment reflektiert Construct of Cause

2. Outcome reflektiert den Effekt

Definition

External Validity: das Ergebnis ist auch außerhalb der Studie anwendbar(fur andere Personen, Orte, Zeiten etc.)

Page 25: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Internal Validity

Storvariable: zusatzliche unkontrollierte Variable andert sichsystematisch mit den unabhangigen Variablen

z.B. Pair-Programmer-Teams bestehen nur aus Entwicklernmit großer Erfahrung

Historie/Zeit: außere Ereignisse beeinflussen Messung

z.B. Pair-Programmer arbeiten morgens,Einzel-Programmierer nachmittags

Sattigung: interne (physische oder psychische) Anderung derSubjects

z.B. Ermudung

45 / 80

Internal Validity

Wiederholtes Testen: fruhe Treatments beeinflussennachfolgende Treatments

z.B. Lerneffekte

Instrumentierung: Veranderung der Art der Messung

z.B. Fehler bei der Messung mit spaterer Korrektur

Regression zur Mitte: bei zwei in irgendeiner Weiseverbundenen Messungen gehen extreme Abweichungen beieiner der beiden Messungen im Durchschnitt mit wenigerextremen Abweichungen bei der anderen Messung einher

z.B. Korpergroße von Vatern und Sohnen

46 / 80

Page 26: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Die Regression zur Mitte ist ein Begriff der Statistik; er beschreibt dasPhanomen, dass bei zwei in irgendeiner Weise verbundenen Messungen,z. B. Korpergroße eines Vaters und seines Sohnes, extreme Abweichungenbei einer der beiden Messungen im Durchschnitt mit weniger extremenAbweichungen bei der anderen Messung einhergehen – im Beispiel alsohaben sehr große Vater im Durchschnitt Sohne die weniger groß sind (dieaber im Durchschnitt trotzdem noch großer sind als der Durchschnitt derBevolkerung), oder umgekehrt: sehr große Sohne haben im DurchschnittVater die weniger groß sind.

– Quelle: Wikipedia

Internal Validity

Selektion: keine zufallige Zuordnung oder Zuordnung istzufallig ungunstig

z.B. die ersten 20 Freiwilligen werden derPair-Programming-Gruppe zugeordnet

Selektionsinteraktion: Selektions-Threat wird mit andereminternal Threat kombiniert

z.B. eine Gruppe wird von Programmierern aus Abteilung Xdominiert (Selektions-Threat) und Abteilung X hat amVorabend eine wilde Party (Historie-Threat)

47 / 80

Page 27: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Internal Validity

Experimentelle Mortalitat: Unterschiede in derAusscheiderate uber die unterschiedlichen experimentellenBedingungen

z.B. in der Pair-Programming-Gruppe fallen mehrere Subjectsaus, was die Gruppenzusammensetzung beeinflussen kann

Experimentatoreinfluss: Erwartungen der Durchfuhrendenoder Subjects konnen Resultat beeinflussen

z.B. Gruppen werden unbewusst verschieden behandelt oderSubjects versuchen, das vermeintlich gewunschte Ergebnis zuerreichen

48 / 80

External Validity

Reprasentanz: Subjects sind nicht reprasentativ

Eignung-Treatment-Interaktion: Sample hat Eigenschaften,die mit der unabhangigen Variablen interagieren

z.B. Subjects sind hochmotivierte Freiwillige.

Situation: situationsbedingte (zeitliche/ortliche) Eigenheitenbeeinflussen Ergebnis

z.B. große Displays im Pair-Programming-Experimentz.B. Tests finden immer nur morgens statt

Reaktivitat: Effekt ist auf die Beobachtung der Situationzuruckzufuhren

z.B. Programmierer sind wahrend des Experimentskonzentrierter

49 / 80

Page 28: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Statistik bei kontrollierten Experimenten

Statistik bei kontrollierten ExperimentenHypothesen und StichprobenVerteilungenExperimente mit einem SampleExperimente mit zwei SamplesVerteilungsfreier U-Test

50 / 80

Hypothese und statistischer Test

DefinitionStatistische Hypothese: Aussage uber eine statistischePopulation, die man auf Basis beobachteter Daten zu bestatigenoder zu falsifizieren versucht.

Hypothese:

”Die durchschnittliche Lange von Methoden in Java ist großer als

50 [loc]“

51 / 80

Page 29: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Vorgehen

1 Nimm an, dass die zu testende Hypothese wahr ist.

2 Untersuche die Konsequenzen dieser Annahme in Bezug aufdie Sampling-Verteilung, die von der Wahrheit der Hypotheseabhangt.

→ Falls die beobachteten Daten eine großeEintrittswahrscheinlichkeit haben, ist die Hypothese bestatigt.

→ Falls die beobachteten Daten eine sehr kleineEintrittswahrscheinlichkeit haben, gilt die Hypothese alswiderlegt.

→ Signifikanzniveau α legt die Wahrscheinlichkeit fest, ab derdie Hypothese als widerlegt betrachtet wird (konkreterSchwellwert: kritischer Wert).

Konvention: α = 0, 05 oder α = 0, 01

52 / 80

Nullhypothese und alternative Hypothese

DefinitionNullhypothese H0: die zu testende Hypothese.Alternative Hypothese H1: die Gegenthese zu H0.

Meist: H1 ist das, woran der Experimenator wirklich glaubt.→ Experiment soll H0 widerlegen.

53 / 80

Page 30: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Gerichtete und ungerichtete Hypothese

DefinitionUngerichtete Alternativhypothese: Nullhypothese postuliertkeinerlei Effekt.

Gerichtete Alternativhypothese: Nullhypothese postuliert keinenoder gegengerichteten Effekt.

Beispiel ungerichtete Alternativhypothese:

H1 = Pair-Programming und Single-Programmingunterscheiden sich in Qualitat.

H0 = Pair-Programming und Single-Programming lieferngleiche Qualitat.

Beispiel gerichtete Alternativhypothese:

H1 = Pair-Programming liefert bessere Qualitat alsSingle-Programming.

H0 = Pair-Programming liefert gleiche oder schlechtereQualitat als Single-Programming.

54 / 80

Die Nullhypothese druckt inhaltlich immer aus, dass Unterschiede,Zusammenhange, Veranderungen oder besondere Effekte in derinteressierenden Population uberhaupt nicht und/oder nicht in dererwarteten Richtung auftreten. Im Falle einer ungerichteten Forschungs-bzw. Alternativhypothese postuliert die Nullhypothese keinerlei Effekt. ImFalle einer gerichteten Alternativhypothese geht die Nullhypothese vonkeinem oder einem gegengerichteten Effekt aus.

– Bortz und Doring (2006)

Page 31: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Hypothesen und Stichproben

Sample = Population ⇒ absolute Wahrheit

Sample ⊂ Population ⇒ ?

Problem:

Jede Hypothesenuberprufung liefert statistischen Kennwert(z.B. Durchschnitt) fur ein bestimmtes Sample.

Wiederholung mit anderen Subjects/Objects liefertwahrscheinlich nicht exakt denselben Kennwert.

→ Kennwert ist Zufallsvariable1

Feststellung, ob Kennwert extrem oder typisch ist, ist ohneKenntnis der Verteilung der Zufallsvariablen unmoglich.

1Funktion, die den Ergebnissen eines Zufallsexperiments Werte (so genannteRealisationen) zuordnet.

55 / 80

Verteilungen

DefinitionVerteilung einer Variablen: beschreibt, welche Werte die Variableannehmen kann und wie oft sie das tut.

Gleichverteilung Normalverteilung

56 / 80

Page 32: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Haufige Kennwerte einer Verteilungen

Gegeben: n Datenpunkte x1, x2, . . . xn einer Variablen X.

Durchschnitt oder arithmetisches Mittel x = 1n ·∑n

i=1 xi

Varianz s2x = 1

n−1 ·∑n

i=1(xi − x)2

Standardabweichung sx =√

s2x

57 / 80

Varianz und Freiheitsgrad

Varianz s2x = 1

n−1 ·∑n

i=1(xi − x)2

Warum Durchschnitt mit 1n−1 ?∑n

i=1(xi − x) = 0

→ (xn − x) kann berechnet werden, wenn x1, x2, . . . , xn−1

bekannt sind

→ nur n − 1 Summanden in∑n

i=1(xi − x)2 konnen frei variieren

→ n − 1 ist der Freiheitsgrad

58 / 80

Page 33: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Verteilung von Population und Sample

H1: Durchschnittliche Lange von Java-Methoden µ > 50H0: Durchschnittliche Lange von Java-Methoden µ ≤ 50

Gegeben:

Populations-Verteilung: Kennwerteverteilung der Population Pmit Durchschnitt µ und Standardabweichung σ

Sample-Verteilung: Kennwerteverteilung der Stichproben Xmit Durchschnitt x und Standardabweichung sx

Annahmen:

σ ist bekannt

P hat Normalverteilung

Daraus folgt: X ist normalverteilt mit x = µ und sx = σ√n

.

59 / 80

Verteilung von Population und Sample

Warum gilt: x = µ?

Sample-Große ist n.Jeder beobachtete Wert xi (1 ≤ i ≤ n) ist eine Messung von einemzufallig ausgewahlten Element aus P.→ Jede Einzelmessung ist eine Zufallsvariable Xi , deren Verteilungder von P entspricht.

x = 1n · (X1 + X2 + . . .Xn)

Wenn µ der Durchschnitt von P ist, dann ist µ der Durchschnittder Verteilung jeder Beobachung Xi .

µx = 1n · (µX1 + µX2 + . . . µXn) = 1

n · (µ+ µ+ . . . µ) = µ

60 / 80

Page 34: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Verteilung von Population und Sample

Warum gilt: σx = σ√n

?

Regeln fur Varianzen (a, b sind Konstante, X ,Y Zufallsvariablen):

σ2a+bX = b2σ2

X

σ2X+Y = σ2

X + σ2Y

Damit:

σ2x = σ2

1n·(X1+X2+...Xn)

= ( 1n )2 · (σ2

X1+ σ2

X2+ . . . σ2

Xn)

Weil jede Einzelbeobachtung Xi aus P stammt, gilt σ2Xi

= σ2 unddamit:

σ2x = ( 1

n )2 · (σ2 + σ2 + . . . σ2) = σ2

n und σx =√σ2x = σ√

n

61 / 80

Verteilung von Population und Sample

H1: Durchschnittliche Lange von Java-Methoden µ > 50H0: Durchschnittliche Lange von Java-Methoden µ ≤ 50

Gegeben:

Populations-Verteilung: Kennwerteverteilung der Population Pmit Durchschnitt µ und Standardabweichung σ

Sample-Verteilung: Kennwerteverteilung der Stichproben Xmit Durchschnitt x und Standardabweichung sx

Annahmen:

σ ist bekannt

P hat Normalverteilung

Daraus folgt: X ist normalverteilt mit x = µ und sx = σ√n

.

62 / 80

Page 35: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Beispiel

H0 : µ ≤ 50.

Sei tatsachlich beobachteter Wert (Messung) fur x = 54 mitσ = 10 und Sample-Große n = 25.

Passt das noch zu H0 mit Signifikanzniveau α = 0, 01?

x ist normalverteilt mit µ = 50 und σ2x = 10√

25= 2: N(50, 2)

Die Standardnormalverteilung N(0, 1) ist tabelliert. Mitz-Transformation kann jede Normalverteilung auf N(0, 1)zuruckgefuhrt werden:

zx =x − µσx

63 / 80

BeispielWahrscheinlichkeit, einen Wert zx = 54−50√

2≈ 1, 41 oder großer in

N(0, 1) zu finden = Flacheninhalt zwischen 1,41 und ∞ in N(0, 1)

Laut Tabelle fur N(0, 1): 1− 0, 9207 = 0, 0793 > 0, 01 = α.

→ H0 wird abgelehnt64 / 80

Page 36: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Wir fragen nach der Wahrscheinlichkeit, mit der Stichprobenergebnisseauftreten konnen, wenn die Nullhypothese gilt. Wir betrachten nurdiejenigen Ergebnisse, die bei Gultigkeit der Nullhypothese hochstens miteiner Wahrscheinlichkeit von α (z.B. 1 % oder 5 %) vorkommen. Gehortdas gefundene Stichprobenergebnis zu diesen Ergebnissen, ist dasStichprobenergebnis

”praktisch“ nicht mit der Nullhypothese zu

vereinbaren. Wir entscheiden uns deshalb dafur, die Nullhypotheseabzulehnen und akzeptieren die Alternativhypothese als Erklarung furunser Untersuchungsergebnis.

– Bortz und Doring (2006)

Laut Tabellierung von N(0, 1) ist die Flache von (−∞, 1, 41] = 0, 9207.

Beispieluntersuchung

Hypothese:”Pair-Programming unterscheidet sich in

durchschnittlicher Fehlerdichte #FehlerLOC von Single-Programming.“

Design:

Object: Anforderungsspezifikation

Subjects: 31 professionelle Entwickler

Blocking:

Treatment X: eine Gruppe (10 × 2) wendet Pair-ProgramminganTreatment Y: eine Gruppe (11 × 1) wendet Pair-Programmingnicht an

→ ein Faktor, zwei Treatments

65 / 80

Page 37: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Experiment mit zwei Samples: t-Test

Gegeben: Zwei unabhangige Samples:

X = x1, x2, . . . xn mit Durchschnitt x und Varianz s2x

Y = y1, y2, . . . ym mit Durchschnitt y und Varianz s2y

H0: Mittelwerte von X und Y sind gleich: µx − µy = 0.

Annahmen:

Population zu X ist normalverteilt mit Durchschnitt µx undVarianz σ2

x ,Population zu Y ist normalverteilt mit Durchschnitt µy undVarianz σ2

y

und σ2x = σ2

y .

Aber: Varianz σ2x von X und Y ist unbekannt.

66 / 80

Experiment mit zwei Samples: t-Test

Mittelwert von x − y ist gleich dem Mittelwert von µx − µy .

Folgt aus:

Additionsregel fur Mittelwerte

und Mittelwert von jedem Messwert x ist der Mittelwertseiner Population µ

67 / 80

Page 38: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Experiment mit zwei Samples: t-Test

Varianz von x − y ist:

σ2x

n+σ2y

m

Folgt aus Additionsregel fur Varianzen.

68 / 80

Experiment mit zwei Samples: t-Test

Satz: Wenn beide Populationen normalverteilt sind, dann ist dieVerteilung von x − y auch normalverteilt.

z-Transformation einer Zufallsvariablen hatStandardnormalverteilung N(0, 1):

z =(x − y)− (µx − µy )√

σ2xn +

σ2y

m

69 / 80

Page 39: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Experiment mit zwei Samples: t-Test

Annahme war: beide Populationen haben gleiche Varianzσ2ε = σ2

x = σ2y

Varianz von σ2ε kann geschatzt werden durch zusammengelegte

Varianzen s2p als gewichteter Durchschnitt:

s2p =

(n − 1)s2x + (m − 1)s2

y

(n − 1) + (m − 1)

Damit ist z-Transformation fur die Schatzung:

t =(x − y)− (µx − µy )√

s2p

n +s2p

m

→ t folgt Students t-Verteilung mit (n− 1) + (m− 1) = n + m− 2Freiheitsgraden (df)

70 / 80

Die Annahme ist, dass die Samples beide eine gemeinsame homogeneVarianz haben. Dann kann diese geschatzt werden, indem dieInformationen beider Samples gebundelt werden. Die Schatzung ist dannder gewichtete Durchschnitt der einzelnen Varianzen beiderSample-Varianzen. Die Gewichte hierfur sind die jeweiligen Freiheitsgraden − 1 und m − 1. Sp ist dann die gebundelte Varianz.

Der Freiheitsgrad von Sp ist (n − 1) + (m − 1) = n + m − 2.

Page 40: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Students t-Verteilung (df = Freiheitsgrad)

71 / 80

Students t-Verteilung

Ungerichtete H1 ≡ µ1 6= µ2 ∧ H0 ≡ µ1 = µ2→ zweiseitiger Test

Gerichtete H1 ≡ µ1 > µ2 ∧ H0 ≡ µ1 ≤ µ2→ einseitiger Test

72 / 80

Page 41: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Ungerichtete Alternativhypothese H1 ≡ µ1 6= µ2: Nullhypothesepostuliert keinerlei Effekt H0 ≡ µ1 = µ2.

Gerichtete Alternativhypothese H1 ≡ µ1 > µ2: Nullhypothesepostuliert keinen oder gegengerichteten Effekt H0 ≡ µ1 ≤ µ2.

Gerichtete Hypothesen werden anhand der Verteilung uber einseitige undungerichtete Hypothesen uber zweiseitige Tests gepruft. Bei einemzweiseitigen Test markieren die Werte t(α/2) und -t(α/2) diejenigent-Werte einer t-Verteilung, die von den Extremen der Verteilungsflachejeweils α/2 % abschneiden.

Zusammenfassung des Vorgehens beim t-Test

Eingabe: Zwei unabhangige Samples x1, x2, . . . xn undy1, y2 . . . ym

Annahme: Populationen zu X und Y sind normalverteilt undhaben gleiche Varianz

H0: Mittelwerte von X und Y sind gleich: µx − µy = 0

Transformation von H0: t0 = x−ysp×

√1n

+ 1m

wobei sp =√

(n−1)s2x +(m−1)s2

y

(n−1)+(m−1)

und s2x und s2

y sind die individuellen Sample-Varianzen

t0 folgt bei Gultigkeit von H0 einer t-Verteilung mit n + m− 2Freiheitsgraden

Kriterium (zweiseitig, mit Signifikanzniveau α):H0 ablehnen, wenn |t0| > tα/2,n+m−2

73 / 80

Page 42: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

BeispielmessungenTreatment X = Pair-Programming, Treatment Y = keinPair-Programming

i Treatment X: xi Treatment Y: yi1 3,24 3,442 2,71 4,973 2,84 4,764 1,85 4,965 3,22 4,106 3,48 3,057 2,68 4,098 4,30 3,699 2,49 4,21

10 1,54 4,4011 3,49

n=10 m=11x = 2, 835 y = 4, 1055

S2x = 0, 6312 S2

y = 0, 411274 / 80

Das sind fiktive Daten.

Page 43: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Beispielauswertung mit t-Test

sp =√

(n−1)s2x +(m−1)s2

y

(n−1)+(m−1)

=√

(10−1)·0,6312+(11−1)·0,4112(10−1)+(11−1) = −0, 564

t0 = x−ysp×

√1n

+ 1m

= 2,835−4,1055

−0,564×√

110

+ 111

= −5, 642

Freiheitsgrade: df = 10 + 11− 2 = 19→ tα/2,n+m−2 = t0,05/2,10+11−2 = 2, 093

|t0| = 5, 642 > t0,05/2,10+11−2 = 2, 093 → H0 ablehnen

75 / 80

Siehe z.B.http://www.math.unb.ca/~knight/utility/t-table.htm fur eineTabelle der Students t-Verteilung.

Page 44: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Exakter U-Test von Mann-Whitney

Gegeben: zwei unabhangige Samples x1, x2, . . . xn und y1, y2, . . . ymmit Ordinalskalenniveau.

Annahme: Beide Samples stammen von Populationen mit dergleichen Verteilung.

Keine Annahme uber diese Verteilung.

1 Daten beider Samples werden vereinigt und geordnet.2 Jeder Wert xi wird mit jedem Wert yj verglichen:

Gi = Anzahl der yj < xiLi = Anzahl der yj > xi

3 Summiere:

G =∑

1≤i≤n Gi

L =∑

1≤i≤n Li

U = min(L,G )

76 / 80

Gruppe xi bzw. yi Gi Li

X 1.54 11 0X 1.85 11 0X 2.49 11 0X 2.68 11 0X 2.71 11 0X 2.84 11 0Y 3.05X 3.22 10 1X 3.24 10 1Y 3.44X 3.48 9 2Y 3.49Y 3.69Y 4.09Y 4.10Y 4.21X 4.30 4 7Y 4.40Y 4.76Y 4.96Y 4.97∑

99 11

77 / 80

Page 45: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

Signifikanztest zum exakten U-Test von Mann-Whitney

Es gibt(n+m

m

)=(n+m

n

)mogliche Rangfolgen.

Erwartungswert fur U bei Ho : µU = (n + m)/2.

Je weiter beobachtetes U vom Erwartungswert abweicht,desto unwahrscheinlicher ist H0.Einseitiger Test:

ZU = Anzahl moglicher Kombinationen, die einen U-Wertliefern, der nicht großer als U ist.P = ZU/

(n+mm

)Zweiseitiger Test:

Z ′U = Anzahl moglicher Kombinationen, die einen U-Wertliefern, der nicht kleiner als max(L,G ) ist.P = (ZU + Z ′U)/

(n+mm

)Lehne H0 ab, wenn P ≤ α.

Kritischer Wert (der zur Ablehnung von H0 fuhrt) kann inTabelle des U-Tests fur kleine Samples nachgeschlagenwerden.Im Beispiel: kritischer Wert = 26 fur α = 0, 05→ H0 wird abgelehnt wegen U < 26

78 / 80

Tabellen fur den kritischen Wert bei gegebenem Signifikanzniveau fur denU-Test lassen sich im Web finden, indem man nach den Stichwortern

”table u test“ sucht. Z.B.:math.usask.ca/~laverty/S245/Tables/wmw.pdf

Es wird vorausgesetzt, dass keine identischen Messwerte(”Bindungen“oder

”Rangbindungen“) auftreten. Falls Bindungen

vorhanden sind, werden den Werten die mittleren Rangzahlen zugewiesen.

Page 46: Softwaretechnik Uberblick I Empirische Softwaretechnik · die Notwendigkeit zur empirischen Forschung in der Softwaretechnik erkennen prinzipielles Vorgehen verstehen ... Bescha enheit

1 Bortz und Doring 2006 Bortz, Jurgen ; Doring, Nicloa:Forschungsmethoden und Evaluation. vierte Auflage. Springer,2006. – ISBN 978-3-540-33305-0

2 Dzidek u. a. 2008 Dzidek, Wojciech J. ; Arisholm, Erik ;Briand, Lionel C.: A Realistic Empirical Evaluation of theCosts and Benefits of UML in Software Maintenance. In: IEEETransactions on Software Engineering 34 (2008), May/June,Nr. 3

3 Knight und Leveson 1986 Knight, J.C. ; Leveson, N.G.:An Experimental Evaluation of the Assumption of Independencein Multiversion Programming. In: IEEE Transactions onSoftware Engineering 12 (1986), Januar, Nr. 1, S. 96–109

4 Muller 2006 Muller, Matthias M.: Do Programmer Pairsmake different Mistakes than Solo Programmers? In: Conferenceon Empirical Assessment In Software Engineering, April 2006

79 / 80

5 Tichy 1998 Tichy, Walter: Should computer scientistsexperiment more? In: IEEE Computer 31 (1998), Mai, Nr. 5,S. 32–40

6 Wohlin u. a. 2000 Wohlin, Claes ; Runeson, Per ; MagnusC. Ohlsson, Martin H. und ; Regnell, Bjorn ; Wesslen,Anders: Experimentation in Software Engineering – AnIntroduction. Kluwer Academic Publishers, 2000. – ISBN0-7923-8682-5

7 Yin 2003 Yin, Robert K.: Applied Social Research MethodsSeries. Bd. 5: Case Study Research. 3rd edition. SAGEPublications, 2003. – ISBN 0-7619-2553-8

80 / 80