Bachelor Thesis BCLR-2019-32

BibliographyKißling, Justin: Implementierung eines automatischen Refactorings zum Entfernen auskommentierten Quellcodes.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Bachelor Thesis No. 32 (2019).
45 pages, german.
Abstract

Im Laufe der Entwicklung von Softwareprojekten werden diese immer komplexer, und die Wartbarkeit verschlechtert sich. Abhilfe schaffen sogenannte Refactorings, bei denen die ursprüngliche Funktionalität von Code beibehalten, seine Form jedoch verbessert wird. Solche Refactorings können jedoch ziemlich aufwändig sein, da sich über die Zeit sehr viele Mängel ansammeln. Viele schlechte Code-Praktiken, sogenannte Code Smells, können bereits automatisch als solche erkannt werden. Es wäre daher wünschenswert, diese auch automatisch beheben zu können. Der hier vorgestellte Refactoring-Bot tut genau dies, mit einer statischen Code-Analyse als Eingabe führt er automatisch Refactorings durch und stellt diese als Pull-Requests auf GitHub zur Verfügung. Im Gegensatz zu manuellen Refactorings kann dadurch mit sehr geringem Zeitaufwand die Codequalität von Softwaresystemen verbessert werden. Im Rahmen dieser Arbeit wurde der Bot um das Entfernen von auskommentiertem Code erweitert, eines der häufigsten Probleme in Softwareprojekten. Außerdem wurde eine Studie durchgeführt, indem der Refactoring-Bot auf vorhandenen GitHub-Projekten ausgeführt wurde und den Entwicklern automatische Refactorings als Pull-Request vorgeschlagen hat. Das Ergebnis ist, dass der Bot zwar korrekt arbeitet, die Pull-Requests jedoch auf wenig Zustimmung stoßen. Mögliche Gründe dafür werden in der Arbeit diskutiert.

Full text and
other links
Volltext
Department(s)University of Stuttgart, Institute of Software Technology, Software Engineering
Superviser(s)Wagner, Prof. Stefan; Wyrich, Marvin
Entry dateAugust 7, 2019
   Publ. Computer Science