Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Software Engineering

Aktuelle Forschungsprojekte

EU: AMVAD - Additive Manufacturing for Ventricular Assist Devices (2023-2025)

 

Eine Herzschwäche oder Herzinsuffizienz ist die häufigste Ursache für stationäre Krankenhausaufenthalte. Bei einem schweren Verlauf der Herzinsuffizienz, ist das Herz nicht mehr in der Lage, den Körper ausreichend mit Nährstoffen zu versorgen. Die Implantation eines Herzunterstützungssystems kann hier zur lebenserhaltenden Therapie werden. Dabei wird eine künstliche Pumpe über Kanülen direkt mit dem Herz des Patienten verbunden. Besondere anatomische Gegebenheiten stellen dabei auch besondere Herausforderungen an die Geometrie der Kanülen. Additive Fertigungstechnologien können hierfür zukunftsweisende Lösungsansätze eröffnen. [weiter...]

 


 

DFG: IDEFIX - Identifying and Fixing Incomplete Patches (2022-2025)

 

Wieder geöffnete Fehler aufgrund unvollständiger Patches von Entwicklern sind ein großer Kostentreiber für Softwareprojekte. In diesem Projekt wollen wir Patches untersuchen und ermitteln, ob es alternative Ausführungspfade gibt, die zu einer problematischen Codezeile führen, in der z.B. ein Absturz aufgetreten ist oder eine Ausnahme ausgelöst wurde. Wenn diese Pfade nicht von einem vorhandenen Patch abgedeckt werden, sollte ein Tool den Entwickler über entsprechende Eingaben informieren, die sie hervorrufen und potenzielle Patches für diese Pfade empfehlen. Um diese Idee zu verdeutlichen, betrachten wir ein Programm, bei dem fix1 den ursprünglichen Patch darstellt, der Pfad1−3 abdeckt, und Pfad4−7 dem Entwickler unbekannt sind [weiter...]

 


 

DFG: EMPEROR - Lernen der Ursachen von Programmverhalten (2022-2025)

 

Jegliches Programmverhalten wird durch bestimmte Eingaben ausgelöst. Welche Teile einer Eingabe lösen bestimmtes Verhalten aus, und auf welcher Weise geschieht das? Mit dem EMPEROR Projekt möchten wir auf automatische Weise Erklärungen für Programmverhalten erzeugen, insbesondere für Programmfehler. Zu diesem Zweck verwenden wir (1) Grammatiken, welche Eingaben in einzelne Elemente trennen; (2) das Lernen von statistischen Beziehungen zwischen Eigenschaften von Eingabeelementen und Programmverhalten; und (3) systematische Tests, um abgeleitete Assoziationen unter Einbeziehung interner Eigenschaften der Programmausführung zu festigen oder zu widerlegen. [weiter...]

 


 

DFG: PROCI - Übereinstimmungsprüfung von Prozessen im Kontext Unvollständiger Informationen (2020-2023)

 

Prozessorientierte Informationssysteme (POIS) steuern die Ausführung von Aktivitäten um ein gewisses Geschäftsziel zu erreichen. Diese Aktivitäten können sehr unterschiedlicher Granularität sein, von einfachen Funktionsaufrufen hin zu komplexen Geschäftstransaktionen. Das Verhalten eines POIS ist oft durch ein Prozessmodell beschrieben. Sobald jedoch Ausführungsdaten vorliegen, typischerweise als Log oder Strom von Ereignissen, stellt sich folgende Frage: Wie stehen das modellierte und aufgezeichnete Verhalten des Systems zu einander in Beziehung? Antworten auf diese Frage sind die Grundlage für die Erkennung, Interpretation, sowie Kompensation von Abweichungen zwischen dem modellierten und aufgezeichneten Verhalten eines POIS. [weiter...]

 


 

DFG: FLASH - Fitness Landscape Analysis to improve Search Heuristics (2019-2022)

 

In der Softwareentwicklung treten zahlreiche Fragestellungen auf, die als Optimierungsprobleme formuliert und daher automatisiert mit verschiedenen suchbasierten Heuristiken/Algorithmen gelöst werden können. Typische Beispiele für derartige Probleme sind unter anderem die Pri­o­ri­sie­rung von Anforderungen, Releaseplanung, Architektur- und Design-Optimierung, automatische Behebung von Fehlern, Generierung und Anreicherung von Testsuites, und die Selektion und Pri­o­ri­sie­rung von Testfällen. Jedoch sind die Eigenschaften des Suchraums und der sogenannten Fitness-Landscape für die meisten dieser Probleme häufig unbekannt. Da­r­ü­ber hi­n­aus können Suchräume divers sein und von Problem zu Problem variieren (siehe folgende Abbildung). Daher erfolgt die Auswahl der Algorithmen durch Versuch und Irrtum. Verschiedene Algorithmen werden für das gegebene Problem ausprobiert und der vielversprechendste Algorithmus wird ausgewählt. Um dieses zeitaufwendige Verfahren zu umgehen, streben wir mit FLASH ein tiefgehendes Verständnis verschiedener Suchprobleme an, um eine gut fundierte Auswahl der Algorithmen einschließlich der Parameterwahl für diese Algorithmen zu ermöglichen. Folglich ist das Ziel von FLASH eine deskriptive Studie, die Fitness-Landscapes verschiedener Probleme charakterisiert. [weiter...]