Duplizierter Quellcode und redundante Funktionalität stellen eine große
Herausforderung für Softwareentwickler dar. Sowohl Aufwände in der
Softwarewartung, als auch die Fehlerauftrittswahrscheinlichkeit und
Komplexität steigen durch diese Praxis stark an. Aus der Literatur lässt
sich erkennen, dass bis zu 23% eines Softwaresystems redundante
Funktionalität implementiert. Aus diesem Grund existieren
unterschiedlichste Methoden und Ansätze, um Codeklone zu erkennen, zu
managen oder zu entfernen. Das Ziel dieser Arbeit ist unter anderem,
einen Überblick über diese Methoden zu geben und deren spezifische
Vorteile sowie Einschränkungen zu geben. Im Zuge dessen ist auch die
Erarbeitung von präzisen, anerkannten Definitionen von Begriffen der
Klonerkennung erforderlich. Auf Basis dieser Ergebnisse wird ein
Algorithmus zur Klonerkennung in C++ Programmen mit dem ROSE Compiler
Framework implementiert und anschließend evaluiert.