English
Related papers

Related papers: Analyzing Catastrophic Backtracking Behavior in Pr…

200 papers

We consider forkable regular expressions, which enrich regular expressions with a fork operator, to establish a formal basis for static and dynamic analysis of the communication behavior of concurrent programs. We define a novel…

Formal Languages and Automata Theory · Computer Science 2015-12-09 Martin Sulzmann , Peter Thiemann

Regular expressions with backreferences (regex, for short), as supported by most modern libraries for regular expression matching, have an NP-complete matching problem. We define a complexity parameter of regex, called active variable…

Formal Languages and Automata Theory · Computer Science 2024-02-09 Markus L. Schmid

We revisit the long-neglected problem of sequential circuit constructions from regular expressions. The class of languages that are recognized by sequential circuits is equivalent to the class of regular languages. This fact is shown in [5]…

Formal Languages and Automata Theory · Computer Science 2018-01-30 Dogan Ulus

The design and implementation of precise static analyzers for significant fragments of modern imperative languages like C, C++, Java and Python is a challenging problem. In this paper, we consider a core imperative language that has several…

Programming Languages · Computer Science 2007-06-28 Roberto Bagnara , Patricia M. Hill , Andrea Pescetti , Enea Zaffanella

Regular expression matching is of practical importance due to its widespread use in real-world applications. In practical use, regular expressions are often used with real-world extensions. Accordingly, the matching problem of regular…

Formal Languages and Automata Theory · Computer Science 2025-07-03 Taisei Nogami , Tachio Terauchi

Regular expression (RE) matching is a very common functionality that scans a text to find occurrences of patterns specified by an RE; it includes the simpler function of RE recognition. Here we address RE parsing, which subsumes matching by…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-11 Angelo Borsotti , Luca Breveglieri , Stefano Crespi Reghizzi , Angelo Morzenti

We propose an algorithm that test membership for regular expressions and show that the algorithm is correct. This algorithm is written in the style of a sequent proof system. The advantage of this algorithm over traditional ones is that the…

Formal Languages and Automata Theory · Computer Science 2010-02-11 Keehang Kwon , Hong Pyo Ha , Jiseung Kim

Modern regex languages have strayed far from well-understood traditional regular expressions: they include features that fundamentally transform the matching problem. In exchange for these features, modern regex engines at times suffer from…

Programming Languages · Computer Science 2024-07-24 Aurèle Barrière , Clément Pit-Claudel

In this contribution we revisit regular model checking, a powerful framework that has been successfully applied for the verification of infinite-state systems, especially parameterized systems (concurrent systems with an arbitrary number of…

Logic in Computer Science · Computer Science 2021-11-23 Anthony W. Lin , Philipp Rümmer

Static analysis is a powerful technique for automatic verification of programs but raises major engineering challenges when developing a full-fledged analyzer for a realistic language such as Java. This paper describes the Sawja library: a…

We present an algorithm for searching regular expression matches in compressed text. The algorithm reports the number of matching lines in the uncompressed text in time linear in the size of its compressed version. We define efficient data…

Formal Languages and Automata Theory · Computer Science 2019-01-17 Pierre Ganty , Pedro Valero

The mathematical modeling of generics in Java and other similar nominally-typed object-oriented programming languages is a challenge. In this short paper we present the outline of a novel order-theoretic approach to modeling generics, in…

Programming Languages · Computer Science 2019-06-27 Moez A. AbdelGawad

We consider the problem of static deadlock detection for programs in the Go programming language which make use of synchronous channel communications. In our analysis, regular expressions extended with a fork operator capture the…

Programming Languages · Computer Science 2016-09-05 Kai Stadtmüller , Martin Sulzmann , Peter Thiemann

RNA motifs typically consist of short, modular patterns that include base pairs formed within and between modules. Estimating the abundance of these patterns is of fundamental importance for assessing the statistical significance of matches…

Probability · Mathematics 2007-05-23 Manuel Lladser , M. D. Betterton , Rob Knight

Regular expressions in an Automata Theory and Formal Languages course are mostly treated as a theoretical topic. That is, to some degree their mathematical properties and their role to describe languages is discussed. This approach fails to…

Programming Languages · Computer Science 2023-08-15 Marco T. Morazán

Developers often try to find occurrences of a certain term in a software system. Traditionally, a text search is limited to static source code files. In this paper, we introduce a simple approach, RuntimeSearch, where the given term is…

Software Engineering · Computer Science 2018-07-26 Matúš Sulír , Jaroslav Porubän

We study 4 problems in string matching, namely, regular expression matching, approximate regular expression matching, string edit distance, and subsequence indexing, on a standard word RAM model of computation that allows logarithmic-sized…

Data Structures and Algorithms · Computer Science 2008-09-22 Philip Bille , Martin Farach-Colton

Distributed applications often deal with data with different consistency requirements: while a post in a social network only requires weak consistency, the user balance in turn has strong correctness requirements, demanding mutations to be…

Symbolic Computation · Computer Science 2023-01-02 Marco Giunti , Hervé Paulino , António Ravara

Regular model checking is an exploration technique for infinite state systems where state spaces are represented as regular languages and transition relations are expressed using rational relations over infinite (or finite) strings. We…

Logic in Computer Science · Computer Science 2021-07-13 Vrunda Dave , Taylor Dohmen , Shankara Narayana Krishna , Ashutosh Trivedi

Iteration is a programming operation that traditionally refers to visiting the elements of a data structure in sequence. However, modern programming systems such as Rust, Java, and C# generalise iteration far beyond the traditional use…

Logic in Computer Science · Computer Science 2022-10-19 Aurel Bílý , Jonas Hansen , Peter Müller , Alexander J. Summers