CQSE Workshop: Clone Management

Dr. Michael Reif & Dr. Elmar Jürgens

Koordinaten

Zusammenfassung

Quellcode zu kopieren und dann wieder einzufügen ist eine gängige und effiziente Art diesen ad-hoc wiederzuverwenden. Allerdings stellt duplizierter Code (auch Klon genannt) eines der größten Risiken für die zukünftige Wartung von Code dar. 

  • Die Codebasis wird unnötig vergrößert und Änderungen müssen mehrfach durchgeführt werden. 
  • Da nicht klar ist, wo sich die Klone befinden, werden Änderungen nicht für alle Kopien eines Codefragments angewendet.
  • Es könnten unbeabsichtigte Unstimmigkeiten entstehen, die sich als besonders kostspielig erweisen, wenn es sich bei den Änderungen um Fehlerbehebungen handelt.

Um Risiken, die Code-Klone mit sich bringen, zu minimieren, setzen moderne Entwicklungsprozesse auf Klonmanagement:

  • Entwickler haben Zugriff auf detaillierte Informationen über Klone im zu ändernden Code.
  • Sie erhalten unmittelbar Feedback, wenn Klone uneinheitlich geändert wurden.
  • Architekten sind in der Lage, Klone im größeren Rahmen zu untersuchen, um Komponenten herauszufiltern, die anfällig für Klone sind, und Architekturentscheidungen eventuell zu überdenken.
  • Die Analyse von Klonen zwischen Komponenten oder sogar verschiedenen Anwendungen liefert außerdem wertvolle Erkenntnisse.

Sprecher

  • Dr. Elmar Jürgens - Hat über Clone Detection promoviert, in hunderten von Teams Clone Detection eingesetzt und aus dem Feedback der Teams lernen dürfen.
  • Dr. Michael Reif - Untersucht täglich Klone in kurzfristigen Software Audits sowie länger laufenden Kundenprojekten. Kennt auch Klone die nicht ohne weiteres ausgebaut werden können.

Anmeldung

Dr. Michael Reif