1 Empirische Softwaretechnik Prof. Dr. Walter F. Tichy Dr. Frank Padberg Sommersemester 2007.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Developing your Business to Success We are looking for business partners. Enterprise Content Management with OS|ECM Version 6.
Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Einführung in die Informatik: Programmierung und Software-Entwicklung
Was ist Testtheorie?.
Vorteile der Online-Produkte
Telefonnummer.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Workshop zur Medienarbeit der katholischen Kirche Aspekte des Religionsmonitors Berlin, 02. April 2008.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Was ist die artikulatorische Grundlage von Locus-Gleichungen? Hauptseminar: Modelle der Sprachproduktion & - perzeption Dozent: Prof. Dr. Jonathan Harrington.
Forschungsstatistik II
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Betreuerin: Kathleen Jerchel
Bewegte Bezugssysteme
AC Analyse.
Experimentaufbau und -design
Schieferdeckarten Dach.ppt
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Multikollinearität Wann spricht man von Multikollinearität?
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
Leistungsbeschreibung Brückenplanung RVS RVS
Eine Einführung in die CD-ROM
Dokumentation der Umfrage
QS- Dekubitusprophylaxe Klinikstatistik 2007 BAQ
Detailauswertung von Schallaufzeichnungen wg. Zuglärm, Meßzeitraum: – , Lokation: Herten, Snirgelskamp Entwicklung und Durchführung.
Kinder- und Jugenddorf Klinge Qualitätsentwicklung Januar 2005 Auswertung der Fragebögen für die Fachkräfte in den Jugendämtern.
Wir üben die Malsätzchen
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
1. Welcher Nerv innerviert diesen Muskel? NEU!
Analyse von Ablaufdiagrammen
Birdwatch Start Mit deinem Feldstecher entdeckst du auf einer Exkursion viele Vogelarten. Kennst du sie alle? Vogelquiz Birdwatch.
PROCAM Score Alter (Jahre)
Empirische Softwaretechnik
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Das ist die Geschichte eines kleinen Jungen aus der Schweiz.
Empirische Softwaretechnik
Symmetrische Blockchiffren DES – der Data Encryption Standard
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Das IT - Informationssystem
Großer Altersunterschied bei Paaren fällt nicht auf!
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Mathematical Programming Nichtlineare Programmierung.
Imperfekt Wie sagt man das mit Imperfekt
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Management, Führung & Kommunikation
Universitätsbibliothek -Zwischenbericht Zeitschriftenranking Sitzung der Medienkommission, 18. April 2005 Anja Herwig 1 ZeRaVO Zwischenbericht.
Bildergalerie PRESEASON CAMP Juni 2014 Romanshorn Get ready for the Season!
Tutorium Statistik II Übung IV Philipp Schäpers Mi – 11.45
Es war einmal ein Haus
J-Team: Gymnasium Ulricianum Aurich und MTV Aurich Ein Projekt im Rahmen von UlricianumBewegt.de Euro haben wir schon…  8000 mal habt ihr bereits.
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
Das IT - Informationssystem
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Monatsbericht Ausgleichsenergiemarkt Gas – November
 Präsentation transkript:

1 Empirische Softwaretechnik Prof. Dr. Walter F. Tichy Dr. Frank Padberg Sommersemester 2007

2 Experiment über Prozess- verbesserung bei Inspektionen Softwaretechnik: Experiment untersucht und bewertet gängige Vorschläge zur Verbesserung des Ablaufs von Software-Inspektionen Empirie und Statistik: faktorieller Experimentaufbau Median, Quartile und Boxplots interne und externe Gültigkeit

3 Zeitlicher Ablauf einer Inspektion (schematisch) Schraffierte Blöcke bedeuten, dass Gutachter i oder Autor an der Entsprechenden Inspektions-Phase arbeitet, sonst etwas anderes macht.

4 Vorschläge zur Prozessverbesserung möglichst viele Inspektoren mehr als ein Durchgang (session) besser zwei Durchgänge mit kleinen Teams als ein Durchgang mit einem großen Team vor jedem Durchgang die bisher gefundenen Fehler korrigieren mit oder ohne Gruppensitzung besondere Lesetechniken

5 Experiment von Porter, Siy, Toman und Votta (1997) An Experiment to Assess the Cost-Benefits of Code Inspections in Large Scale Software Development Ergebnis: Prozess-Struktur hat geringen Einfluss auf Effektivität und Gesamtdauer, sowie erwarteten Einfluss auf die Kosten IEEE Transactions on Software Engineering TSE 23:6 (1997)

6 Experimentumfeld echtes Feldexperiment (auch natürliches Experiment) Lucent Technologies (früher: ATT Bell Labs) reales Softwareprojekt Code-Inspektionen zur Qualitätssicherung professionelle Entwickler üblicher Zeit- und Kostendruck Kooperation mit University of Maryland

7 Experimentumfeld (Forts.) reales Softwareprojekt baue Übersetzer und Entwicklungsumgebung zur Unterstützung von 5ESS-Entwicklern (5ESS = Telephon-Vermittlungsstation) 55K neuer Code (C++) Juni 94 bis Dezember 95 insgesamt 88 Code-Inspektionen

8 Experimentumfeld (Forts.) professionelle Entwickler 6 Entwickler im Projekt plus 11 Entwickler aus anderen Projekten als Inspektoren jeder Entwickler seit mindestens 5 Jahren bei Lucent Entwickler hatten vergleichbare Programmier- erfahrung (hauptsächlich in C) Inspektionen sind Standard bei Lucent

9 Experimentumfeld (Forts.) üblicher Zeit- und Kostendruck sehr teure Inspektionstechniken konnten nicht durchgehend getestet werden (z.B. 2 Durchgänge mit je 4 Inspektoren) ineffektive Inspektionstechniken mussten bald erkannt und aufgegeben werden

10 Experimentumfeld (Forts.) Kooperation mit University of Maryland Forscher als inspection quality engineer (IQE) wählt Inspektionstechnik und Inspektoren aus stellt Formulare bereit, sammelt sie ein und wertet sie aus achtet auf Effektivität der Inspektionen

11 Änderungen an der Prozess-Struktur im Experiment Anzahl der Inspektoren (1, 2, oder 4) Anzahl der Durchgänge (1 oder 2) bei zwei Durchgängen: mit Fehlerbeheben nach dem ersten Durchgang (repair) oder ohne (non-repair) das sind die unabhängigen (kontrollierten) Variablen im Experiment nicht kontrolliert: Lesetechnik

12 Beobachtete Größen im Experiment Effektivität der Inspektion Gesamtdauer der Inspektion Aufwand für die Inspektion das sind die abhängigen Variablen im Experiment

13 Effektivität einer Inspektion Effektivität (defect detection ratio) = Anzahl der tatsächlich enthaltenen Defekte muss geschätzt werden Annahme im Experiment: Defektdichte (Defekte je tausend Zeilen Code) ist für alle Codestücke gleich, daher reicht es, nur die gefundenen Defekte pro 1000 Zeilen komentarlosen Codes zu vergleichen.

14 Gesamtdauer einer Inspektion Zeitraum ab Beantragen einer Inspektion bis zur Abgabe des korrigierten Codestücks (inspection interval) gemessen in Arbeitstagen (working days) ohne Urlaubstage des Autors, wenn niemand an der Inspektion gearbeitet hat mit Wochenendtagen, wenn jemand an der Inspektion gearbeitet hat

15 Gesamtdauer (Forts.) Einschränkung im Experiment: Dauer nur bis zur Gruppensitzung (pre-meeting interval) ohne Zeit für Fehlerbeheben durch den Autor Autoren lassen Defektliste oft längere Zeit liegen bei zwei Durchgängen: Ohne Fehlerbehebung können die zwei Durchgänge auch gleichzeitig starten. nehme den längeren der beiden Zeiträume.

16 Aufwand für eine Inspektion Personalkosten (effort) gemessen in Personenstunden je tausend Zeilen Code (person-hours per KNCSL) NCSL = non-commentary source lines

17 Experimentaufbau faktorieller Aufbau = mehrere Einflussfaktoren sind gleichzeitig variabel Inspektoren ( 3 mögliche Werte) Durchgänge ( 2 ) mit oder ohne Fehlerbeheben ( 2 ) ergibt Aufbau Randbedingung: bei zwei Durchgängen haben die beiden Teams dieselbe Anzahl von Inspektoren

18 Experimentaufbau (Forts.) treatment = eine bestimmte Kombination von Faktoren (Behandlung) Schreibweise: 1s4p = 1 session, 4 persons 2s2pR = 2 sessions, 2 persons, repair 2s2pN = 2 sessions, 2 persons, no repair 1s4p ist Standard bei Lucent

19 Experimentaufbau (Forts.) geplante Anteile der verschiedenen Faktor- Kombinationen an allen Inspektionen:

20 Experimentaufbau (Forts.) partieller Aufbau = nicht alle Kombinationen werden getestet oder sind sinnvoll die geplanten Anteile wurden nicht genau eingehalten, da ineffektive Techniken aufgegeben wurden

21 Nicht-kontrollierte Variablen Lesetechnik frei wählbar keine Zeitbeschränkung für individuelle Vorbereitungsphase ( typisch bei Lucent: 2 Stunden) Codestücke unterschiedlicher Länge (meist etwa 300 Zeilen)

22 Durchführung Autor des Codestücks beantragt bei IQE (inspection quality engineer) eine Inspektion IQE wählt zufällig.... die Inspektionstechnik (treatment) die Inspektoren aber: Autor nie selbst Inspektor IQE stellt benötigtes Material (Formulare, Code, Anleitung) bereit

23 Durchführung (Forts.) Inspektoren untersuchen den Code Gruppensitzung (vom Autor organisiert) Autor klassifiziert und behebt die Defekte IQE spricht mit dem Autor die Defektliste durch (wenn nötig) IQE wertet alle Inspektionsformulare aus

24 Durchgeführte Inspektionen insgesamt 88 Inspektionen aufgegebene Techniken: 1s1p, 2s1pR, 2s2pR

25 Statistische Auswertung viele paarweise Vergleiche, zum Beispiel Effektivität von 1s1p vs. 1s2p vs. 1s4p Stichprobenwerte bei festgehaltener Faktor- Kombination waren nicht normalverteilt jeweils Wilcoxon-Test für die Hypothese, dass die in zwei verschiedenen Faktor- Kombinationen beobachteten Werte aus derselben Verteilung stammen

26 Auswertung (Forts.) Problem: wir haben weder die Rohdaten noch die p-Werte der Wilcoxon-Tests lediglich Aussagen der Autoren über die Signifikanz von Unterschieden sowie Boxplots für die Stichproben zu den einzelnen Faktor-Kombinationen

27 Messung: Aufwand

28 Auswertung: Aufwand signifikanter Einfluss der Zahl der insgesamt beteiligten Inspektoren (wie zu erwarten) z.B. 1s1p < 1s2p < 1s4p aber: 1s2p 2s1p sowie 2s2p 1s4p Ergebnis: kein Hinweis auf Einfluss der Prozess-Struktur auf den Aufwand, mit Ausnahme der Gesamtzahl der Inspektoren

29 Messung: Intervall vor Sitzung

30 Auswertung: Intervall vor Sitzung 2s2pR weicht nach oben ab, haben aber nur 4 Datenpunkte (Schlussfolgerung offen) Sonst kein verlängertes Intervall durch 2 Durchgänge (Quartilbereiche überlappen) Serialisierung der Durchgänge durch Reparatur (N vs. R) verlängert Intervall nur für 2-Personen- Teams Ergebnis: kein Hinweis auf Einfluss der Prozess- Struktur auf Intervall liegt vor, außer bei 2s2pR

31 Klassifikation der Defekte durch den Autor: false positives (vermeintliche Defekte), soft maintenance (Programmierkonventionen), true defects (echte Defekte) im Schnitt waren nur ein Fünftel der gesammelten Schwachpunkte echte Defekte nur echte Defekte bei Berechnung der Effektivität der Inspektion berücksichtigt

32 Klassifikation (Forts.)

33 Messung: Effektivität

34 Auswertung: Effektivität 1s1p weicht signifikant nach unten ab 2s2pR weicht nach oben ab, haben aber nur 4 Datenpunkte (Schlussfolgerung offen) Teamgröße: 1s2p ähnlich 1s4p (1s1p schlechter) Durchgänge: bei Teamgröße 2 kein Unterschied (1s2p vs 2s2p); Unterschied nur bei Teamgröße 1 (1s1p vs 2s1p) Kein Unterschied bei konstanter Gesamtanzahl von Inspektoren (1s2p vs 2s1p, sowie 1s4p vs 2s2p) Reparatur zwischen Durchgängen: kein Unterschied für Teamgröße 1

35 Ergebnis: Effektivität Mehr als zwei Inspektoren bringt nichts Aufspalten eines großen Teams in zwei kleine Teams und zwei Durchgänge bringt nichts Reparatur zwischen Durchgängen bringt nichts

36 Fazit des Experiments große Teams und mehrere Durchgänge bringen nicht viel versuche, Inspektionen durch besondere Lesetechniken und Werkzeugunterstützung effizienter zu machen !

37 Diskussion des Experiments hoher Stellenwert wichtige Forschungsfrage überraschende Aussagen lehrreicher Aufbau mehrere kontrollierte Variablen Durchführung in realer Produktionssituation gründlich vorbereitet

38 Diskussion (Forts.) einige Probleme in Aufbau und Auswertung fragwürdige Annahme, dass die Defektdichte für alle Codestücke konstant ist abgebrochene Inspektionstechniken Inspektionen nur für Code Einfluss der Lesetechnik nicht kontrolliert interne und externe Gültigkeit ?

39 Interne Gültigkeit genau dann erreicht, wenn der beobachtete Effekt ausschließlich auf Verändern der unabhängigen Variable(n) zurückgeht in der Praxis schwer zu erreichen, da meist nicht alle Einflussfaktoren kontrolliert oder gemessen werden können (Störvariablen) typisches Beispiel: unterschiedliches Vorwissen der Versuchpersonen

40 Interne Gültigkeit (Forts.) wichtiges Ziel beim Experimentaufbau ist, Störvariablen vorher zu erkennen und ihren Einfluss auf den beobachteten Effekt konstant zu halten bei der statistischen Auswertung wird dann versucht, den Einfluss der Störvariablen herauszurechnen oder zu neutralisieren.

41 Interne Gültigkeit des Inspektions-Experiments Auswahleffekte Problem: unterschiedliches Können der Entwickler Maßnahmen: erfahrene Entwickler mit ähnlichen Kenntnissen zufälliges Zusammenstellen der Inspektionsteams

42 Interne Gültigkeit des Inspektions-Experiments (Forts.) Reifungseffekte Problem: das Können der Entwickler nimmt im Verlauf des Experiments zu Maßnahmen: Gruppe der Inspektoren (6+11) ist stabil und hat Erfahrung mit Inspektionen zufälliges Zusammenstellen der Inspektionsteams über alle Faktorenkombinationen, so dass alle Kombinationen gleichmäßig betroffen waren.

43 Interne Gültigkeit des Inspektions-Experiments (Forts.) Instrumentierungseffekte Problem: das bereitgestellte Material ändert sich (hier insbesondere die Größe und Qualität der untersuchten Codestücke) Maßnahmen: Formulare für jede Inspektion gleich zufälliges Auswählen der eingesetzten Inspektionstechnik (Faktorkombination)

44 Interne Gültigkeit des Inspektions-Experiments (Forts.) gänzlich unkontrollierte Variablen Lesetechnik Zeit für individuelle Fehlersuche (preparation phase) Unterschiede im Prozess könnten durch Variation der unkontrollierten Variablen überlagert worden sein !

45 Externe Gültigkeit umso größer, auf je mehr Situationen, die nicht genau mit dem Experimentumfeld übereinstimmen, das Ergebnis übertragbar ist (Generalisierung) in der Praxis meist eingeschränkt typisches Beispiel: andere Firma mit anderem Entwicklungsprozess

46 Externe Gültigkeit des Inspektions-Experiments Realitätsnähe: gefährdet, wenn die Experimentierumgebung oder die eingesetzten Materialien (z.B. die inspizierten Programme) nicht repräsentativ für die industrielle Praxis sind. Hier ist die Realitätsnähe groß, da ein tatsächliches Projekt in echter Umgebung mit professionellen Entwicklern durchgeführt wurde.

47 Externe Gültigkeit des Inspektions-Experiments (Forts.) Populationseffekte Wie repräsentativ sind die Entwickler im Hinblick auf die gesamte Software-Industrie? einige Diskussionspunkte: professionelle Entwickler relativ homogene und stabile Entwicklergruppe Entwickler hatten Erfahrung mit Inspektionen

48 Externe Gültigkeit des Inspektions-Experiments (Forts.) Umgebungseffekte Wie repräsentativ ist das Experiment-Umfeld im Hinblick auf andere Software-Projekte? einige Diskussionspunkte: nur eine bestimmte Firma (Lucent) nur Code-Inspektionen etablierte Firma mit definiertem Entwicklungsprozess Größe der Inspektionsteams

49 Ausblick Auswertung des Experiments bez. Effektivität von Gruppensitzungen Experimente zu Lesetechniken