RUS  ENG
Full version
JOURNALS // Proceedings of the Institute for System Programming of the RAS // Archive

Proceedings of ISP RAS, 2023 Volume 35, Issue 3, Pages 109–124 (Mi tisp790)

REDoS detection in “Domino” regular expressions by Ambiguity Analysis

A. N. Nepeivodaa, Yu. A. Belikovab, K. K. Shevchenkob, M. R. Teriukhab, D. P. Knyazihinb, A. D. Delmanb, A. S. Terentyevab

a Ailamazyan Program Systems Institute of Russian Academy of Sciences
b Bauman Moscow State Technical University

Abstract: The Regular Expression Denial of Service (REDoS) problem refers to a time explosion caused by the high computational complexity of matching a string against a regex pattern. This issue is prevalent in popular regex engines, such as Python, JavaScript, and C++. In this paper, we examine several existing open-source tools for detecting REDoS and identify a class of regexes that can create REDoS situations in popular regex engines but are not detected by these tools. To address this gap, we propose a new approach based on ambiguity analysis, which combines a strong star-normal form test with an analysis of the transformation monoids of Glushkov automata orbits. Our experiments demonstrate that our implementation outperforms the existing tools on regexes with polynomial matching complexity and complex subexpression overlap structures.

Keywords: regular expressions, ambiguity, REDoS, Glushkov automaton, transformation monoid, strong star-normal form

Language: English

DOI: 10.15514/ISPRAS-2023-35(3)-8



© Steklov Math. Inst. of RAS, 2024