Entwicklung eines Tools zur Suche und Ansammlung von forschungsrelevanten Open Source Code aus Github

Diese Seite befasst sich mit dem Werdegang der Bachelorabrbeit, welcher sich mit technical debt befasst.

1 Motivation der Arbeit

Diese Arbeit bewegt sich im Themenbereich von Technical Debt. Diese sogenannten technischen Schulden entstehen in der Softwareentwicklung. Anstelle von qualitativ hochwertigeren, aber gleichzeitig zeitaufwendigeren Ansätzen, werden dabei provisorische Lösungsansätze implementiert. Der Aufwand, den jene Schulden durch beispielsweise nötige Änderungen im Code erzeugen, kann zu mehr Kosten führen als es die ursprünglich vorgesehene Alternative gerechtfertigt hätte. Um dies entgegen zu steuern, kann Refactoring betrieben werden. Das beschreibt die verbesserte Umstrukturierung des Codes ohne dessen Semantik zu ändern. Für die Forschung dieser Refractoring-Tools oder allgemein des Themengebiets werden qualitative als auch quantitative Datensätze benötigt. Ein Ansatz zur Datensatzbeschaffung ist die Nutzung von Open Source Code auf Entwicklungsplattformen wie GitHub. Die Ansammlung von solchen Datensätzen ist jedoch nicht trivial, da GitHub nicht über die nötigen Filter verfügt, um auf direkten Wege an die gewünschten Datensätze zu kommen. Meine Bachelorarbeit soll sich mit der Überbrückung dieses Konflikts befassen und eine für die Forschung nutzbare Lösung implementieren.

2 Zielstellung

Das Ziel dieser Bachelorarbeit wird es sein ein Tool zu implementieren, das die genannte Problematik behebt. Dabei wird es konkret dem Forschungszweck der Arbeitsgruppe und dessen Anforderungen angepasst, um qualitative Datensätze zu liefern. Das Tool wird anschließend für die weitere Forschung und dessen möglicherweise ändernden Anforderungen genutzt, weswegen es eventuell das Hinzufügen von zusätzlichen Funktionalitäten erlauben soll.

2.1 Technische Umsetzung

Für die Realisierung des Tools wird unter anderem die Programmiersprache Python verwendet. Darüber hinaus gewährt die offizielle GitHub API ’REST API v3’ den essentiellen Zugriff auf die gewünschten Repositories. Die gefilterten Repositories werden zudem entweder lokal oder extern in einer Datenbank gespeichert, um langfristig eine Ansammlung an Forschungsrelevanten Datensätzen zu estellen.

3 Zeitplan und Struktur der Arbeit

Implementierung des Tools (6 Wochen)

Evaluierung des Tools (2 Wochen)

Schreiben der Arbeit (4 Wochen)

Comments