Empirische Softwaretechnik Prof. Dr. Walter F. Tichy Dr. Matthias Müller Sommersemester 2006 1
Eine empirische Theorie für Software-Inspektionen Softwaretechnik: Erklärung für einige beobachtete Phänomene über Inspektionen Theorie über bestimmende Faktoren für Wirksamkeit einer Inspektion Vorschläge für Prozessverbesserungen Empirie: Einordnung bisheriger empirischer Ergebnisse neue Forschungshypothesen 2
Motivation für eine Theorie Experimente haben merkwürdige und zum Teil sogar widersprüchliche Ergebnisse Beispiel Anzahl der Inspektoren : 2 Inspektoren sind besser als einer, aber 4 sind nicht besser als 2 [Porter, Siy, Toman, Votta TSE 97] andere Forscher empfehlen 3 bis 5 Inspektoren [Weller IEEE Software 93] [Gilb 88] [Grady 92] 3
Motivation (Forts.) Beispiel Lesetechniken : Verwendung von Szenarien erhöht deutlich die Erkennungsrate im Vergleich zu Prüflisten oder Ad-Hoc-Lesen [Porter TSE 95, EMSE 98] [Basili EMSE 96] nicht bestätigt oder nur schwach unterstützt durch andere Forscher [Fusaro EMSE 97] [Sandahl EMSE 98] [Miller EMSE 98] 4
Motivation (Forts.) Beispiel Nutzen der Gruppensitzung : Gruppensitzung trägt nicht signifikant zum Entdecken von Defekten bei [Votta FSE 93] [Porter TSE 95] [Fusaro EMSE 97] [Johnson EMSE 98] Notwendigkeit des Eliminierens von vermeintlichen Defekten (z.b. [Porter TSE 97]) Problem des Unterdrückens von Defekten in der Gruppensitzung (z.b. [Porter TSE 97]) Neu entdeckte Defekte und unterdrückte halten sich die Waage. 5
Vermeintliche Defekte ("False Positives") [Porter TSE 97] 6
Unterdrücken von Defekten [Porter TSE 97] 7
Ernüchterung... wir sind erst hier...... da müssen wir hin! 8
Nutzen einer Theorie für Software-Inspektionen beobachtete Phänomene erklären Widersprüche aufklären und alternative Erklärungen anbieten Vorschläge für Verbesserungen der Inspektions-Technik liefern 9
Nutzen einer Theorie für Software-Inspektionen (Forts.) bisher erzielte empirische Ergebnisse einordnen Forschung auf aussichtsreiche Fragen lenken neue empirisch überprüfbare Aussagen und Vorhersagen liefern 10
Theorie von Sauer, Jeffery, Land und Yetton (2000) The Effectiveness of Software Development Technical Reviews: A Behaviorally Motivated Program of Research Ergebnis: der wichtigste Faktor für die Wirksamkeit einer Inspektion ist der Sachverstand der einzelnen Inspektoren IEEE Transactions on Software Engineering TSE 26:1 (2000) 1-14 11
Ansatz wende Ergebnisse der Sozialforschung über das Verhalten von Gruppen auf Software-Inspektionen an (Verhaltenstheorie, Ende der 80er Jahre) 12
Analoges Problem aus der Verhaltensforschung Eine Gruppe von Menschen hat sich in der Wüste verirrt allerlei Werkzeuge vorhanden (Messer, Seil, Spiegel...) Aufgabe ist, eine Rangfolge für die Werkzeuge zu erarbeiten bez. ihrer Wichtigkeit für das Überleben in der Wüste 13
Analoges Problem (Forts.) zuerst legt jedes Gruppenmitglied seine eigene Rangfolge fest dann muss sich die ganze Gruppe auf eine gemeinsame Rangfolge einigen Gruppenverhalten (insbesondere Prozess der Entscheidungsfindung) ist intensiv studiert worden 14
Analoges Problem (Forts.) Inspektion besteht auch aus zwei Phasen individuelle Defektsuche (preparation phase) ähnelt dem Festlegen der individuellen Rangfolge (hier: individuelle Defektliste) Gruppensitzung (group meeting) ähnelt der Einigung auf gemeinsame Rangfolge (hier: gemeinsame Defektliste) 15
Schema zur Theorie 16
Angelpunkt im Schema performance = Leistung der Gruppe (entspricht der Wirksamkeit der Inspektion) group expertise = Sachverstand der Gruppe als Ganzes Erkenntnis aus der Verhaltensforschung: die Leistung der Gruppe ist bestimmt durch Anwenden [2] ihres Sachverstands [1] 17
Sachverstand der Gruppe individual members task expertise = Sachverstand der einzelnen Mitglieder in Bezug auf die gegebene Aufgabe Erkenntnisse: der Sachverstand der Gruppe ist bestimmt vom Sachverstand der einzelnen Mitglieder zusätzliche Mitglieder (group size) können den Sachverstand der Gruppe erhöhen. 18
Sachverstand der Gruppe (Forts.) Erkenntnisse (Forts.): die Leistung der Gruppe kann durch Training (task training) und günstige Auswahl der Mitglieder (member selection) erhöht werden durch die Interaktion in der Gruppe entstehen keine neuen Lösungen 19
Anwenden des Sachverstands social decision scheme = Verfahren zur Entscheidungsfindung in der Gruppe (vor allem bei Uneinigkeit) group process = die Menge der sozialen Prozesse (Interaktionen) innerhalb der Gruppe (z.b. Teilen von Information, Wortmeldung, Lösen von Konflikten) 20
Anwenden des Sachverstands (Forts.) Erkenntnisse: das Verfahren zur Entscheidungsfindung ist ausschlaggebend dafür, ob vorhandener Sachverstand der Mitglieder genutzt wird in der Regel genügt es für das Akzeptieren einer Lösung, dass mehrere Mitglieder übereinstimmen die sozialen Prozesse in der Gruppe haben einen großen Einfluss auf das Entscheidungsverfahren 21
Allgemeine Vorhersagen aus der Theorie die Wirksamkeit einer Inspektion wird am besten dadurch erhöht, dass der verfügbare Sachverstand zum Erkennen von Defekten vergrößert wird Eingriffe am Ablauf einer Inspektion werden nur dann etwas bringen, wenn der bereits vorhandene Sachverstand nicht optimal eingesetzt wird 22
Einige Erklärungen mit Hilfe der Theorie zur Anzahl der Inspektoren: einige Forscher empfehlen 3 bis 5 Inspektoren im Prinzip nimmt der Sachverstand mit der Gruppengröße zu 2 Inspektoren sind besser als einer, aber 4 sind nicht besser als 2 erklärbar mit Bildung von Expertenpaaren (high task expertise) 23
Einige Erklärungen (Forts.) zu Lesetechniken: Verwendung von Szenarien erhöht deutlich die Erkennungsrate im Vergleich zu Prüflisten oder Ad-Hoc-Lesen Trainingseffekt und bessere Abdeckung der Defekttypen nicht bestätigt oder nur schwach unterstützt durch andere Forscher unklar, aber könnte an dem konkreten Material liegen 24
Einige Erklärungen (Forts.) zum Nutzen der Gruppensitzung: Gruppensitzung trägt nicht signifikant zum Entdecken von Defekten bei, weil Interaktionen in der Gruppe nicht nach Defekten suchen. Eliminieren von vermeintlichen Defekten ist möglich, da die Gruppe mehr Sachverstand über Defekte hat als ein einzelner Inspektor. Wie effektiv sind Inspektionen die digital eingegeben werden (jeder Teilnehmer kann die Defekte der anderen sehen) und kommen sie ohne Gruppensitzung aus? Siehe dazu J. Perpich, D. Perry, A. Porter, L. Votta and M. Wade, Anywhere, Anytime Code Inspections: Using the Web to Remove Inspection Bottlenecks in Large-Scale Software Development. In Proc. 19th Int. Conference on Software Engineering, Boston, MA, USA, 1997, pp. 14-21. 25
Einige Erklärungen (Forts.) Gruppensitzung (Forts.): Defekte werden in der Gruppensitzung unterdrückt (process loss), wegen sozialer Prozesse und Zeitproblemen bei Teilnehmern an der Sitzung. 26
Einige interessante Forschungsfragen Wie muss ein gutes Training für Inspektoren aussehen? kaum nützlich ist Training über Inspektionsprozess was macht eigentlich den Sachverstand beim Erkennen von Defekten aus? welche Kombination von Perspektiven, Szenarien, Prüflisten für welche Dokumente? wie oft und warum treten vermeintliche Defekte auf? 27
Forschungsfragen (Forts.) Kann die Aufgabe der Defekt-Klassifikation von einem Expertenpaar übernommen werden? spart Gruppensitzung, also Zeit und Geld könnte Unterdrücken von Defekten vermeiden wie oft werden Defekte von mehr als einem Inspektor entdeckt? 28
Forschungsfragen (Forts.) Warum werden Defekte erst in der Gruppensitzung gefunden? Bestimmte Defekttypen nicht durch die Prüflisten bzw. Szenarien abgedeckt? Dokument zu groß für die erlaubte Zeit? schlechte Arbeit der Inspektoren bei der individuellen Defektsuche ( Trittbrettfahrer )? Leistungsbewertung für Inspektoren? 29
Forschungsfragen (Forts.) Ab welcher Anzahl von Inspektoren tritt eine Art Sättigung des Sachverstands auf? brauchen Balance zwischen Kosten und Nutzen einer Inspektion kann man dazu eine Regressionskurve bauen? 30
Diskussion der Theorie sieht einfach aus, ist aber explizit ist rein qualitativ (keine quantitativen Aussagen) grobes Schema (nur eine Sorte von Begriffen, nur eine Sorte von Pfeilen) abgeleitetes Programm zur empirischen Forschung über Inspektionen 31
Diskussion der Theorie lenkt Forschung auf aussichtsreiche Ansätze zur Verbesserung von Inspektionen Gültigkeit der Theorie (Übertragbarkeit der allgemeinen Theorie auf Inspektionen) muss noch empirisch belegt werden 32