Softwarepraktikum
Thema | Betreuer(in) |
---|---|
GIT Repository Monitor
Die zu erstellende Software soll die Verwaltung mehrerer (unabhängiger) git Repositorien ermöglichen. Zentral ist hierbei das Credential-Management, d.h. die sichere Verwaltung (Speicherung) der Zugangsdaten, sodass eine Anzahl von git repos durch Druck auf einen einzigen „pull“ Knopf aktualisiert werden können, ohne die einzelnen Passwörter pro repo immer individuell eingeben zu müssen. Gleichzeitig sollen Konflikte mit lokalen Änderungen bei einem pull geeignet abgefangen und behandelt werden können.
|
S. Rass |
Der Anti-Metamorphopsie-Visor von/für Geordi La Forge | P. Schartner |
go2algo NG – Re-Engineering von go2algo | P. Schartner |
GDPR-compliant oblivious Web-Browser in a (RAM-)Box | P. Schartner |
Dienstplaner (mit Berücksichtigung von Nebenbedingungen)
Erstellung einer Software zur automatischen Erstellung von Dienstplänen unter Berücksichtigung unterschiedlicher Nebenbedingungen (Vertretungsregelungen, Abdeckung von Aufgaben, Berücksichtigung von Abwesenheiten und Urlaubszeiten, etc.). Die Nutzung von frei verfügbaren Constraint Solvern ist gestattet.
|
S. Rass |
TLS Interception Plugin für Firefox
Zu entwickeln ist ein Plugin für den Firefox Browser, welches Anwender*innen auf mögliche TLS Interceptions (d.h. das „Austauschen“ von Serverzertifikaten durch Software im Hintergrund, typischerweise Antiviren-Software oder Firewalls). Obgleich derartige Interceptions zumeist dem zusätzlichen Schutz gesicherter Kanäle dienen, ist ein transparenter Eingriff in TLS Kanäle oft unerwünscht, und sollte durch das zu entwickelnde Plugin sichtbar gemacht werden.
|
S. Rass |
When Cloud Computing meets Internet of Things
The topic explores novel approaches for Cloud resources provisioning for Internet of Things (IoT) application, including smart homes and personalized e-health. The goal of the thesis is to perform performance evaluation of multiple Cloud instances (in Amazon, Google and the Carinthian Computing Continuum), which should later be provisioned as Docker containers to appropriate IoT applications.
|
D. Kimovski |
Edge computing – can our smartphones be supercomputers?
The goal of the topic is to explore the possibility for supporting distributed execution of multiple simple tasks, such as data filtering and inspection, across mobile devices, including smartphones and Raspberry Pi devices.
|
D. Kimovski |
Machine learning at the edge of the network
The topic explores the possibility for performing simple machine learning (ML) training in inference with TensorFlow across the Carinthian Computing Continuum. This includes training of neural networks on NVidia Jetson Nano and Raspberry Pi4 devices, which will be provided by the institute.
|
D. Kimovski |
ARM vs x86. Who is faster?
The main goal of this topic is to perform performance evaluation of the ARM and x86 devices/Cloud instances for executing machine learning algorithms, with a purpose to identify which architecture is more suitable.
|
D. Kimovski |
Heuristic Password Cracking | E. Teppan P. Schartner |
Graph visualisation for flexible job shops with the java graph stream library | E. Teppan |
Usable Security – TPM-Library | P. Schartner |
What the heck did you change? Tool zur Extraktion von Änderungen in Gradle Build Konfigurationen
Build Konfigurationen beschreiben wie ein Software Produkt kompiliert, getestet und ausgeliefert werden soll. Änderungen in solchen Build Konfigurationen haben eine wichtige Bedeutung, da sie dafür verantwortlich sein können, dass Build Ausführungen fehlschlagen. Zur Analyse welche Auswirkung bestimmte Änderungen auf den Erfolg des Builds haben, soll ein Tool erstellt werden, das Änderungen zwischen verschiedenen Versionen einer Gradle Build Konfiguration automatisiert extrahieren kann.
|
C. Macho |
The Build Oracle: Vorhersage von Build Resultaten mittels Machine Learning
In modernen Continuous Integration/Deployment Umgebungen soll jede Änderung am Source Code direkt in das Projekt integriert, getestet und zum Kunden ausgeliefert werden. Manche Änderungen weisen jedoch Eigenschaften auf, die es unnötig oder unsinnig machen, den ganzen Continuous Integration/Deployment Prozess anzuwerfen, weil man bereits antizipieren kann, dass dieser nicht erfolgreich zu Ende gehen wird. In diesem Projekt soll ein Machine Learning Model entwickelt werden, das frühzeitig erkennen kann, ob es sinnvoll ist, den Continuous Integration Prozess zu starten.
|
C. Macho |
Kann ich meine Dependencies aktualisieren? Erkennung von veralteten, aktualisierbaren Dependencies
Änderungen in Third-Party Libraries können potentiell für Fehler in Projekten verantwortlich sein. Aus diesem Grund bleiben oftmals die aktuell verwendeten Versionen solcher Abhängigkeiten aus Angst vor Fehlern unverändert. In dieser Arbeit soll untersucht werden, welche Auswirkung bestimmte Änderungen in den Abhängigkeiten auf das Projekt haben. Auf Basis dieser Erkenntnisse soll ein Tool entwickelt werden, das Entwicklern das Updaten auf aktuelle Versionen ihrer Abhängigkeiten erleichtert.
|
C. Macho |
Too much of a good: Testfallselektion zur Minimierung der Testlaufzeiten auf Basis historischer Daten
Je größer und umfangreicher Software wird, desto mehr Testfälle werde von den Entwicklern geschrieben um die Qualität der Software zu sichern. Weiterführende Änderungen am Projekt haben zur Folge dass alle bestehenden Tests immer und immer wieder ausgeführt werden müssen, auch wenn die getesteten Bereiche der Software gar nicht geändert wurden. Ziel dieser Arbeit ist die Erstellung eines Tools das, auf Basis vergangener Testausführungen und Code Abhängigkeiten, die Tests ermittelt, die unbedingt ausgeführt werden müssen, um durch die Reduktion der Anzahl der Testfälle Zeit und Resources zu sparen.
|
C. Macho |
Eigene Themen sind willkommen! |