Konflikte in der Softwareentwicklung: Vermeiden oder lösen?
Konflikte treten in der Softwareentwicklung häufig auf. Immer wenn ein Entwicklungsteam gemeinsam an einem System arbeitet, kann es zu Konflikten kommen – zum Beispiel beim Arbeiten am Code in einem verteilten Team. Die heutigen Werkzeuge sind zwar gut darin, Konflikte zu erkennen, bieten aber wenig Unterstützung, um sie effektiv zu bewältigen. Die Konflikte zu lösen ist oft schwierig, vor allem bei komplexen Aufgaben wie Code-Refactoring. Gemäß dem Capability Maturity Model Integration (CMMI) zielen ausgereifte Prozesse darauf ab, Probleme zu verhindern, bevor sie auftreten, anstatt im Nachhinein zu reagieren. Bislang gibt es jedoch nur wenige Forschungsarbeiten, die sich damit befassen, wie Konflikte in der Softwareentwicklung proaktiv verhindert oder auch gelöst werden können. Die Konzepte der Graphentransformation bieten eine leistungsstarke Grundlage für die Entwicklung eines proaktiven Ansatzes. Dafür gibt es drei Gründe: Erstens eignen sich Graphen gut zur Darstellung komplexer Strukturen, wie z. B. Codeartefakte, Systemarchitekturen oder Rechenzustände. Zweitens lassen sich Änderungen an diesen Strukturen mithilfe von Graphentransformationsregeln klar beschreiben. Drittens stützt sich die Graphentransformation auf eine reichhaltige und gut etablierte Theorie.
An der Philipps-Universität Marburg wird das neue DFG-Projekt CORE gefördert, in dem ein proaktiver Ansatz für den Umgang mit Konflikten basierend auf Graphentransformationssystemen entwickelt wird. Potenzielle Konflikte können auf Basis von Reparaturvorschlägen zum Zeitpunkt der Entwicklung verhindert werden, während unvermeidbare Konflikte durch die Suche nach einer für beide Seiten geeigneten Lösung gelöst werden. Dabei werden Lösungsschablonen im Voraus vorbereitet und beim Auftreten von Konflikten semi-automatisch angewendet. Zum Finden von solchen Konfliktlösungen werden heuristische Suchtechniken verwendet.
Das Projekt CORE wird von Prof. Leen Lambers (BTU Cottbus) und Prof. Gabriele Taentzer geleitet. Zwei Mitarbeiterstellen sind dafür vorgesehen, die Projektideen innerhalb von drei Jahren zu realisieren und dazu zu promovieren.