Nachweis von Feature Freezes durch Clustering

Ähnliche Dokumente
Testen und Metriken. Einige Fehler. Fehler vermeiden. Andreas Zeller Universität des Saarlandes Microsoft Research.

Bugtracking Tools codecentric GmbH

Software Survivability

Software Engineering in der Praxis

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Wie Klassen the people ins Netz gehen

Abschlussbericht. Erstellung eines automatisierten Build-Prozesses für Eclipse-RCP- Anwendungen am Fallbeispiel Control System Studio.

Inhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken. Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer

Entwicklungswerkzeuge

Enterprise PHP Tools

ISIS. Das Navigationssystem für angemessene Qualität und hohe Effizienz

Qualitätsmanagement im Projekt

Verwaltung von Signaturen für Malware-Gruppen

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

Versionierung und Bugtracking mit Git(Hub)

Messung und Aufwandsschätzung bei der Entwicklung von Web Applikationen. Frederik Kramer // Folie 1 von 14

fungen Debugging Boris Tripolskij

Java für C++ Programmierer

Einführung in Eclipse und Java

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Mapbender3 für den einfachen Aufbau von WebGIS Anwendungen

Software-Metriken. Dipl.-Ing.(BA) Henning Sievert Seminar Software-Entwurf WS 2004/05

Entwicklungsmethoden

Aktuelle Themen der Informatik Metriken für den Softwaretest

Mapbender3. für den einfachen Aufbau von WebGIS Anwendungen. Astrid Emde INTERGEO 2015 Stuttgart. Mapbender3 Astrid Emde INTERGEO Stuttgart 2015

Neuerungen Analysis Services

Tool-Chain. Übung. Eclipse, SVN, Ant, Cobertura, Metrics Labor "Software Engineering Experiment" Sebastian Meyer und Kai Stapel

Sehr geehrte Faktor-IPS Anwender,

Software-Qualität: Übung 1 Evolutionäres Entwickeln

Campus Routenplaner. Praxis der Software-Entwicklung. Einführung 27. April, 2015 Michael Hamann Franziska Wegner

Geany Just Not Another Editor

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

Testwell CTC++ Test Coverage Analyser Testabdeckung für alle Coverage-Stufen, alle Compiler, alle Embedded Targets

Management von Softwaresystemen Systembewertung: Metriken und Prozess

Metriken für erfahrungsbasiertes RE

Einführung in Subversion

ISIS. beleuchten, was sich bisher im Dunkeln verbarg verbessern, was bisher im Argen lag

Vertrauenswürdigkeit von Software. Sandro Hartenstein FH Brandenburg

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance

Scrum, ISIS und ISO 9001 zertifiziertes Qualitätsmanagement. Joachim Meyer

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006

Programmierung im Grossen. Vorlesung 22: Konfigrationsmanagement. Themenübersicht. Bertrand Meyer. Bernd Schoeller

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Kapitel 3 Software Quality III

Software Qualität Übung 1

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon

Modellierung der Business Architecture mit BPM 12c

Informatik II Übung 1 Gruppe 7

Ausgangssituation und Zielsetzung. eingereicht von Ansgar Lamersdorf am an der TU Kaiserslautern

3b. Issue Management, Issue-Based Change Management und persönliches Zeitmanagement

Baselining IBM Rational DOORS Start-Up Training - Teil 5

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Motivation. Themenblock: Klassifikation. Binäre Entscheidungsbäume. Ansätze. Praktikum: Data Warehousing und Data Mining.

DevOps. Alexander Pacnik, Head of DevOps Engineering

Informatik II Übung 1 Gruppe 7. Leyna Sadamori

Vorlesung Software Engineering

Techniken der Projektentwicklung

Verbesserung der Architektur und Dokumentation der DPP-Software Saros. Slawa Belousow Institut für Informatik FU Berlin

Was versteht man unter Softwarequalität?

Swetlana Stickhof. Universität Heidelberg

Comparison of Software Products using Software Engineering Metrics

Informatik-Sommercamp Mastermind mit dem Android SDK

Softwareproduktlinien Teil 4: Versionsverwaltungs- und Buildsysteme

Quantität für Qualität

Continuous Delivery in der Realität eines Großunternehmens

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner

ANT. Kurzvortrag von Manuel Schulze.

Funktionale Sicherheit in Automotive und Luftfahrt (ISO26262 und DO 178BC) Otto Alber, Peter Wittmann

Testdokument (Universität Paderborn, Softwaretechnikpraktikum SS2006)

Kapitel LF: I. Beispiele für Lernaufgaben. Beispiele für Lernaufgaben. LF: I Introduction c STEIN

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, , Berlin

Erfolgreicher Ums9eg auf Git

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen,

Versionsverwaltung mit SVN

Framework zur Unterstützung von Unit-Tests

IT-Projekt-Management

MDRE die nächste Generation des Requirements Engineerings

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1

RE-Metriken in SCRUM. Michael Mainik

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Was geht Qualitätsmanagement/ Qualitätsicherung die Physiotherapeutenan? Beispiel einer zertifizierten Abteilung

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Fabian Grimme und Tino Krüger 1 INDREX. Evaluierung von H2O. Enterprise Data Management Beuth Hochschule für Technik

Anleitung zur Fleet & Servicemanagement Evatic Schnittstelle

Testmanagement Sein, Schein und reiner Wein

Lean Modeling - Datenmodelle und Geschäftsregeln einfach und präzise mit natürlicher Sprache spezifizieren

Spring Dynamic Modules for OSGi Service Platforms

Navi & seitenzahl. Ein Toolset für agile Entwicklungsprojekte

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Programmierung für Mathematik (HS13)

Domain-independent. independent Duplicate Detection. Vortrag von Marko Pilop & Jens Kleine. SE Data Cleansing

Echolot Qualitätssicherung mit Sonar

Kapitel 8: Fehlervermeidung

Transkript:

Ste en Herbold nstitut für nformatik Universität Göttingen 18.11.2008 - Metrikon 2008 Ste en Herbold - (1/21)

Überblick Einführung Grundlagen Metriken Maschinelles Lernen Sammeln von Metrikdaten Anwendung des k -means Algorithmus Zusammenfassung und Ausblick Ste en Herbold - (2/21)

Einführung Grundidee Analyse von Metrikdaten Zwei generelle Möglichkeiten: Verschiedene Messzeitpunkte Metrikdaten als Eingabe für Lernalgorithmen Retrospektiv Während der Laufzeit Ziel: Zeigen, dass eine derartige Analyse möglich ist. Ste en Herbold - (3/21)

Grundlagen Metriken Messung De nition (Messung nach Fenton/P eeger) Messen ist ein Prozess, bei welchem Zahlen oder Symbole zu Attributen von Objekten aus der realen Welt nach klar de nierten Regeln zugewiesen werden. Attribut: Körpergröÿe Regel zum Messen: Vermesse die Länge des Körpers in Zentimetern Ste en Herbold - (4/21)

Grundlagen Metriken Softwaremetrik nach EEE 610.12 De nition Eine Metrik ist eine quantitative Messung, zu welchem Grad ein System, eine Komponente oder ein Produkt ein gegebenes Attribut besitzt. Eine Qualitätsmetrik ist 1. eine quantitative Messung des Grades zu welchem ein Gegenstand ein gegebenes Qualitätsattribut besitzt. 2. eine Funktion, die als Eingabe Softwaredaten und als Ausgabe einen einzelnen numerischen Wert, welcher als der Grad, zu dem die Software ein gegebenes Qualitätsattribut besitzt interpretiert werden kann. Ste en Herbold - (5/21)

Grundlagen Metriken Prozessmetriken Messen den Entwicklungsprozess Beispiele: Anzahl der Entwickler Benötigte Zeit Ausgegebenes Geld Anzahl der Fehler (BUG) Ste en Herbold - (6/21)

Grundlagen Metriken Produktmetriken Messen ein Produkt direkt Komplexitätsmetriken: Zyklomatische Zahl Verschachtelungstiefe Gröÿenmetriken: Anzahl der Zeilen (LOC) Anzahl der Statements Ste en Herbold - (7/21)

Grundlagen Maschinelles Lernen Was ist maschinelles Lernen? De nition (Maschinelles Lernen nach Mitchell) Man sagt das ein Computerprogramm aus einer Erfahrung E, unter Berücksichtung einer Klasse von Aufgaben T und einem Maÿ für sein Leistungsverhalten P, lernt, falls das Leistungsverhalten von Aufgaben T, gemessen von P sich mit der Erfahrung E verbessert. n diesem Kontext bedeutet dies: Die Erfahrung E sind Metrikdaten Die Klasse von Aufgaben T sind die Lernalgorithmen, welche zur Analyse der Daten eingesetzt werden. Das Maÿ für das Leistungsverhalten P ist, wie gut ein Algorithmus eine Eigenschaft bestimmen kann. Ste en Herbold - (8/21)

Grundlagen Maschinelles Lernen Überwacht und Unüberwacht Lernalgorithmen können überwacht oder unüberwacht sein. Überwachte Algorithmen kennen die Klassi kation der Daten. Man nennt die Daten ebenfalls überwacht oder unüberwacht. Die Qualität des Resultats eines Lernalgorithmus hängt von der Qualität der Daten ab. Schlechte Daten führen zu schlechten Resultaten. Ste en Herbold - (9/21)

Grundlagen Maschinelles Lernen Der k -means Ein Cluster ist eine Menge von Punkten Clusteralgorithmus Punkte stehen in Beziehung zueinander Clusteralgorithmen probieren in unüberwachten Daten Cluster zu nden Der k -means Algorithmus bestimmt k Cluster Cluster werden durch ihre Mittelpunkte repräsentiert Durch terieren der folgenden zwei Schritte, werden die Cluster bestimmt: 1. Weise jeden Punkt dem Cluster zu, dessen Mittelpunkt ihm am nächsten ist. 2. Ersetze für jedes Cluster den Mittelpunkt durch den Mittelwert (mean value) aller Punkte, die zu dem jeweiligen Cluster gehören. Ste en Herbold - (10/21)

Grundlagen Maschinelles Lernen Figure: Links: Simulierte Daten, die durch zwei Normalverteilungen generiert wurden. Rechts: Die Cluster, die der k-means Clusteralgorithmus gefunden hat. Ste en Herbold - (11/21)

Sammeln von Metrikdaten Art der Daten Metrikdaten zur automatisierten Analyse benötigt Verschiedene Zeitpunkte während der Prozessdurchführung Zeitpunkt nicht zufällig wählen Meilensteine sind mögliche Messpunkte Fortschritt der Metrikdaten nutzen, um den Fortschritt eines Prozesses/Projektes vorherzusagen Ste en Herbold - (12/21)

Sammeln von Metrikdaten Messen in Softwarearchiven Direkt am Quelltext messbare Metriken Benötigt ein Quelltext Versionierungsystem Zum Beispiel CVS oder SVN Quelltext kann aus dem Repository bezogen werden Kann durch Tools automatisch gemessen werden Auf Fehlerzahlen bezogene Metriken Analyse von Bugtracking Systemen Durch Zugri auf das Webinterface Durch direkten Zugri auf die zugrunde liegende Datenbank Ste en Herbold - (13/21)

Sammeln von Metrikdaten Bisher gemessene Daten 14 Versionen von 2 Projekten Eclipse Java Development Tools 3.2 Eclipse Platform Project 3.2 Die zugrunde liegende Version 3.1 Die Meilensteine 1 bis 6 Die Release Candidates 1 bis 6 Die Endversion 3.2 Ste en Herbold - (14/21)

Anwendung des k -means Algorithmus Feature Freezes Spezieller Zeitpunkt während eines Projektes Danach werden keine neuen Funktionen mehr hinzugefügt Der Fokus des Projektes verändert sich zu stabilisierenden Aufgaben Testen Fehlerbehebung Dokumentation Fokusänderung durch zielgerichtet ausgesuchte Metriken feststellen Ste en Herbold - (15/21)

Anwendung des k -means Algorithmus Auswahl von Metriken Lines of Code (LOC) und Number of Bugs (BUG) wurden ausgewählt LOC um den Fortschritt des Projektes zu messen BUG um zu Messen, ob sich das Projekt stabilisiert Die Werte beider Metriken müssen normalisiert werden Ste en Herbold - (16/21)

Anwendung des k -means Algorithmus Normalisierte Metrikwerte als Eingabe für k -means Zwei Cluster gesucht 1. Vor dem Feature Freeze 2. Nach dem Feature Freeze Feature Freeze hat an Meilenstein 5 stattgefunden Ste en Herbold - (17/21)

Anwendung des k -means Algorithmus Ste en Herbold - (18/21)

Zusammenfassung und Ausblick Analyse der Ergebnisse Die erfolgreiche Erkennung von Feature Freezes zeigt, dass automatisierte Analyse aufgrund von Metrikdaten möglich ist. Der Ansatz ist ist nicht ohne Probleme Es werden immer zwei Cluster gefunden Es nicht nicht immer klar was gefunden wird Nur Anhand von 2 Projekten veri ziert Probleme des Ansatzes, nicht ob automatisierte Analyse möglich ist Ste en Herbold - (19/21)

Zusammenfassung und Ausblick Ausblick Clusterbasierte Ansätze Andere Algorithmen, unterschiedliche Clusteranzahl Überwachte Ansätze Klassi kationen oder Zustände lernen Modell Extrapolation aus vorhandenen Daten Kostenschätzung: Nutze aktuelle Metrikwerte um Gesamtkosten Vorauszusagen Kontrollmaÿnahmen: Abweichung von vorhergesagten Werten als ndikator für Probleme Ste en Herbold - (20/21)

Zusammenfassung und Ausblick Vielen Dank für hre Aufmerksamkeit! Ste en Herbold - (21/21)