19. Korrelieren Metriken
mit Fehlerdichte?
Projekt Korrelierte Metriken
A #Classes und 5 abgeleitete
B fast alle
C alle außer MaxInheritanceDepth
D nur #Lines
E #Functions, #Arcs, McCabe
20. Wie steht es mit
Metriken?
Korrelieren Metriken
mit Fehlerdichte?
Manchmal!
21. Vorhersage
fehlerträchtiger Module
• Grundidee: Metriken kombinieren
• Größtes Gewicht für vorhersagende Metriken
• Problem: Metriken sind untereinander korreliert
• Lösung: Principal Component Analysis (PCA)
28. Eclipse Imports
71% aller Komponenten, die compiler importieren,
müssen nach dem Release korrigiert werden
import org.eclipse.jdt.internal.compiler.lookup.*;
import org.eclipse.jdt.internal.compiler.*;
import org.eclipse.jdt.internal.compiler.ast.*;
import org.eclipse.jdt.internal.compiler.util.*;
...
import org.eclipse.pde.core.*;
import org.eclipse.jface.wizard.*;
import org.eclipse.ui.*;
14% aller Komponenten, die ui importieren,
müssen korrigiert werden
Joint work with Adrian Schröter • Tom Zimmermann
29. Eclipse Imports
Korrelation mit Fehlschlagen
import org.eclipse.jdt.internal.compiler.lookup.*;
import org.eclipse.jdt.internal.compiler.*;
import org.eclipse.jdt.internal.compiler.ast.*;
import org.eclipse.jdt.internal.compiler.util.*;
...
import org.eclipse.pde.core.*;
import org.eclipse.jface.wizard.*;
import org.eclipse.ui.*;
Korrelation mit Erfolg
30. Vorhersage
Defekt kein Defekt
top 5%
10%
~300 Pakete
90%
50. Studien
Make this
Actionable!
Rosenberg, L. and Hyatt, L. “Developing An Effective Metrics Program”
European Space Agency Software Assurance Symposium, Netherlands, March, 1996
51.
52. Zukünftige Programmierumgebungen werden
• Muster in Programm und Prozess erkennen
• Regeln anwenden, um Vorhersagen zu machen
• alle Entwicklungsentscheidungen unterstützen
• ihre Unterstützung an das Projekt anpassen
53. Wikis
Joy of Use
Participation Usability
Recommendation Social Software
Collaboration Perpetual Beta Simplicity
Empirie 2.0
Trust
Economy
Remixability The Long Tail
DataDriven