Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen:
http://dx.doi.org/10.18419/opus-10435
Autor(en): | Kißling, Justin |
Titel: | Implementierung eines automatischen Refactorings zum Entfernen auskommentierten Quellcodes |
Sonstige Titel: | Implementation of an automatic refactoring to remove commented-out source code |
Erscheinungsdatum: | 2019 |
Dokumentart: | Abschlussarbeit (Bachelor) |
Seiten: | 43 |
URI: | http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-104522 http://elib.uni-stuttgart.de/handle/11682/10452 http://dx.doi.org/10.18419/opus-10435 |
Zusammenfassung: | 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. During the development of software systems, they grow more complex and their maintainability gets worse. This can be counteracted by so-called refactorings, which improve the appearance of source code, without altering its behaviour. These refactoring can be very time consuming, since a lot of issues accumulate over time. Many bad practices, so-called code smells, can already be detected automatically. It would be desirable to have a way to also remove these automatically. The Refactoring-Bot presented in this work does exactly that, on the basis of a static code analysis it executes refactorings and creates pull requests on GitHub with the changes. Contrary to manual refactorings, it can increase code quality with very little effort. In this work, the bot was extended to support the automatic removal of commented out code, one of the most common issues in software systems. Furthermore, a study was conducted, in which the Refactoring-Bot was executed on existing GitHub projects and suggested pull requests for refactorings to the developers. The result is that the bot works correctly, but the acceptance rate for pull requests is rather low. Possible reasons for this are discussed in this work. |
Enthalten in den Sammlungen: | 05 Fakultät Informatik, Elektrotechnik und Informationstechnik |
Dateien zu dieser Ressource:
Datei | Beschreibung | Größe | Format | |
---|---|---|---|---|
Automatisches Refactoring zum Entfernen auskommentierten Quellcodes.pdf | 449,49 kB | Adobe PDF | Öffnen/Anzeigen |
Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.