Forschung

Forschungsthemen

Die Fakultät für Informatik steht für exzellente Grundlagenforschung und wissenschaftliche Weiterentwicklung topaktueller Anwendungsfelder. Renommierte und international vernetzte Forschende setzen den Status quo der Informatikforschung. Die Ergebnisse sind weltweit sichtbar und anerkannt. Sie legen das wissenschaftliche Fundament für die rasanten Entwicklungen der Informatik. Die Dynamik spiegelt sich auch im breiten Forschungsportfolio der Fakultät wider, das wichtige Teildisziplinen der Angewandten Informatik, Kerninformatik, Neuroinformatik und IT-Sicherheit abdeckt.

Bochum als Forschungsstandort bietet den idealen Nährboden für innovative Forschungsleistungen. In direkter räumlicher und fachlicher Nähe zu Instituten wie dem Max-Planck-Institut für Sicherheit und Privatsphäre, einer lebendigen Informatikbranche und Partneruniversitäten der Universitätsallianz Ruhr lassen sich interdisziplinäre Projekte effektiv realisieren.

Vernetzte Systeme

Moderne Systeme wie Fabrikanlagen oder Flugzeuge und Autos bestehen aus vielen Komponenten, die jeweils auf bestimmte Aufgaben spezialisiert sind. Dennoch muss das aus ihnen bestehende Gesamtsystem reibungslos funktionieren. So besitzen beispielsweise moderne Autos eine Vielzahl von Steuergeräten, um die Funktionalität des Fahrzeugs zu gewährleisten. Diese Steuergeräte arbeiten nebenläufig und müssen miteinander vernetzt werden, sodass sie Informationen wie Messdaten oder Steuerbefehle miteinander austauschen können.

Oftmals sind die Grenzen des verteilten Systems nicht derart klar und eng gesetzt, da über das Mobilfunknetz und das Internet auf Daten oder Rechenleistung von weit entfernten Rechenzentren zugegriffen werden muss. Unabhängig von seiner Größe oder der darunterliegenden Netzwerkarchitektur nennt man einen solchen Zusammenschluss von unabhängigen Computern auch ein verteiltes System, sofern es dem Benutzer gegenüber als ein einzelnes, kohärentes System erscheint.

Herausforderungen

Die Herausforderungen an die Entwicklung von Netzwerken und von verteilten Systemen sind vielfältig und reichen von den grundlegenden funktionalen Aspekten, also dem reinen Umsetzen der gewünschten Funktionalität, bis hin zu verschiedensten nicht-funktionalen Anforderungen wie Performanz, Sicherheit, Skalierbarkeit oder (Energie-)Effizienz des vorgeschlagenen Systementwurfs.

Zukünftig wird die Nutzung von Anwendungen steigen, die keine Toleranzen bezüglich eines schnellen, zuverlässigen und vorhersagbaren Datentransports zulassen, wie etwa Herzoperationen aus der Ferne. Die Forschung befasst sich daher mit den unterschiedlichsten Aspekten moderner Computersysteme. Darunter sind der Entwurf und die Analyse von Hardware und Software sowie deren Integration, die Simulation und Messung von Systemverhalten oder die Analyse und Optimierung von Algorithmen unter gewissen nicht-funktionalen Aspekten.

Datenbanken und Informationssysteme

Die Kernherausforderung bei der Ergründung und Weiterentwicklung von Datenbanken und Informationssystemen liegt im Bereich des Datenmanagements. Das Datenmanagement befasst sich mit dem Umgang der Daten während des gesamten Lebenszyklus: von der Erfassung über die Analyse bis hin zur aus der Analyse resultierenden Generierung weiterer Daten.

Daten sind wesentlicher Input und Erfolgsfaktor für alle Arten von datengesteuerten Lösungen. Dazu gehören unter anderem digitale Systeme und fortschrittliche Analytik, beispielsweise maschinelles Lernen sowie datengesteuerte Anwendungen, wie etwa Empfehlungs- und Fragebeantwortungssysteme. Der Erfolg dieser Anwendungen hängt maßgeblich vom schnellen Zugriff auf qualitativ hochwertige Daten ab.

Herausforderungen

Trotz der Entwicklungen des Datenmanagements in den letzten Jahrzehnten steht der Bereich aufgrund der zunehmenden Menge an nutzergenerierten Daten und dem Aufkommen neuer Datenmodelle und Computerarchitekturen ständig vor neuen Möglichkeiten und Herausforderungen. Die Forschung an innovativen Datenverarbeitungstechniken, die die Chancen neuester Technologien ausschöpfen, bildet daher das Fundament zur Entwicklung von umfangreichen und bedeutsamen datengetriebenen Lösungen.

Schwerpunkte

Der Forschungsbereich Datenbanken und Informationssysteme der RUB beschäftigt sich mit der Entwicklung neuer Techniken zur effizienten und effektiven Verwaltung dezentraler Daten, insbesondere mit folgenden Forschungsthemen:

  • Abfrageoptimierung: Reduzierung der Ausführungszeit und Menge an Ressourcen, die für die Auswertung von Abfragen auf Basis großer Datenquellen verwendet werden.
  • Föderierte Abfrageverarbeitung: Quellenauswahl und Abfrageplanungstechniken zur effizienten Ausführung von Abfragen über dezentrale, autonome Quellen, die eine Föderation bilden.
  • Datenqualität: Erkennung von Qualitätsproblemen einschließlich unvollständiger oder falscher Angaben in Datenquellen.

Kryptografie und IT-Sicherheit

Kryptografie, also die Verschlüsselung von Informationen, bildet die Basis moderner Sicherheitssysteme. Sie liefert die Grundbausteine, mit denen beispielsweise sicheres Surfen und Shoppen im Internet, Emailverschlüsselung und Krypto-Währungen möglich werden.

Mit anhaltendem Aufschwung der Digitalisierung und dem Einzug der Informatik in nahezu alle Lebensbereiche gewinnt die IT-Sicherheit stets an Relevanz, denn zunehmende Digitalisierung ist auch gleichbedeutend mit zunehmender Angriffsfläche für Cyberattacken. Diese können sowohl Privatpersonen betreffen als auch Industrie, Wirtschaft und staatliche Organisationen. Neben Daten rücken durch das Internet der Dinge und der Industrie 4.0 auch smarte Geräte und Maschinen in den Fokus als potenzielle Angriffsziele. Sicherheitslücken an der IT-Infrastruktur bergen so mittlerweile nicht nur Gefahren für die Privatsphäre und Datenmissbrauch, sondern auch konkrete physische Gefahren.

Herausforderungen

Wie in der gesamten Teildisziplin IT-Sicherheit müssen Forschende im Bereich der Kryptografie stets die Zukunft mitdenken. So können mit fortschreitender Entwicklung neuer Technologien, wie etwa der Entwicklung von Quantencomputern, bestehende kryptografische Verfahren gelöst werden. Die Herausforderung hier ist, nachhaltig sichere Verschlüsselungsverfahren zu entwickeln, die Daten auch langfristig vor fremdem Zugriff schützen, aber zugleich so effizient sind, dass sie in verschiedenste (Klein-)Geräte implementiert werden können.

Sichere und vertrauenswürdige IT-Prozesse sind unabdingbar für einen positiven und nachhaltigen Einsatz von Informationstechnik. Durch die fortwährende Entwicklung immer neuerer Technologien befinden sich Forschende im Bereich der IT-Sicherheit stets in einem Wettlauf mit der Zeit.

Schwerpunkte

Im Forschungsbereich Kryptografie untersuchen weltweit führende Wissenschaftler*innen Teildisziplinen der modernen Kryptografie, darunter unter anderem: Post-Quantum, Kryptografie, Blockchiffren, Gitterbasierte Kryptografie, Symmetrische Kryptografie, Theoretische Kryptografie.

  • Sichere Systeme: Entwicklung verlässlicher Sicherheitslösungen, um Angriffe auf IT-Systeme zu erkennen und zu unterbinden. Die Themenfelder reichen dabei von sicheren Webanwendungen über die Erkennung von Softwareschwachstellen bis hin zu neuen Sicherheitsprotokollen. Auch die Forschung im Bereich Maschinelles Lernen (ML) wird hier immer relevanter. Geforscht wird beispielsweise an der Robustheit von ML-Algorithmen und Angriffen gegen solche Systeme.
  • Eingebettete Sicherheit: Sichere Einbettung von Computersystemen in ihre physikalische Umgebung. Gegenstand der Untersuchungen sind z.B. Methoden zur Verhinderung von Hardware-Manipulationen oder dem Auslesen kryptographischer Schlüssel aus Chipkarten und Smartphones. Auch die Absicherung neuartiger Anwendungen, etwa in der Elektromobilität oder bei selbstfahrenden Autos, wird erforscht.
  • Sicherheit und Usability: Erforschung menschlichen (Fehl-)Verhaltens als Schlüsselkomponente in der Absicherung von IT-Systemen. Die Forschung hier ist stark interdisziplinär und fokussiert das sichere Zusammenspiel von Mensch und Technik. Gearbeitet wird beispielsweise an neuen Passwortkonzepten, der Sicherheit von CAPTCHAs und der Erkennung von „Fake“-Internetbewertungen.

Maschinelles Lernen

Lernfähigkeit stellte eine zentrale Komponente von Intelligenz dar. Maschinelles Lernen ist das Untergebiet der künstlichen Intelligenz, das sich mit lernfähigen Algorithmen befasst. Diese Algorithmen lernen selbstständig Muster und Gesetzmäßigkeit in Daten zu erkennen und diese für Vorhersagen und Entscheidungen zu nutzen. Deep Learning ist ein prominentes Untergebiet des maschinellen Lernens, das künstliche neuronale Netze zum Modellieren der Muster und Gesetzmäßigkeiten verwendet, und welches im letzten Jahrzehnt zu Durchbrüchen in zahlreichen Anwendungsgebieten wie der Schrift-, Bild- und Spracherkennung geführt hat. Auch die in jüngerer Zeit erreichten Meilensteine der künstlichen Intelligenz wie der Sieg des Go-Programms AlphaGo im Spiel gegen den weltbesten menschlichen Spieler, sind auf künstliche neuronale Netze zurückzuführen.

Schwerpunkte

Innerhalb des Deep Learnings forscht das Team um Prof. Dr. Asja Fischer vor allem im Bereich der Analyse und Entwicklung von probabilistischen Methoden und Modellen. Dabei liegt ein Fokus auf der die Methoden untermauernden Theorie. Trotz des immensen Erfolgs von Deep Learning Algorithmen in vielen Anwendungsgebieten ist über ihre theoretischen Eigenschaften relativ wenig bekannt. Ein besseres Verständnis der mathematischen Eigenschaften ist jedoch von enormer Wichtigkeit, um diese Algorithmen robuster, verlässlicher, interpretierbarer und sicherer zu machen. Die Arbeitsgruppe forscht aber auch an der Anwendung neuronaler Netze auf spannende praktische Fragestellungen und in interdisziplinären Projekten.

Folgende Schwerpunkte wurden in der bisherigen Forschung gesetzt:

  • Entwicklung und Analyse generativer Modelle und MCMC-basierter Lernmethoden
  • Analyse der Optimierungsmethoden neuronaler Netze
  • Methoden zur Unsicherheitsabschätzung für die Vorhersagen neuronaler Netze
    Biologisch-plausibles Deep Learning
  • Methoden zur Wissensgraphananalyse und Deep Learning für Question Answering über Wissensgraphen
  • Machine Learning für IT-Security und sicheres maschinelles Lernen

Theoretische Informatik

Die Theoretische Informatik beschäftigt sich mit den theoretischen Grundlagen der Informatik. Zwei Kerngebiete sind die Komplexitätstheorie und die Algorithmik. Forschende im Bereich der Komplexitätstheorie stellen sich die Frage, welche Probleme sich wie effizient lösen lassen. Basierend auf einem formalen Rechenmodell ergeben sich dabei Klassen von Problemen verschiedener Komplexität. Die Komplexitätstheorie untersucht, wie sich diese Klassen zueinander verhalten.

In der Algorithmik werden Methoden zum Entwurf und der Analyse effizienter Algorithmen betrachtet. Die beiden Gebiete, Algorithmen und Komplexität, hängen eng miteinander zusammen. Auch sind Algorithmen eng verknüpft mit Datenstrukturen, da manche effizienten Algorithmen geschickte Datenstrukturen benötigen. Datenstrukturen hingegen benötigen geschickte Algorithmen zur Konstruktion, Modifikation und Abfrage.

Herausforderungen

Viele Probleme haben eine geometrische Komponente, beispielsweise die Abfrage numerischer Daten in einer Datenbank oder die Suche nach einem kürzesten Weg. Algorithmen für solche Probleme nennt man auch kurz geometrische Algorithmen. Diese nutzen, neben allgemeinen Techniken für effiziente Algorithmen, auch Techniken basierend auf den geometrischen Eigenschaften des Problems. Viele der Fragen, die betrachtet werden, sind aus Anwendungen motiviert. Je komplexer dabei die Probleme sind, desto häufiger stellen sich diese als weniger effizient lösbar heraus. Hierfür dennoch nach effizienten Lösungen zu suchen, stellt die Herausforderung dar.

Schwerpunkte

Der Forschungsbereich Theoretische Informatik rund um Prof. Dr. Maike Buchin betrachtet insbesondere geometrische Probleme auf polygonalen Kurven, geometrisch eingebetteten Graphen und einfachen Polygonen. Wie diese miteinander verglichen, zusammengefasst oder in homogene Teile zerlegt werden können, gehört zum Gegenstand der Forschung.

  • Vergleich geometrischer Objekte: Eine fundamentale Frage ist es, die Ähnlichkeit zwischen geometrischen Objekten, z.B. Punktmengen, Polygonkurven oder triangulierten Flächen zu bestimmen. Hierfür existieren unterschiedliche Ähnlichkeitsmaße, deren effiziente Berechnung von der Komplexität des Maßes und der Objekte abhängt.
  • Analyse von Bewegungsdaten: Heutzutage treten Bewegungsdaten, also diskrete Sample einer kontinuierlichen Bewegung, in immer größeren Mengen auf. Geometrisch sind diese Daten Polygonkurven in Zeit und Raum, wobei diese in der Regel fehlerbelastet und eingebettet in eine Umgebung sind. Diese zu analysieren erfordert geeignete effiziente Algorithmen.
  • Analyse von geometrischen Netzwerken: Netzwerke, z.B. Fluss- oder Straßennetzwerke, treten in vielen Kontexten auf. In deren Analyse stellen sich unterschiedliche Fragen, beispielsweise wie man die Qualität verschiedener Netzwerke vergleicht oder basierend auf einer großen Menge an Bewegungsdaten auf einem Netzwerk selbiges rekonstruiert. Auch hier variiert die algorithmische Komplexität der resultierenden Probleme stark.

Praktische Informatik

Die Forschungsarbeiten im Bereich Betriebssysteme und Systemsoftware befassen sich mit dem Entwurf, der Entwicklung und dem Betrieb effizienter, systemnaher Software. Betriebssysteme sind in Computersystemen für die effiziente Verwaltung vorhandener Betriebsmittel (z.B. CPU-Zeit, Speicher) verantwortlich und gewährleisten den sicheren Ablauf von Systemaktivitäten (z.B. Prozesseinlastung).

Herausforderungen

Durch den rasanten technologischen Fortschritt hinsichtlich Hardware und Software rücken Betriebssysteme stärker in den Fokus. Die Hardware heutiger Rechensysteme bietet eine Vielzahl unterschiedlicher Einstellungsmöglichkeiten zur Performancesteigerung (z.B. Turbo Boost) und Energieeinsparung (z.B. zahlreiche Tiefschlafmodi). Diese individuellen Einstellungen setzen eine ganzheitliche Systemsicht voraus, über die lediglich das Betriebssystem verfügt. Für zukünftige Computersysteme kommt Betriebssystemen daher eine zunehmend wichtiger werdende, zentrale Rolle zu, um Weiterentwicklungen der Hardware (z.B. neue Hardwarearchitekturen wie RISC-V) und der Software (z.B. neue Programmiersprachen wie RUST oder Konzepte wir Container-Software) gezielt auszureizen.

Schwerpunkte

Die Forschung konzentriert sich insbesondere auf die parallele und energieeffiziente Ausführung von Prozessen unter Ausnutzung verfügbarer Rechenkerne.

  • Energiebewusste Systeme: Forschung an Konzepten zur Etablierung energiebewusster Systemsoftware. Untersucht werden heterogene Systeme unterschiedlicher Klassen: Von eingebetteten Systemen bis hin zu Systemen aus dem Bereich des Hochleistungsrechnens.
    Die sorgfältige Verwendung der zur Verfügung stehenden Energieressourcen für die Durchführung anstehender Arbeitsaufträge (z.B. Prozesse, Programmfäden) spielt beim verantwortungsbewussten Umgang mit Systemressourcen die entscheidende Rolle: Nicht-funktionale Systemeigenschaften (z.B. Effizienz, Betriebsdauer) werden nur durch eine möglichst optimale und reibungsfreie Anpassung von Software- und Hardwarekomponenten erreicht. Die enge Verzahnung von Betriebssystemkomponenten mit der Anwendungsebene einerseits und der zielgerichtete Einsatz hardwareseitiger Mechanismen zur Reduktion des Leistungsbedarfs zur Betriebszeit andererseits sind die Grundvoraussetzung für die Etablierung von Energiebewusstsein auf Systemebene.
  • Projekte im Bereich Energiebewusste Systeme umfassen Forschungen zur energiebewussten Programmierung, der energiebewussten Ablaufplanung und zum Entwurf und Betrieb energiebewusster Betriebssystemkomponenten. Sie werden durch die Deutsche Forschungsgemeinschaft (DFG) gefördert, beispielsweise durch den SFB/Transregio „Invasive Computing“ (InvasIC).

Software Engineering

Der Forschungsbereich Software Engineering rund um Prof. Dr. Thorsten Berger verbindet grundlegende mit angewandter Forschung, um die Softwareentwicklung der nächsten Generation von intelligenten, autonomen und variantenreichen Softwaresysteme zu automatisieren.

Hier werden neue Ansätze zur Softwareerstellung, -analyse und -evolution untersucht. Unsere Anwendungsdomänen sind im Wesentlichen Automotive-Systeme, Systemsoftware (z.B. Linux kernel), Softwareökosysteme (z.B. Android Apps) und mobile Roboter.

Herausforderungen

„Software is eating the world“ ist ein bekanntes Zitat von Marc Andreessen aus dem Jahr 2011. Software isst noch immer die Welt – Software-orientierte Firmen dominieren die Märkte – wenn auch ein klein wenig anders als 2011. Heutzutage ist Software zunehmend datengetrieben, variantenreich und enthält Technologien der künstlichen Intelligenz (AI). Während sich allerdings Märkte und Technologien rapide ändern, stellt das Gebiet Software Engineering verschiedenste Methoden und Werkzeuge bereit, die diese rapiden Technologie-Änderungen überwinden und Software immer schneller entwickeln lassen, um auf neue Märkte reagieren zu können. Während die Entwicklung von Software für eine sehr lange Zeit eine hochkreative Aktivität bleiben wird, durchgeführt von menschlichen Entwicklern, erhöhen moderne Methoden und Werkzeuge des Software Engineerings das Niveau der Abstraktion und der Automatisierung.

Schwerpunkte

  • Model-Driven Software Engineering (MDSE): Softwareentwicklung mit zentraler Verwendung von Modellen und domänenspezifischen Sprachen (DSLs – Domain-Specific Languages). Wir entwickeln DSLs für variantenreiche Software (sog. Softwareproduktlinien), mobile Service-Roboter, selbstfahrende Autos, und weitere interessante Anwendungsdomänen. Außerdem verbessern wir Technologien zur Sprachentwicklung, wie z.B. Metamodellierung, Language-Workbenches und Projektionales Editieren.
  • Software Product Line Engineering (SPLE): Software is immer häufiger variantenreich, um flexibel auf verschiedene Nutzungsszenarien, Optimierungen (z.B. Energiebedarf) oder Hardware-Umgebungen reagieren zu können. Solche Software wird häufig mit unstrukturierten, ad hoc-Methoden wie z.B. Cloning realisiert, aber idealerweise sollte man Software automatisch basierend auf den gewünschten Features generieren oder ableiten können. Wir entwickeln und verbessern Techniken um diese sogenannten Softwareproduktlinien effizient entwickeln zu können, auch in enger Zusammenarbeit mit der Industrie.
  • Software Analytics (SWA): Das Re-Engineering und die Qualitätssicherung (z.B. des korrekten Verhaltens) von Software benötigt häufig die Analyse von Quellcode und anderen Softwareartefakten, was eine Herausforderung darstellt. Wir entwickeln statische Quellcode-Analysetechniken und verwenden diese unter anderem auch als Basis unserer MDSE- und SPLE-Technologien. Darüber hinaus erlaubt uns die großskalige Datenanalyse von Software-Repositories (z.B. Android Apps auf Google Play oder Repositories auf GitHub), dass wir empirische und statistisch signifikante Einsichten in reale Softwareentwicklung und deren Phänomene erhalten.
  • AI Engineering (SE4AI/AI4SE): Software Engineering unterstützt die Entwicklung intelligenter Systeme (SE4AI), genauso wie umgekehrt AI die Entwicklung von Software unterstützt (AI4SE). Wir arbeiten auf beiden Gebieten, wobei wir in SE4AI das Management (z.B. Versions-/Varianten-/Experiment-Management) von Artefakten des maschinellen Lernens (z.B. Modelle) unterstützen, sowie in AI4SE Techniken aus Basis des maschinellen Lernens zur Qualitätssicherung (z.B. Defektvorhersage in Software) und die Entwicklung variantenreicher Systeme (z.B. durch Recommender-Systeme) entwickeln.