Theses
Contact
Events
Upcoming Events
-
03.12.2024 16:00 PG-Raum A2 2-219 / https://uol.de/se?vc-oberseminar
SE ColloquiumAnne Lecdou Kayou:Automatische Feedbackbereitstellung zu Lösungen von Modellierungsaufgaben
Theses
Entwicklung eines modularen Refactoring-Tools in SCA
Bachelorarbeit in der Abteilung SoftwaretechnikMotivation
Softwareentwicklung mit einer Intergrierte Entwicklungsumgebung bietet viele Vorteile gegenüber einem Texteditor ohne Hilfsmittel.
Ein Compiler, ein Linker und ein Debugger sind bereits in die IDE integriert und erleichtern somit die Fehlersuche. Tippfehler
werden durch die Autovervollständigung wesentlich reduziert. Außerdem werden Schlüsselwörter vorgeschlagen und durch farbliche
Markierung im Quelltext hervorgehoben.
Eines der wichtigsten Features ist das Refactoring. Es ermöglicht eine effiziente Veränderung der Codestruktur, wodurch der
Quelltext beispielsweise zu Gunsten der Lesbarkeit, der Performanz oder der Erweiterbarkeit optimiert werden kann.
Neu entwickelte IDE können nicht auf Tools von bereits existierenden IDE zugreifen, da diese in sich geschlossen und nicht
modular sind. Somit müssen bereits etablierte Tools wiederholt neu geschrieben werden. Da dies sehr zeit- und kostenintensiv
ist, soll eine Alternative entwickelt werden. Diese soll den Einbau erleichtern und die Wiederverwendung der Refactoring Komponenten
ermöglichen.
Aufgabenstellung
Im Rahmen der Arbeit soll ein modulares Refactoring-Tool entwickelt werden. Für die Realisierung wird die Service Component
Architecture verwendet. Johannes Meier zeigte bereits in seiner Bachelorarbeit mit dem Titel “Eine Fallstudie zur Interoperabilität
von Software-Evolutions-Werkzeugen in SCA”, dass SCA eine leichte Anbindung bietet und sich damit auch umfassendere Projekte
realisieren lassen. Durch den modularen Aufbau und die festgeschriebenen Schnittstellen lassen sich die einzelnen Komponenten
leicht ersetzen und gut wiederverwenden.
Die Erstellung einer für das Refactoring geeigneten Architektur und die Erprobung dieser an einem Prototypen bilden den Schwerpunkt
dieser Arbeit. Die Architektur muss einfach erweiterbar sein, damit weitere Refactorings ohne großen Aufwand hinzugefügt werden
können. Intern soll sie aus mehreren kleineren Komponenten bestehen. Diese sollen möglichst wenig Redundanz aufweisen, um
leicht wiederverwendbar zu sein. Desweiteren wird eine Fallunterscheidung zwischen der automatischen Erkennung von problematischen
Stellen im Code und der Benutzeninteraktion stattfinden, um sich der richtigen Balance und der daraus resultierenden Benutzerfreundlichekeit
anzunähern.
Darüber hinaus soll die Refactoring Komponente anhand mehrerer praktischer Beispiele veranschaulicht werden. Daran wird gezeigt,
dass die gewählte Architektur sowohl für die Realisierung von kleinen als auch großen Refactorings geeignet ist und dass die
Art der Interaktion eine zweckmäßige Balance aufweist.
Betreuer
Prof. Dr. Andreas Winter ()
M.Sc. Jan Jelschen ()
Related Projects
Software Evolution Software evolution research is a major focus of the software engineering group, and has been exercised through participation in software migration and software quality projects like SOAMIG and Q-MIG. Tools and techniques of software evolution have also been applied towards achieving energy efficiency in software. Modernizing legacy systems is, due to their size and complexity, only feasible with a high degree of automation. Thus, a major challenge of the field is the provision of integrated tool support. This is addressed by research on software evolution services, and the toolchain-building framework SENSEI. |
|
Software Evolution Services – The SENSEI Approach Software evolution research is a major focus of the software engineering group, and has been exercised through participation in software migration and software quality projects like SOAMIG and Q-MIG. Tools and techniques of software evolution have also been applied towards achieving energy efficiency in software. Modernizing legacy systems is, due to their size and complexity, only feasible with a high degree of automation. Thus, a major challenge of the field is the provision of integrated tool support. This is addressed by research on software evolution services, and the toolchain-building framework SENSEI. |
|