SWZ  >  
Forschungsprojekte  >  
Agenten-basierte Simulationsmodelle zur Unterstützung der Qualitätsüberwachung von Softwareprojekten

Agenten-basierte Simulationsmodelle zur Unterstützung der Qualitätsüberwachung von Softwareprojekten

Im Projekt sollen Aussagen über die zu erwartende Qualität einer zu entwickelnden oder sich in der Entwicklung befindender Software mittels Simulation gewonnen werden. Diese Aussagen werden Projektmanager bei Managemententscheidungen bzgl. des weiteren Projektverlaufs unterstützen. Dabei wird es möglich sein, durch das Ändern verschiedener Parameter unterschiedliche Projektverläufe zu simulieren und die Simulationen bezüglich der Softwarequalität (z.B. zu erwartende Fehleranzahl oder Wartungsqualität) auszuwerten. Durch die iterative Anpassung der Parameter (z.B. Anzahl der Entwickler) kann eine optimale Konstellation für das Projekt ermittelt werden. Die dadurch entstehende Feedback-Schleife ist in Abbildung 1 illustriert.

Abbildung 1: Feedback-Schleife für Projektmanager.

Motivation und technischer Hintergrund

Gebotene Hilfestellungen für einen Projektmanager berücksichtigen zum Beispiel die Vorhersage von fehleranfälligen Bereichen im Quellcode. Ein Manager könnte durch intensiveres Testen problematischer Bereiche im Vorhinein auf mögliche Probleme reagieren. Eine weitere Anwendung dieses Ansatzes ist die Identifizierung von potentiell komplexen Quellcodebereichen, die Kandidaten für ein Refactoring sind. Die Anwendung von Refactorings führt dann zur Verbesserung der Wartbarkeit. Auch der notwendige Aufwand zur Anwendung von Refactorings kann mit Hilfe des zu entwickelnden Simulationswerkzeugs abgeschätzt werden. 

Unabdingbar für eine realistische Simulation von Softwareprozessen ist ein tiefes Verständnis von Softwareevolution. Die Analyse der Evolution von Open-Source-Projekten dient in diesem Projekt als Schätzung für die notwendigen Simulationsparameter. Die Nachsimulation bereits beendeter bzw. sich in der Weiterentwicklung befindender Open-Source-Projekte wird zur Validierung des Ansatzes durchgeführt.

Als Simulationsmethode wird in diesem Projekt agentenbasierte Simulation verwendet. Entwickler werden als aktive Agenten modelliert, die Softwareartefakte (modelliert als passive Agenten) bearbeiten und verändern. Das Verhalten der Entwickler wird dabei durch Regeln beschrieben, nach denen die aktiven Agenten während der Simulation handeln. Die Machbarkeit des Ansatzes wurde bereits in dem SWZ-Projekt 11.4.2 gezeigt.

Zu untersuchende Phänomene

Bisherige Simulationsmodelle spiegeln bisher nur sehr allgemeine Aspekte wie Wachstum, Change-Coupling (Abhängigkeit durch das zeitgleiche Ändern von Dateien) und Lebensspanne von Bugs wider. Es sollen in diesem Projekt konkretere Aspekte wie z.B. Änderungsmuster (z.B. zur Simulation des Effekts von Refactorings) und Entwicklererfahrung (z.B. zur Modellierung der Änderung des Entwicklerverhaltens über die Zeit) berücksichtigt werden, die sehr konkrete Aussagen über die zu erwartende Entwicklung von Softwareprojekten erlauben. 

Für die Bewertung der Simulationsergebnisse wird das im SWZ-Projekt verwendete CRF-basierte Verfahren angepasst, verbessert und verfeinert werden. 

Eine technische Limitierung des im SWZ-Projekt 11.4.2 verfolgten Ansatzes besteht darin, dass große Projekte nur langsam simuliert werden konnten und dass verschiedene Verhaltensaspekte von Softwareentwicklern (z.B. Zielorientiertheit und Kommunikation zwischen den Entwicklern) nicht modelliert und simuliert werden konnten. Diese Probleme sollen hier durch die Verwendung und Weiterentwicklung der skalierbaren Simulationsplattform "MASeRaTi" bearbeitet werden. MASeRaTi wird an der TU Clausthal im Rahmen des SWZ-Projekts DeSim entwickelt.

Antragstellende Wissenschaftler

Prof. Dr. Jürgen Dix

Arbeitsgruppe Computational Intelligence
Institut für Informatik
Technische Universität Clausthal

Raum 116, Am Regenbogen 15, 38678 Clausthal-Zellerfeld
E-Mail: juergen.dix@tu-clausthal.de
Telefon: +49 5323 72-7181
Fax: +49 5323 72-7189

Prof. Dr. Jens Grabowski

Arbeitsgruppe Softwaretechnik für Verteilte Systeme
Institut für Informatik
Georg-August-Universität Göttingen

Raum 2.115, Goldschmidtstraße 7, 37077 Göttingen
E-Mail: grabowski@informatik.uni-goettingen.de
Telefon: +49 551 39-172022
Fax: +49 551 39-14415

Prof. Dr. Stephan Waack

Arbeitsgruppe Theoretische Informatik und Algorithmische Methoden
Institut für Informatik
Georg-August-Universität Göttingen

Goldschmidtstraße 7, 37077 Göttingen
E-Mail: waack@cs.uni-goettingen.de
Telefon: +49 551 39 172011
Fax: +49 551 39 14693