Navigation auf uzh.ch
Fehervorhersage (Bug Prediction) in grossen Software-Systemen stellt eine grosse Herausforderung aber auch ein sehr grosses Potential dar. Die Identifikation potentiell fehlerhafter Software-Teile (i.e. Module, Klassen, Methoden, etc.) kann wesentlich für die Projektsteuerung herangezogen werden. Diese Information kann für den gezielten Einsatz von Ressourcen bei der Entwicklung, Fehlerbehebung oder Weiterentwicklung vorteilhaft eingesetzt werden.
Fehlervorhersage funktioniert aber nur dann gut, wenn es eine ausreichende Menge von Daten für ein maschinelles Lernen gibt. Aus Charakteristiken wie geänderte Code-Menge, Komplexität der Änderungen, Anzahl der an den Änderungen beteiligten Entwicklern, etc. lassen sich Modelle bilden, die dann jene Module heraus-kristallisieren, welche besonders hohe Fehlerwahrscheinlichkeiten aufweisen.
In diesem TB zeigen wir Ihnen anhand zahlreicher Fallstudien wie Windows Vista, Eclipse, oder Mozilla wie solche Daten für ein Modell aufbereitet, dieses Modell gelernt und Fehlervorhersagen errechnet werden können. Dabei liegt der Schwerpunkt auf der Auswertung der Charakteristiken und weniger auf den theoretischen Grundlagen dazu.
Wir präsentieren dazu folgende Szenarien zur Analyse grosser Systeme wie Vista: Fehlervorhersage aufgrund von Quellcode-Eigenschaften, Entwickler-Netzwerke, Code Ownership, Verteiltheitsgrad des Entwicklungsteams und Änderungstypen im Code. Neben den Vortragsfolien erhalten Sie auf Wunsch auch die entsprechenden Forschungsartikel zur Nachlese.
Harald Gall, Prof. Dr.
Emanuel Giger, Forscher am Lehrstuhl und Spezialist für Empirische Datenanalyse