Zur Webseite der Informatik

Forschung und Entwicklung der Abteilung Software Engineering

Die Abteilung Software Engineering sieht ihre Aufgabe darin, Beiträge zum Software Engineering zu liefern, die in der realen Welt anwendbar sind und auch angewendet werden. Dabei gilt der Grundsatz, daß wir externen Partnern nichts zumuten können, was wir selbst nicht bei unserer täglichen Arbeit anwenden. Insofern sind wir unsere eigenen, keineswegs immer erfolgreichen Versuchstiere.


Forschungsgebiete

 

  • Empirisches Software Engineering
  • Software-Qualität
  • Softwarequalitätssicherung und Metriken
  • Agiles/kontinuierliches/lean Software Engineering
  • Requirements Engineering
  • Safety and Security Engineering
  • Behavioural Software Engineering

 


Forschungsprojekte der Abteilung Software Engineering

  • Forschungsprojekt PATRON (patronresearch.de, gefördert durch die Baden-Württemberg Stiftung). Concealing Patterns - Privacy in Stream Processing
    • Beteiligter Mitarbeiter: Kai Mindermann M.Sc.
    • In diesem Forschungsprojekt sollen Verfahren entwickelt werden, um verschiedene Informationen aus Datenströmen von Sensoren der verschiedensten Geräte des Internets der Dinge (IoT) zu verschleiern. Das Ziel ist eine Balance zwischen Datenschutz und Dienstgüte (Quality of Service) zu erreichen. Die Relevanz zeigt sich bereits jetzt am Beispiel von Fitnesstrackern die den Herzschlag und ähnlich sensible Informationen erheben und verarbeiten können.
  • Experimentelle Verbesserung des Lernens von Software Engineering, EVELIN (Im Unterauftrag der HS Neu-ULM, gefördert durch das BMBF)
  • Dissertationsthema Dipl. Ing. Jan-Peter Ostberg: "Verbesserung der Akzeptanz der statischen Code Analyse"
    • Werkzeugunterstützte statische Codeanalyse ist ein kostengünstiges Mittel zur Verbesserung der Code-Qualität. Leider sind die Werkzeuge jedoch noch nicht so benutzerfreundlich und einfach zu handhaben, dass sich ihr Einsatz allgemein durchgesetzt hat. Meine Forschungsarbeit beschäftigt sich mit dem Ansatz die individuelle Interaktion des Anwenders mit dem Werkzeug zu verbessern. Hierbei liegt ein psychologische Modell zugrunde. Ein zweite Richtung ist die genauere Erforschung des Zusammenhangs von Softwaremetriken und den Warnungen von statischen Analysewerkzeugen mit dem Ziel dem Benutzer Empfehlungen aussprechen zu können.
  • Dissertationsthema Kai Mindermann M.Sc.: "Verbesserung der Gebrauchstauglichkeit von Security in der Softwaretechnik" (inoffiziell)
    • Die Umsetzung von fundierten mathematischen Verfahren in der modernen Kryptographie kann die Informationssicherheit in hohem Maße fördern. Sehr vielen Implementierungen fehlt jedoch die Möglichkeit der einfachen Anwendung; Sie sind durch komplizierte Bedienung nicht für die Allgemeinheit verwendbar, sie sind durch fehlerhafte Implementierung der Verfahren anfällig und sie sind häufig schwer auf dem aktuellen Stand der Technik zu halten. Meine Forschung soll diese Probleme in der Softwaretechnik, durch die Methoden der Softwaretechnik selbst, vermindern.
  • Dissertationsthema Daniel Kulesz, M.Sc.: "Prüfung und Bewertung von Spreadsheet-Programmen"
    • Spreadsheet-Programme sind aus der heutigen Welt nicht mehr wegzudenken. Gegenüber traditionellen Programmen genießen Anwender von Spreadsheet-Programmen eine größere Flexibilität und haben die Möglichkeit, die Programme selbst zu entwickeln. Leider sind Fehler in Spreadsheet-Programmen weit verbreitet und können zu erheblichen Schäden führen. Meine Forschungsarbeit beschäftigt sich mit der Prüfung und Bewertung von Spreadsheet-Programmen.
  • Dissertationsthema Ivan Bogicevic, Dipl.-Inf.: "Spezifikation von Software-Modulen"
    • Wenn eine Software nicht aus präzise voneinander abgegrenzten Teilen besteht, ist sie kaum wartbar. Es ist deshalb notwendig und auch üblich, Systeme zu modularisieren. Ein gut dokumentierter Software-Entwurf enthält Modulspezifikationen, die aktuell und präzise sind. In der Praxis ist die Dokumentation auf dieser Ebene aber oft völlig unzureichend. Meist ist unklar, wofür ein Modul zuständig ist. Die Dokumente sind veraltet, oder ihr Zustand ist ungewiss. Diese Arbeit untersucht die Frage, wie Entwickler Module spezifizieren und dokumentieren können. Sie stellt ein neues Prozessmodell vor, mit dem Module präzise und praxisgerecht beschrieben werden können. Der Kern ist dabei ein Katalog von Modulspezifikationen, der eine Software auf Modulebene beschreibt.
  • Dissertationsthema Jasmin Ramadani, Msc.: "Software Repositories Data Mining"
    • Software-Repositories enthalten Informationen die zur Fehlerbehebung oder Wartung zur Verfügung gestellt werden können. Die Anwendung von Data-Mining-Techniken kann den Entwicklern helfen die Dateien zu identifizieren, die häufig zusammen geändert wurden. Somit  ist es möglich die Entwickler mit Vorschlägen über gekoppelte Dateienänderungen zu unterstützen. Es wird auch analysiert, wie nützlich die Vorschläge für die Entwickler sind und welche weiteren Informationen aus der Software Repositories das Interesse erhöhen könnte.
  • Dissertationsthema Asim Abdulkhaleq, Msc.: "Sicherheitstechnik für softwareintensive Systeme"
    • Die Sicherheitsanalyse ist eines der wichtigsten Elemente bei der Entwicklung sicherheitskritischer Systeme. Ein sicherheitskritisches System ist ein System, das Gefahren für die Menschen, erhebliche Sachwerte oder die Umwelt verursachen kann. Viele sicherheitskritische Systeme stützen sich auf Software, um ihre Funktionen zu realisieren. Software kann Gefahren durch fehlerhafte Steuerung des Systems oder durch Irreführung der Anlagenbetreiber verursachen, wobei unangemessene Handlungen entstehen. STAMP steht für „Systems-Theoretic Accident Modeling and Processes” und wird von Prof. Leveson entwickelt. Es handelt sich also um ein Verfahren zur Modellierung und Analyse von Unfällen mit den Methoden der Systemtheorie. Die STPA-Methode ist eine Top-down Sicherheitanalyse-Methode für die Software-intensive System-Entwicklung die auf dem STAMP basiert. Damit werden die dysfunktionalen Wechselwirkungen zwischen Software, Hardware, Betreiber- und Unternehmensleitungen untersucht. Verifikations-Ansätze werden im Entwicklungsprozess verwendet, um die funktionale Korrektheit von Software zu behaupten. Diese reicht aber nicht aus, um den sicheren Betrieb der Software gewährleisten zu können. Meine Forschungsarbeit beschäftigt sich mit der Entwicklung eines umfassenden Sicherheitstechnik-Ansatzes für die Software-Entwicklung basierend auf STPA, der die Sicherheitsanalyse mit Verifikationsansätzen kombiniert. Für die Zwecke der Entwicklung einer sicheren Software kann dieser innerhalb eines definierten Softwareentwicklungsprozess eingebettet werden, um Software- und Sicherheitsingenieuren dabei zu helfen die Software-Risiken zu erkennen.
  • Dissertationsthema Yang Wang: "Sicherheitsanalyse (Safety and Security) in Agile Software Entwicklung für Sicherheitskritische System"
    • Agile ist eine vorherrschende Revolution der traditionellen Software Entwicklung. Aufgrund des Mangels an Sicherheitsaktivitäten, Agile Software Entwicklung wurde wenig berücksightigt von sicherheistkritische Systeme. Deswegen soll mehr Gewicht auf die Gewährleistung der Sicherheit in der agilen Softwareentwicklung festgelegt werden. Meine Forschungsrichtung konzentriert sich darauf , wie man Sicherheitsanalyse in Agile durchführen kann und wie man Sicherheitsrisikomanagement basiert auf Sicherheitsanalyse durchführen kann.
  • Dissertationsthema Sebastian Vöst: "Continuous Integration in der Automobilindustrie auf Gesamtsystemebene"
    • Die Continuous Integration ist nach Ansicht vieler Informatiker in der Software-Entwicklung schon lange State of the Art. Diese Aussage trifft aber leider nicht auf alle Bereiche der Software-Entwicklung zu. Zu diesen gehört die Entwicklung von Eingebetteter Software in der Automobilindustrie. Viele Hindernisse machen hier auch heute noch eine Big-Bang-Integration notwendig. Dazu zählen u.a. die enge Verzahnung der Software mit der Hardware, die eine Ausführung von Tests auf der Zielplattform (Hardware in the Loop) notwendig macht, der Variantenreichtum unter den Steuergeräten und die weite Verteilung der Funktionen über viele individuelle Steuergeräte. Gerade auf der Gesamtsystem- oder Funktionsebene könnte hier jedoch durch schnelles Feedback an den Entwickler die Softwarequalität erheblich verbessert und der Integrationsaufwand deutlich verringert werden. In dieser Dissertation, die eingebettet in ein Integrationsprojekt bei der BMW Group durchgeführt wird, soll daher untersucht werden, wie eine solche Continuous Integration in einer Organisationsstruktur wie einem Automobilkonzern im Gesamtsystem durchgeführt werden kann. Dabei werden zunächst die domänenspezifischen Probleme beleuchtet und ein abgewandelter Continuous Integration Prozess vorgestellt, der vor allem organisatorische Probleme durch eine Kaskade verschiedener Integrationsstufen zu lösen oder zumindest mildern versucht. Im Fokus auf die Gesamtsystemebene wird ein besonderer Fokus auf das adaptive Test Suite Design, abgestimmt auf einzelne Änderungen, gelegt. Neue Methoden zur Testauswahl werden entwickelt und in Fallstudien mit realen Daten aus der Industrie evaluiert.
  • Dissertationsthema Dipl. math. oec. Erica Weilemann: "Wie beeinflusst die Persönlichkeit eines Softwareingenieurs die Softwarequalität?"
    • Im Entstehungsprozess von Software sind immer Menschen beteiligt. Diese haben einen Einfluss darauf, wie das Software-Endprodukt ausgestaltet ist, auch bezüglich verschiedener Softwarequalitätskriterien. In meiner Forschung beschäftige ich mich damit, inwieweit die Persönlichkeit aller am Entwicklungsprozess Beteiligten einen Einfluss auf die Softwarequalität nimmt. In einem ersten Schritt konzentriere ich mich darauf, ob und wie die Persönlichkeit eines Programmierers die Wartbarkeit der Software beeinflusst.