1194 research outputs found
Sort by
chuchipirat
Der chuchipirat ist eine Web-Applikation, die Freiwillige in Jugendverbänden in der Planung, Durchführung und Nachbearbeitung von Lagerküchen unterstützt. Das Kochen in grossen Mengen in einem Lager oder Kurs ist gerade in der Vorbe- reitung aufwendig und erfordert spezifische Kenntnisse, damit nicht nur schmack- haftes, sondern auch Essen in passender Menge serviert werden kann. Die Ap- plikation wird aus Eigeninitiative von Gio Cettuzzi programmiert und betrieben. Ziel dieser Arbeit ist es, Verbesserungen entlang der User-Journey ‹Kochen für ein Lager› zu erarbeiten, damit der chuchipirat User:innen in ihrem ehrenamtlichen Engagement bestmöglich unterstützen kann. Der Fokus wird spezifisch auf die Bedürfnisse der User:innen in der Interaktion mit Rezepten gelegt, da diese die Grundlage für eine passende Mengenberechnung, eine vollständige Einkaufsliste und das erfolgreiche Umsetzen des geplanten Menüs darstellen.
Die Projektarbeit orientiert sich an dem Vorgehen des Goal-Directed Designs [Goodwin 2009]; dieses wird in den einzelnen Phasen durch passende Modellen und Techniken ergänzt, etwa durch das Universal Model of a User Interface von Baxley [2002] für das Interaction-Design. Das Abstützen auf eine erprobte und fundierte Methode stellt sicher, dass Resultate auf der Grundlage von erhobenen Daten mit Testpersonen und nicht auf der von Annahmen des Projektteams er- arbeitet werden.
Aus dieser Projektarbeit resultiert ein validiertes Lösungskonzept für die Interak- tion mit Rezepten im chuchipirat – mit einem Fokus auf der Vorbereitungsphase. Dieses basiert auf den durch User-Research ermittelten Herausforderungen und Bedürfnissen der primären Persona: ‹Simona› ist gut vertraut mit dem Lageralltag und hat bereits einige Male in der Küche mitgeholfen oder die Hauptverantwor- tung für die Lagerküche übernommen. Gerade in der Vorbereitung hat sie jedoch immer wieder Schwierigkeiten mit der Komplexität und dem zeitlichen Aufwand für die Mengenberechnung sowie mit dem Zusammenstellen der Einkaufsliste. Mit der Unterstützung durch chuchipirat soll die Persona ‹Simona› in jedem Lager oder Kurs ihr Ziel erreichen: Essen so zuzubereiten, dass es allen gut schmeckt und möglichst keine Essensreste übrig bleiben. Die Arbeit zeigt auf, dass ein simpler Use-Case in der Umsetzung interessante Herausforderungen aus der User Expe- rience Perspektive hervorbringt. Das neue Lösungskonzept des chuchipirat bietet die notwendigen Funktionalitäten an, damit passende Rezepte eingeplant und auf die korrekten Mengen berechnet werden können. Ferner lässt sich auf diese Wei- se eine vollständige Einkaufsliste mit wenigen Klicks erstellen. Manuelle und/oder wiederholende Arbeiten werden wenn möglich redundant gemacht. Dank dem chuchipirat kann der zeitliche Aufwand, welchen die Vorbereitung einer Lagerkü- che mit sich bringt, reduziert werden. So sollen sich mehr Freiwillige motivieren lassen, ihre Freizeit in die Jugendarbeit zu investieren. Damit leistet diese Arbeit einen Beitrag im Bereich der Freiwilligenarbeit, für welchen bisher wenige digitale Lösungen entwickelt werden
Software Visualisierung durch VR mit Webtechnologien
Virtuelle Realität (VR) gewinnt zunehmend an Bedeutung. Der technologische Fortschritt öffnet Türen für neue Anwendungen und verspricht benutzerfreundlichere Hardware. Die meisten VR-Anwendungen sind plattformspezifisch und somit nur auf spezifischen VR-Geräten ausführbar. Eine weitverbreitete Lösung, um plattformunabhängige Applikationen zu entwickeln, ist die Verwendung von Webtechnologien. Ziel dieser Arbeit ist es deshalb herauszufinden, wie gut sich eine VR-Applikation mit heutigen Webtechnologien umsetzen lässt.
Nach einer kurzen Recherche bezüglich VR und verwandten Themen stellte sich die Frage, welche Technologien für die Umsetzung zur Verfügung stehen. Dazu wurden mögliche Kandidaten anhand verschiedener Kriterien miteinender verglichen. Gleichzeitig wurde mit der Software City ein konkreter Anwendungsfall gefunden und nach möglichen Lösungsansätzen gesucht. Um die Handhabung der Technologien besser einschätzen zu können, wurde jeweils ein Prototyp einer minimalen Software City mit den drei vielversprechendsten Kandidaten erstellt. Babylon.js konnte die Technologiewahl für sich entscheiden und wurde mittels der Software City genauer erprobt.
Das Resultat ist ein funktionierender Prototyp, der einen neuen Blick auf seinen geschriebenen Java-Code erlaubt. Eine interaktive Stadt mit praktischen Funktionen wird durch spielerische Elemente belebt.
Das Vertrauen in die gewählte Technologie bestätigte sich schnell und ermöglichte eine unkomplizierte Umsetzung. Babylon.js stellte sich als ein intuitives, mächtiges Open Source Framework heraus und unterstützt den Entwickler ideal beim Erstellen einer VR-Anwendung. Ein Hindernis im implementierten Prototypen stellte die Benutzerfreundlichkeit dar, was nicht ausschliesslich auf die unbekannte Handhabung von VR-Applikationen zurückzuführen ist. Einige Lösungen dafür konnten bereits erläutert werden, andere bedürfen tieferer Recherche. Des Weiteren kam die Hardware öfters an seine Limiten, was eine unangenehme VR-Erfahrung bescheren kann. Hier braucht es wohl noch etwas Zeit, Hardware und Software gleichermassen, um ein gutes Erlebnis zu ermöglichen
European Cyber Security Challenge 2022
Mit der zunehmenden Digitalisierung weltweit wird Cyber Security Jahr für Jahr zu einem immer wichtigeren Thema. Und wie in vielen anderen Bereichen der Informatik herrscht ein grosser Mangel an kompetenten Fachkräften in diesem Bereich. Um dem entgegenzuwirken und junge Talente anzulocken, herauszufordern und zu belohnen, wird jährlich die European Cyber Security Challenge organisiert.
In einem Europa-übergreifenden Event kommen die Champion-Teams der einzelnen Nationen zusammen und liefern sich über 48 Stunden einen Wettkampf auf höchstem Niveau. Dabei gilt es, vorbereitete Hacking-Challenges zu lösen, um Punkte für das eigene Team zu sammeln. Vom Cracken von Passwörtern über das Reverse Engineering von Malware bis hin zum Hacken von Servern ist alles dabei.
In dieser Arbeit wurden mehrere solcher Challenges für die European Cyber Security Challenge 2022 erarbeitet. Dies beinhaltet alles vom Erstellen eines Konzepts über dessen Realisierung bis hin zum Testen der Challenges und dem Verfassen einer Musterlösung. Um einen möglichst hohen Lerneffekt zu erzielen, soll dabei nicht nur gewährleistet sein, dass die Challenges möglichst diverser Natur sind und verschiedene Technologien abdecken und aller Art Probleme der Cyber Security behandeln, sondern auch, dass die Fälle möglichst realitätsnah konzipiert sind und somit plausibel in der echten Welt angetroffen werden könnten
SmartEating (Folgearbeit)
Einleitung: SmartEating bietet eine Plattform zum Finden von simplen und benutzerdefinierten Kochrezepten. Das Herzstück von SmartEating bildet eine Webapplikation mit zugehöriger Datenbank, die basierend auf physischen Merkmalen des Benutzers auf ihn zugeschnittene Rezepte empfiehlt. Die Rezepte werden als Paket bestehend aus Frühstück, Mittagessen und Abendessen präsentiert. SmartEating erlaubt es dem Benutzer, jeweils drei Tage im Voraus seine Mahlzeiten zu planen und unterstützt Benutzer dabei, sich gesund und ausgewogen zu ernähren.
Ziel der Arbeit: Aufbauend auf der gleichnamigen Studienarbeit aus dem Herbstsemester 20221 soll die SmartEating Plattform ausgebaut und verbessert werden. Die bestehende Applikation setzt auf eine externes API als Datenquelle für die Kochrezepte. In dieser Arbeit liegt der Fokus auf dem Aufbau einer eigenen Rezept-Datenbank, die anschliessend mit der bestehenden SmartEating Applikation verbunden wird. Weiterhin werden Anpassungen vorgenommen, die es erlauben, einen Ernährungsplan für mehrere Tage statt nur einem Tag zu erstellen.
Ergebnis: Die Ziele der Arbeit wurden vollumfänglich erreicht. Es wurde eine dokumentenorientierte Datenbank implementiert, welche der bestehenden SmartEating Applikation als Datenquelle dient und damit die externe API vollständig ersetzen kann. Dies vereinfacht die Kommunikation zwischen der Webapp und der Rezeptquelle und führt zu vermindertem Traffic und einer insgesamt responsiveren Applikation.
Weiterhin ist eine eigenständige, umfangreiche und wiederverwendbare Daten-Pipeline für Kochrezepte in Form eines Kommandozeilenprogramms entstanden. Das Endprodukt dieser Pipeline wurde in die Datenbank importiert. Mithilfe der Pipeline kann die Datenbank zukünftig einfach und konsistent mit den bestehenden Daten erweitert werden.
Die bestehende SmartEating Applikation wurde verbessert und ausgebaut. SmartEating erlaubt es den Benutzern nun, insgesamt neun benutzerdefinierte Rezepte für drei Tage anzuzeigen. Die User Experience wurde durch kleine Modifikationen am User Interface verbessert.
Weiterhin wurde die SmartEating Plattform für die Übergabe an den Experten und die nächste Entwicklungsphase vorbereitet. Dazu wurde das Deployment containerisiert und umfassende Dokumente mit Anweisungen zum Betrieb der Pipeline und dem Deployment der Applikation verfasst. Es wurde ein Like-System für Rezepte implementiert, welches die Grundlage für ein zukünftiges Recommendation-System bilden kann
Lebendige Software Cities zur Visualisierung von Softwareprojekten
Durch die zunehmende Digitalisierung und der damit verbundenen Nachfrage nach Software, nimmt auch die Bedeutung deren Qualität und Sicherheit zu. Daher ist es wichtig die Softwarequalität regelmässig zu überprüfen und zu verbessern.
Dieser Prozess kann durch eine Vielzahl an Werkzeugen unterstützt werden.
Das Ziel der vorliegenden Arbeit ist es, den Zustand und die Qualität eines Softwareprojekts sinnvoll und intuitiv zu visualisieren. Die Visualisierung wird mittels einer "Stadtmetapher" umgesetzt. Dies bedeutet, dass der Zustand des Softwareprojekts, durch die Abbildung einer Stadt widerspiegelt wird. Die Messung der Qualität erfolgt durch ein statisches Codeanalysewerkzeug, das die notwendigen Metriken zur Verfügung stellt. Die Visualisierung wird mittels virtueller Realität (VR) realisiert.
In einem ersten Schritt wurden Werkzeuge zur statischen Codeanalyse evaluiert und anhand zuvor definierten Kriterien verglichen. SonarQube schnitt in diesem Vergleich am besten ab und wurde deshalb für den Einsatz in diesem Projekt ausgewählt. Basierend auf der vorhergehenden Arbeit wurde zur Visualisierung der Stadt die Webtechnologie Babylon.js verwendet. Babylon.js ist eine webbasierte 3D-Engine um Objekte und Grafiken in Echtzeit im Webbrowser darzustellen und verfügt über eine gute Integration mit VR-Geräten. In einem nächsten Schritt wurden Metaphern festgelegt, die definieren, wie die Metriken visualisiert werden.
Das Resultat ist eine Webapplikation, die es erlaubt visuell in ein Softwareprojekt einzutauchen. Dabei können potenzielle Qualitäts- und Sicherheitsprobleme auf eine spielerische Art entdeckt werden. Gegen Ende des Projekts wurden Benutzertests mit ausgewählten Benutzergruppen durchgeführt, um den Nutzen der virtuellen Stadt in der Praxis zu überprüfen und Rückmeldungen zu erhalten. Den Haupteinsatzzweck von Software Cities sehen die Testprobanden in der Ausbildung. Ausserdem konnten basierend auf den Rückmeldungen, Erweiterungsideen für eine Folgearbeit gesammelt werden
Formal Program Verification in Java
Formal verification is usually taught with a focus on functional languages, such as Agda, or specialized languages, such as Dafny. However, it remains a fact that these languages are not very commonly used in mainstream software development.
Nevertheless, strong guarantees about correctness of software remain highly desirable in nearly all applications. This paper attempts to bridge the gap between formal verification methods and mainstream software development. To achieve this goal, the paper presents state-of-the-art tools and technologies that can be used to formally verify Java programs. Futhermore, a focus is set on ease-of-use and learning simplicity, as a measure for how viable a tool is for use during teaching at the bachelor’s level
Bug Chaser - Cloud Native Bug Bounty Plattform
Einleitung:
Im Softwareentwicklungsprozess können Applikationen auf verschiedenste Weisen getestet werden. Eine mögliche Variante ist es, Software mittels Bug Bounty Programmen auf Schwachstellen und Fehler zu testen. Unternehmen und Organisationen erhalten so die Möglichkeit, selbst entwickelte Software von externen ITSicherheitsexperten zu prüfen. Auch die Fachhochschule OST, sowie deren Institute, setzen verschiedene interne Applikationen ein, welche von den Studierenden sowie den Mitarbeitenden täglich genutzt werden.
Ziel der Arbeit:
Ziel dieser Arbeit war es, eine Bug Bounty Plattform für die Fachhochschule zu entwickeln. Diese soll es einerseits ermöglichen, in Zukunft eigene, interne Applikationen auf Schwachstellen zu testen, andererseits soll die Plattform aber auch für die Ausbildung eingesetzt werden können. Im Modul Secure Software am Campus Rapperswil-Jona wird speziell unterrichtet, wie Applikationen sicher entwickelt werden. Ein Teil dieser Ausbildung setzt ebenfalls auf Bug Bounty Programme, welcher durch die entwickelte Plattform unterstützt werden soll.
Ergebnis:
Auf Basis von Recherchen zu bestehenden Lösungen und Technologien wurden Anforderungen an die Plattform aufgenommen. Des Weiteren sollte die Applikation kostengünstig im Betrieb sein. Zum Ende der Construction Phase wurde die während der Arbeit umgesetzten Plattform sowie das dahinterstehende Konzept mit Studierenden an der OST anhand einem Bug Bounty Programm mit einer fehlerbehafteten Software validiert. Als Resultat der Arbeit ist die Bug Chaser Plattform entstanden. Eine Cloud Native Webapplikation, welche vollständig in der Amazon Web Services Cloud betrieben wird. Interne wie auch externe Organisationen erhalten die Möglichkeit, private oder öffentliche Bug Bounty Programme auf der Plattform zu betreiben. Hunter können nach Schwachstellen suchen und diese auf der Plattform rapportieren. Im Gegenzug können Belohnungen ausbezahlt werden. Während der Validierung zeigte es sich, dass die Applikation bereits eingesetzt werden kann. Weitere Funktionalitäten können in einer Folgearbeit erweitert werden
CUTE Extension for VS Code
CUTE is a lightweight testing framework that offers the possibility to write automated C++ tests.
To offer the best possible user experience, a plug-in for the Cevelop IDE exists.
This plug-in provides functionality such as a test navigation, green/red bar test outcome visualizations, and difference viewers for assertion failures.
Furthermore, it offers convenience features that make C++ testing as easily accessible. The CUTE framework is used in the C++ modules offered at OST Eastern Switzerland University of Applied Sciences.
To offer a wider range of tooling choices in the C++ modules, it would be desirable to have the CUTE testing framework integrated into Visual Studio Code.
This integration should be implemented in the form of a testing extension, which offers similar functionalities as the Cevelop plug-in and makes sure that C++ testing can be done as easy as possible.
Through the integration into a widely known development environment such as Visual Studio Code, CUTE becomes accessible by a larger group of C++ developers.
In a first step the possibilities to integrate CUTE into Visual Studio Code had to be evaluated.
This evaluation primarily focused on the different approaches to create a testing extension for VS Code.
In a second step the evaluation focused on the possibilities to elaborate the required information from the test executables and from the test code itself.
During this elaboration, prototypes were created for each key functionality.
In a second phase of the project, the functionality was implemented based on the findings from this analysis.
To make sure that the required functionality is working and can be used during the C++ modules, the newly created extension had to be tested on multiple different levels.
The Visual Studio Code extension created in the scope of this thesis provides all mandatory functionalities to make the CUTE framework usable in VS Code.
These functionalities include test discovery, navigation within the test code, creation of test runs that include a single or multiple test cases, and debugging of such test runs.
In addition to these minimal required functionalities, convenience features were implemented with the aim to make the usage of the CUTE testing framework for C++ testing as easy as possible.
These convenience tools simplify the creation of new test projects, new test suites and new test cases.
The extension analyzes the test code and warns the users about potential problems such as unregistered tests.
The Visual Studio Code extension created in the scope of this thesis provides an additional choice of IDE for C++ students or generally while using the CUTE framework.
The user interface is familiar to many developers that have worked with VS Code before.
This makes using the extension easy right from the beginning and the powerful convenience tools further simplify C++ testing using the CUTE framework
Spam Solution
1978 wurde die erste Spam-Mail verschickt.
Damals verschickte Gary Thurek eine Werbemail an fast 600 Personen und somit an 25 % der damaligen Internetbenutzer.
Beschwerden liessen nicht lange auf sich warten, jedoch war es Gary Thurek dank der E-Mail möglich, Verkäufe im Wert von zwölf Millionen Dollar abzuschliessen.
Seitdem ist Spam zu einem immer grösseren Problem geworden, dass es ständig zu bekämpfen gilt.
Mittlerweile werden ausgefeilte Techniken für die Erkennung und Sortierung von Spam angewendet.
Durch diese Techniken, wird das Problem für den einzelnen Benutzer zwar stark eingedämmt, jedoch kommt auch der Fall eines "False Positive" vor.
Somit werden legitime E-Mails als Spam kategorisiert und eventuell nicht vom Benutzer wahrgenommen.
Das Ziel dieser Arbeit ist es eine Lösung zu entwickeln, die dem Problem des "False Positive" entgegenwirkt, indem sie den Ansatz einer Whitelist verfolgt.
Hierfür soll in der Kopfzeile bei E-Mail von unbekannten Absendern ein Hinweis hinzugefügt werden, der es dem Benutzer ermöglicht, die E-Mail auf die Whitelist oder Blacklist zu setzen.
Weiterhin soll eine Webseite entwickelt werden, mithilfe derer der Benutzer seine Listen verwalten kann.
Das Ergebnis unserer Arbeit ist ein Service, der eine Abhilfe gegen Spam schafft.
Ein Banner zuoberst in der E-Mail gibt klar zu erkennen, ob ein Absender bekannt ist.
Zudem ermöglicht der Banner es Benutzern schnell und einfach zu entscheiden, wie in Zukunft mit diesem Absender verfahren werden soll.
E-Mails, die auf der Blacklist stehen, werden automatisch mit dem IMAP-Protokoll in den Spam-Ordner verschoben.
Auf der dazugehörigen Webseite kann man sich für den Service registrieren und dort seine Listen verwalten.
Weiterhin ist es möglich, auf der Webseite sogar ganze Domains auf eine Liste zu setzen
Identifying inappropriate comments in German-language online newspapers
In online discussions, users are called "trolls" when they provoke others, try to dominate discussions or manipulate the opinions of other users. With the rise of social media, trolling has become a prominent term. The discussion culture suffers from the presence of trolls. But there are also more extreme effects, such as paid propaganda trolls who aim to influence elections. Some trolls are easy to recognize because they obviously spread hate, while other trolls behave more subtly. Therefore, removing troll comments is laborious work.
This paper focuses on German-language user comments in (mostly Swiss) online newspapers. The goal is to develop classification algorithms that can automatically and reliably detect unwanted behavior in comments. In a first step, existing literature and solutions were analyzed and evaluated. In addition, it was examined how various Swiss newspapers deal with trolls. Subsequently, training data was collected and processed. Among other data, a labeled dataset of over 2 million comments was compiled by 20 Minuten. Classifiers were developed with different training data to detect three categories of trolls: Hate trolls, Off-topic trolls and State-linked propaganda trolls.
Hate trolls are detected with a recall of 84%, precision of 83% and accuracy of 83% using a combination of BERT models. Off-topic trolls are detected with a recall of 78%, precision of 83%, and accuracy of 80% mainly by calculating the cosine similarity from a comment to other comments and the article content. State-linked propaganda trolls are detected with a recall of 92%, precision of 90% and accuracy of 91% for training data from Twitter. For comments from 20 Minuten, a classifier can predict with a recall of 62%, precision of 76% and accuracy of 71% whether comments will be accepted or rejected by the moderation. The results have shown that a metadata-only approach is not feasible for the analysis.
To make the results and the algorithms accessible to lay users, a web application was developed. This proof of concept allows trying the classifiers using custom or existing comments.
These classifiers cannot completely replace the manual moderation process. However, the classifier can be used to support the human moderators. With an adjusted threshold, about 20% of the unwanted comments can be automatically detected with almost no false positives. In future research, it could be investigated how well the developed classifiers perform with different data from other domains. Furthermore, the analysis could be further extended by not only analyzing individual comments but accounts of comment authors (user-based approach compared to post-based approach)