← Neueste Arbeiten
💻 computer science

Towards Efficient Matching of Regexes with Backreferences using Register Set Automata (Technical Report)

Dieser technische Bericht stellt Register-Set-Automaten als effiziente, deterministische Erweiterung vor, die eine lineare bzw. quadratische Laufzeit für das Matching von regulären Ausdrücken mit Backreferences ermöglicht und damit die Robustheit bestehender Matcher signifikant verbessert, während die theoretischen Eigenschaften wie die Entscheidbarkeit des Leerheitsproblems untersucht werden.

Ursprüngliche Autoren: Vojtěch Havlena, Lukáš Holík, Ondřej Lengál, Jan Vašák, Sabína Gulčíková

Veröffentlicht 2026-04-16
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Vojtěch Havlena, Lukáš Holík, Ondřej Lengál, Jan Vašák, Sabína Gulčíková

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Titel: Wie man Textmuster schneller findet – Eine Reise mit dem „Register-Set-Automaten"

Stell dir vor, du bist ein Detektiv, der in einem riesigen Berg an Akten (dem Text) nach bestimmten Mustern sucht. Das ist im Grunde das, was Computer tun, wenn sie Reguläre Ausdrücke (Regex) verwenden. Ein Regex ist wie eine sehr spezifische Suchanfrage: „Finde alles, was mit 'A' beginnt, dann eine Zahl enthält und am Ende wieder 'A' steht."

Das Problem ist: Manchmal sind diese Suchanfragen so kompliziert, dass der Computer in eine Endlosschleife gerät. Das nennt man ReDoS (Regular Expression Denial of Service). Ein böswilliger Hacker kann eine solche Anfrage stellen, und statt in Millisekunden zu antworten, friert der Server für Stunden ein. Das ist, als würde ein Detektiv, der nach einem bestimmten Fingerabdruck sucht, in einer endlosen Spirale aus Verdächtigungen stecken bleiben, weil er nicht weiß, wann er aufhören soll.

Besonders tückisch sind dabei Backreferences (Rückverweise). Das ist wie ein Hinweis im Text: „Finde ein Wort, und dann suche später wieder genau dasselbe Wort."
Beispiel: „Finde ein Wort, dann ein Semikolon, dann ein anderes Wort, dann wieder das erste Wort."
Der Computer muss sich merken, was das erste Wort war, und dann prüfen, ob das dritte Wort identisch ist. Bei herkömmlichen Methoden muss der Computer dafür oft alles durchprobieren (Backtracking), was extrem langsam ist.

Die Lösung: Der „Register-Set-Automat" (RSA)

Die Autoren dieses Papiers haben eine neue Art von „Suchmaschine" entwickelt, die sie Register-Set-Automat (RSA) nennen. Um das zu verstehen, nutzen wir eine Analogie:

1. Das alte Problem: Der einzelne Korb
Stell dir vor, der Computer hat nur einen einzigen Korb (ein Register), in den er genau ein Objekt legen kann. Wenn er ein neues Objekt sieht, muss er das alte wegwerfen. Wenn er später prüfen muss, ob ein neues Objekt das alte ist, kann er es nicht mehr sehen, weil es weg ist. Um das zu lösen, muss er raten und alle Möglichkeiten durchgehen – das kostet Zeit.

2. Die neue Lösung: Der magische Sammelkorb
Der neue RSA hat einen magischen Sammelkorb (ein Register, das Mengen enthält).

  • Wenn der Computer ein neues Objekt sieht, wirft er es nicht weg, sondern legt es einfach in den Korb.
  • Der Korb kann viele Objekte gleichzeitig enthalten.
  • Wenn der Computer später sagt: „Ist dieses neue Objekt in meinem Korb?", muss er nicht raten. Er schaut einfach in den Korb. Ist das Objekt da? Ja? Dann passt es!

Der Clou: Dieser Korb kann nicht nur ein Objekt speichern, sondern eine ganze Sammlung von allem, was der Computer bisher gesehen hat. Das macht die Suche viel schneller und vorhersehbarer.

Wie funktioniert das in der Praxis?

Die Autoren haben zwei Hauptdinge getan:

  1. Die Umwandlung (Determinisierung):
    Sie haben einen Algorithmus entwickelt, der die komplizierten, chaotischen Suchanfragen (die oft raten müssen) in eine saubere, deterministische Maschine umwandelt.

    • Analogie: Stell dir vor, du hast eine verschlüsselte, verworrene Landkarte. Der Algorithmus zeichnet eine neue, klare Landkarte, auf der es nur einen Weg gibt. Du musst nicht mehr raten, welcher Pfad der richtige ist; du folgst einfach der Linie.
  2. Die Geschwindigkeit:
    Mit dieser neuen Maschine kann der Computer Texte in linearer Zeit durchsuchen.

    • Analogie: Ein alter Suchalgorithmus ist wie jemand, der in einem Labyrinth jede Sackgasse ausprobieren muss, bevor er den Ausgang findet. Der neue RSA ist wie ein Hubschrauber, der direkt über das Labyrinth fliegt und den Weg sofort sieht. Egal wie lang der Text ist, die Zeit steigt nur langsam und vorhersehbar an.

Warum ist das wichtig?

  • Sicherheit: Viele Webseiten und Server werden durch ReDoS-Angriffe lahmgelegt. Mit dieser neuen Methode können diese Angriffe abgewehrt werden, da die Suche nie in eine Endlosschleife gerät.
  • Effizienz: Es ist möglich, komplexe Muster (wie „Finde ein Wort und später wieder dasselbe") sehr schnell zu finden, ohne dass der Computer überhitzt.
  • Theorie: Die Autoren haben auch bewiesen, dass diese neue Maschine mathematisch solide ist und bestimmte Probleme (wie „Gibt es überhaupt einen Text, der passt?") lösen kann, auch wenn es sehr rechenintensiv ist.

Zusammenfassung für den Alltag

Stell dir vor, du suchst in einem riesigen Telefonbuch nach einer Nummer, die zweimal vorkommt.

  • Der alte Weg: Du blätterst Seite für Seite, merkst dir jede Nummer, legst sie weg, blätterst weiter, merkst dir die nächste... und wenn du am Ende bist, musst du alles nochmal von vorne durchgehen, um zu prüfen, ob sich etwas wiederholt hat. Das dauert ewig.
  • Der neue Weg (RSA): Du hast einen riesigen Korb. Du wirfst jede Nummer, die du siehst, hinein. Wenn du eine neue Nummer siehst, schaust du sofort in den Korb: „Ist diese Nummer schon drin?" Wenn ja, hast du dein Match! Du musst nichts zurückspulen oder raten.

Die Autoren haben also eine neue Art von „intelligentem Korb" erfunden, der es Computern erlaubt, komplexe Textmuster blitzschnell und sicher zu finden, ohne in die Gefahr zu geraten, durch zu viel Nachdenken (Backtracking) zusammenzubrechen.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →