Titelaufnahme

Titel
sPACE - software project assessment in the course of evolution / Jacek Ratzinger
VerfasserRatzinger, Jacek
Begutachter / BegutachterinGall, Harald ; Jazayeri, Mehdi
Erschienen2007
UmfangVI, 123 Bl. : Ill., graph. Darst.
HochschulschriftWien, Techn. Univ., Diss., 2007
Anmerkung
Zsfassung in dt. Sprache
SpracheEnglisch
Bibl. ReferenzOeBB
DokumenttypDissertation
Schlagwörter (DE)Softwareevolution / Projektbewertung / Vorhersage
Schlagwörter (EN)Software Evolution / Project Assessment / Prediction
Schlagwörter (GND)Softwareentwicklung / Projekt / Bewertung / Prognose
URNurn:nbn:at:at-ubtuw:1-20009 Persistent Identifier (URN)
Zugriffsbeschränkung
 Das Werk ist frei verfügbar
Dateien
sPACE - software project assessment in the course of evolution [2.06 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Diese Dissertation zielt auf die Entwicklung von Werkzeugen und Methoden zur Bewertung von Softwareprojekten ab. Die Entwicklung eines Sofwaresystems kann durch eine Sequenz von Ingenieursaktivitäten beschrieben werden, wobei die einzelnen Ereignisse nicht isoliert, sondern mit einander verknüpft. Für die Bewertung der gegenseitigen Abhängigkeiten in Projekten können wir Informationssysteme verwenden, welche die Entwicklungsaufgaben unterstützen. Als Quellen für die Information über die Evolution verwenden wir daher Konfigurationsmanagementsysteme (z.B. CVS und Subversion) und Ticketing-Systeme (z.B. Jira und Bugzilla). Da die gewonnenen Datenmengen sehr groß sind, ist eine manuelle Analyse beinahe unmöglich.

Daher wenden wir verschiedene Data-Mining Methoden zur Extraktion relevanter Fakten an. Association-Mining ermöglicht die Identifikation von Verknüpfungen zwischen Softwareelementen sowie die Beschreibung der Architektur von einer Evolutionsperspektive. Zukünftige Aktivitäten and Produkteigenschaften können mit Hilfe von Methoden für Regression und Klassifikation vorhergesagt werden.

Wir haben bestehende Ansätze durch Data-Mining von Werteserien erweitert, welche auf Evolutionsattributen basieren und den Verlauf der Entwicklung über die Zeit beschreiben. Die Erkennung von sequenziellen Mustern ist essenziell, da sie zur Verbesserung der Genauigkeit von Vorhersagemodellen genutzt werden kann. Als Grundlage für Series-Mining zur Vorhersage der Anzahl von Fehlern rekonstruieren wir die Aktivitätstypen des Softwareevolutionsprozesses. Das Verhältnis zwischen unterschiedlichen Typen von Aktivitäten bietet sehr gute Ergebnisse mit einer Korrelation von mehr als 0,9 zwischen der vorhergesagten und tatsächlichen Anzahl von Fehlern. Diese Werte basieren auf Vorhersagemodellen, welche Aktivitäten einbeziehen, die durch Ausdrücke wie ''refactor'' oder ''comment'' gekennzeichnet werden.

Zusammenfassung (Englisch)

This thesis aims at the development of tools and techniques for the assessment of software projects. The development of a system can be described through a sequence of engineering events, where events are rarely isolated but related to each other. For the assessment of the interdependencies in products and projects we can utilize information systems of today that support development projects. Our sources of evolution information are configuration management systems (e.g. CVS and Subversion) and issue tracking systems (e.g. Jira and Bugzilla). The amount of data from such tools is very large and the manual investigation is almost impossible. Therefore, we apply different data mining methods for the extraction of relevant facts. Association mining enables us to identify coupling between software entities and to describe the architecture from an evolution perspective. Future activities and product attributes can be anticipated with the help of regression and classification methods. We evaluate our approach based on a field study of commercial and open source projects. We extend the basic data mining approaches with the mining of value series, which are based on evolution attributes describing the course of development over time. For the input to this series mining algorithm we reconstruct the event types of software evolution processes. The relation between different types offers very good results with a high correlation of more than 0.9. These values are reached with prediction models in which events are involved that are described through the terms ''refactor'' or ''comment''.