Hi! Schön, dass du hier gelandet bist. 🤗

Wir sind eine IT-Unternehmensberatung und entwickeln mit über 200 Mitarbeiter:innen anspruchsvolle und individuelle Software-Lösungen für unsere Kunden. Und: Wir zählen zu den besten Arbeitgebern Deutschlands.

Du stehst kurz vor dem Abschluss deines Studiums und suchst ein spannendes Thema für deine Bachelor- oder Master-Thesis mit echtem Praxisbezug? Wir geben dir die Chance, dein Fachwissen mit praktischer Relevanz zu verknüpfen. Werde ein Mitglied unseres Teams, bringe die Theorie mit der Praxis zusammen, und bearbeite selbstständig deine Fragestellungen. Erfahrene Softwareentwickler:innen und Berater:innen unterstützen dich dabei und tauschen sich gerne mit dir aus.
Wenn du dich in der folgenden Beschreibung wiederfindest, bewirb dich an unseren Standorten in Münster, Köln oder Dortmund für eine praxisnahe Abschlussarbeit mit dem Thema:

Entwicklung einer Gefahrenmetrik und eines Fixbots für Sub-Dependencies

MOTIVATION UND ZIELSETZUNG:

Standardaufgaben in der Softwareentwicklung werden heute in der Regel mit Hilfe von Paketen, Bibliotheken oder Modulen anderer Entwickler umgesetzt. Erst diese zusätzliche Software ermöglicht eine höhere Entwicklungsgeschwindigkeit im Vergleich zu früheren Zeiten bei gleichzeitig deutlich besserer Qualität im Sinne von Nutzbarkeit und Komplexität des fertigen Produkts. Offensichtlich birgt diese Nutzung fremder Software aber auch einen hohen Grad an Abhängigkeit, da man nicht mehr alle Teile der Software kontrolliert oder die verwendeten Funktionen bei Wegfall nachprogrammieren müsste. Man spricht daher auch von Abhängigkeiten bzw. Dependencies, die in die Projekte hereingeholt werden. Eingebundene Bibliotheken nutzen ihrerseits häufig weitere Bibliotheken, um ihre Funktionalität anbieten zu können. Aus Sicht eines Softwareprojekts sind das dann Folge- oder Unter-Abhängigkeiten bzw. Sub-Dependencies.

Software ist einer ständigen Flut von Angriffen ausgesetzt, die auf Fehlern in der Implementierung beruht. Aus Sicht von Angreifern besonders begehrt sind Fehler in häufig eingesetzter Software bzw. in verbreiteten Bibliotheken. Diese öffnen den Angreifern nicht den Zugang zu einer einzelnen Software, sondern ggf. zu einer ganzen Reihe von Anwendungen. Eine sichere Softwareentwicklung sollte möglichst lange vor solchen Fehlern schützen! Dies ist nur möglich, wenn die selbstgenutzten Abhängigkeiten regelmäßig aktualisiert werden.

Während Entwickler:innen auf die direkten Abhängigkeiten einwirken können, gestaltet sich dies bei Sub-Dependencies wesentlich schwieriger. Selbst bekannte Projekte wie zB. Create-React-App (Basis für React-Anwendungen) hat Sub-Dependencies im Bauch, die bereits Jahre alt sind. Ein einfaches Update einer Bibliothek ist zwar möglich, kann aber durch API-Brüche zu Inkompatibilitäten führen. Updates müssen getestet und einzeln bewertet werden, sonst ist ein Softwareprojekt diesen Abhängigkeiten “ausgeliefert”. Die bekannten Mechanismen, wie zum Beispiel npm audit und dependabot (auch mit der Funktionalität sich mit transitiven Abhängigkeiten zu befassen) weisen sehr wohl auf Gefahren hin, können sie aber bei sub-dependencies nicht lösen.

Das übergeordnete Ziel dieser Arbeit ist, den Grad dieses “Ausgeliefertseins” zu messen, um Entwicklern und Entscheidern zu helfen, auf eventuell kommende Sicherheitslücken schneller und besser antworten zu können. Statt “einfach abzuwarten” haben beide Gruppen so ein Werkzeug in der Hand, welches eigenes Handeln erlaubt. Gesucht wird eine Maßzahl, die aus der Masse an (Sub-)Dependencies und deren durchschnittlichem Alter eine Risikowahrscheinlichkeit für einen kommenden schweren Fehler aufzeigt. Aufbauend auf der Kennzahl soll eine Software entwickelt werden, die veraltete Sub-Dependencies aufspürt und aktualisiert (zB mit Hilfe des schon vorhandenen Update-Mechanismus npm / package.json / „Overrides“).

Beide Aspekte dieser Arbeit zusammen befassen sich mit einem der prägendsten Probleme in der heutigen Softwareentwicklung. Eine Lösung ist aus unserer Sicht dringend erforderlich! Das Vorantreiben einer Lösungsfindung wäre dienlich für die gesamte Branche.

REQUIREMENTS:

👉 Erfahrung: Du bist Student:in der Fächer Wirtschaftsinformatik, Informatik, Mathematik oder einem anderen naturwissenschaftlichen oder betriebswirtschaftlichen Studiengang.

💡 Technologie: Du hast Freude an innovativen Technologien und bringst etwas Programmiererfahrung, idealerweise in npm, Maven, Gradle oder vergleichbaren Werkzeugen mit.

🙏 Motivation: Du bringst die Antrieb mit, dich fundiert mit sowohl technischen als auch fachlichen Aspekten deiner Fragestellung auseinanderzusetzen.

🙌 Wachstum: Du möchtest nicht nur fachlich, sondern auch persönlich über dich hinauswachsen.

:lock: Security: Du kannst dich für Security Themen begeistern.

WIR BIETEN DIR:

💯 Einen wissenschaftlich wie fachlich qualifizierten Begleiter, der dich optimal bei deiner Abschlussarbeit unterstützt und und menschliche Werte mit exzellenter Beratung verbindet.

💪 Erfahrene Berater:innen, die dir mit Rat und Tat zur Seite stehen und die genauso Freiräume für eigene Ideen geben.

💜 Eine Kultur, die Wertschätzung, Verantwortung und Menschlichkeit, in den Mittelpunkt stellt.

💻 Remote oder im Büro: Du entscheidest, wie und wo du arbeitest, solange es mit deinem Team abgestimmt ist.

:pause_button: Ob Spikeball, Mario Kart spielen oder gemeinsam Wraps essen – wir gestalten unsere Pausen gerne gemeinsam, weil wir großen Wert auf ein lockeres und angenehmes Arbeitsumfeld legen.

:partying_face: Auch als Student:in voll integriert: Ob Sommerfest, Weihnachtsfest oder ShipIt-Day – unsere Studierenden sind von Anfang an Teil des viadee-Teams.

:raised_hands: viadee Campus-Community: über 40 Studierende arbeiten an unseren drei Standorten stark vernetzt, um Forschung und Praxis zu verbinden – und profitieren vom Austausch unter Gleichgesinnten.

:nerd: Für uns selbstverständlich: Eine moderne Arbeitsplatzausstattung, leistungsgerechte Vergütung sowie die Garantie, dich voll auf deine Thesis konzentrieren zu können.

ÜBERZEUGT?

Dann klick den “Jetzt bewerben”-Button und schick uns bitte folgende Unterlegen per Mail:

  • Ein kurzes Motivationsschreiben zu deinen Interessensschwerpunkten und warum es dich zu uns zieht
  • Deinen Lebenslauf
  • Deinen aktuellen Notenspiegel
  • ggf. vorläufige Zeitplanung

Wir melden uns zeitnah bei dir! Als nächstes lernen wir uns in einem Vorstellungsgespräch kennen und wenn’s für beide Seiten passt, schicken wir dir einen Vertrag zu und treffen ggf. Absprachen mit dem Lehrstuhl. :slight_smile:

Jetzt per E-Mail bewerben

Bitte um dieses Video anzusehen.
weitere Stellenangebote

Ansprechperson

Dr. Benjamin Klatt

Tel: +49 221 788807269

Dr. Nicolas Pflanzl

Tel: +49 251 77777328

Hendrik Winkelmann

Tel: +49 251 77777358

Aktuelle Blogbeiträge

Sie wollen mehr über die viadee, unsere Projekte, Kund:innen und Kolleg:innen erfahren? Dann besuchen Sie unseren Blog. Sie haben die Wahl und können entweder alle Blogbeiträge aus sämtlichen Unternehmensbereichen lesen oder nur die Blogbeiträge aus dem Bereich “Business Process Management”.

zum Blog #Business Process Management

Unsere Lösungen für
BANKEN, VERSICHERUNGEN, HANDEL UND WEITERE BRANCHEN

Agile MethodenAgile Methoden

Business Process ManagementBusiness Process Management

Clean CodeClean Code

CloudCloud

IT-SicherheitIT-Sicherheit

Java & ArchitekturJava & Architektur

Legacy ITLegacy IT

Frontend-EntwicklungFrontend-Entwicklung

Robotic Process AutomationRobotic Process Automation

Software-QualitätssicherungSoftware-Qualitätssicherung