| Thema: | Klonmanagement: Klonerkennung für eingebettete Systeme | | Diplomand/in: | Bernhard Berger | | Download: |  |
Zusammenfassung:
Duplizierter Quellcode, auch Klon genannt, ist ein weit verbreitetes
Problem in Softwaresystemen und ist unter anderem aus diesem Grund auf
Platz eins von Beck und Fowlers "Stink Parade of Bad Smells". Klone
verschlechtern im Allgemeinen die Wartbarkeit der Software und
erschweren die Fehlerkorrektur, da Fehler unter Umständen auch geklont
wurden und das Softwaresystem größer und damit schwerer zu verstehen
ist. Es gibt eine Reihe von Möglichkeiten Klone zu entfernen, welche zum
Teil durch Refactorings beschrieben sind. In vielen Systemen ist das
Entfernen aller Klone jedoch zum einen zeitaufwendig, zum anderen auch
nicht immer erwünscht oder möglich. Gerade im embedded Bereich sind
Speicherverbrauch und Performance wichtige Anforderungen, die eventuell
durch zusätzlichen Funktionen und Funktionsaufrufe nicht mehr erreicht
werden können. Zudem gibt es eine Reihe von Klonen, die ein Entwickler
nicht als solche ansehen würde und die er deshalb gar nicht gemeldet
bekommen möchte und auch nicht entfernen möchte.
Ziel der Diplomarbeit soll es sein anhand eines Beispielsystems aus dem
embedded Bereich zu untersuchen, wie ein Entwickler beim Umgang mit
Klonen in größeren Systemen unterstützt werden kann. Hierzu soll das
bestehende Bauhaus-Framework so erweitert werden, dass es auf der einen
Seite dem Entwickler ein Überblick über die vorhandenen Klone geben kann
und auf der anderen Seite versucht automatisiert zu bewerten, ob es
möglich ist einen Klon zu beseitigen und wie sinnvoll dies ist.
|