banner

Hauptmenü

Sie sind hier

Copy & Paste & Bug

Track: 
VKSI Track

Programmiersprachen bieten eine Vielzahl von Abstraktionsmechanismen um uns Wiederverwendung zu erleichtern. Trotzdem ist Copy & Paste nach wie vor weit verbreitet. Oft wird einfach mal schnell ein existierendes Code-Fragment kopiert und geringfügig angepasst, anstatt eine Funktion oder eine Basisklasse zu erstellen, über die man die gewünschte Funktionalität wiederverwenden könnte.

Was kurzfristig als gute Idee erscheint, führt langfristig zu Mehraufwänden, da Änderungen in der Regel nicht nur an einer Stelle, sondern an allen sogenannten Klonen vorgenommen werden müssen. Werden dabei Klone übersehen, führen die resultierenden Inkonsistenzen oft zu Fehlern. Tatsächlich enthalten viele Softwaresysteme 20-30% geklonten Code, in manchen Fällen sind es sogar 50% oder noch mehr.

Da es in großen Softwaresystemen unmöglich ist, manuell einen Überblick über existierende Klone zu behalten, sind Entwickler auf Werkzeugunterstützung angewiesen. Clone-Detection-Werkzeuge erkennen Klone in existierender Software – sie können dadurch den Umgang mit existierenden Klonen erleichtern und die Entstehung von neuen eindämmen.

In diesem Vortrag zeige ich Beispiele von Klonen und dadurch entstandene Fehler in produktiver Software, stelle Clone-Detection mit Hilfe des Open-Source-Werkzeugs ConQAT vor und diskutiere Best-Practices und Grenzen des Einsatzes von Klonerkennung in der Praxis.

Referenten: 
Firma: 
cqse
Biografie: 

Elmar Jürgens promovierte an der Technischen Universität München über Erkennung, Auswirkungen und Umgang mit Klonen und erhielt dafür 2011 den Software-Engineering-Preis der Ernst Denert-Stiftung. Als Mitgründer der CQSE GmbH unterstützt er Unternehmen bei der Analyse und Verbesserung der Qualität ihrer Softwaresysteme. Neben seiner Tätigkeit als Berater entwickelt er aktiv am Open-Source-Programmanalysewerkzeug ConQAT mit.