English
Related papers

Related papers: Analyzing Catastrophic Backtracking Behavior in Pr…

200 papers

Where full static analysis of systems fails to scale up due to system size, dynamic monitoring has been increasingly used to ensure system correctness. The downside is, however, runtime overheads which are induced by the additional…

Logic in Computer Science · Computer Science 2017-08-25 Shaun Azzopardi , Christian Colombo , Gordon J. Pace

The approximate string matching is a fundamental and recurrent problem that arises in most computer science fields. This problem can be defined as follows: Let $D=\{x_1,x_2,\ldots x_d\}$ be a set of $d$ words defined on an alphabet…

Data Structures and Algorithms · Computer Science 2017-01-31 Ibrahim Chegrane

Regular expressions are a classical concept in formal language theory. Regular expressions in programming languages (RegEx) such as JavaScript, feature non-standard semantics of operators (e.g. greedy/lazy Kleene star), as well as…

The evaluation mechanism of pattern matching with dynamic patterns is modelled in the Pure Pattern Calculus by one single meta-rule. This contribution presents a refinement which narrows the gap between the abstract calculus and its…

Logic in Computer Science · Computer Science 2011-02-21 Thibaut Balabonski

Many data extraction tasks of practical relevance require not only syntactic pattern matching but also semantic reasoning about the content of the underlying text. While regular expressions are very well suited for tasks that require only…

Programming Languages · Computer Science 2023-08-28 Qiaochu Chen , Arko Banerjee , Çağatay Demiralp , Greg Durrett , Isil Dillig

In this thesis we develop tools for effective and flexible pattern matching. We introduce a new pattern matching system called amethyst. Amethyst is not only a generator of parsers of programming languages, but can also serve as an…

Programming Languages · Computer Science 2012-10-15 Ondřej Bílka

We introduce a logic to express structural properties of automata with string inputs and, possibly, outputs in some monoid. In this logic, the set of predicates talking about the output values is parametric, and we provide sufficient…

Formal Languages and Automata Theory · Computer Science 2018-10-09 Emmanuel Filiot , Nicolas Mazzocchi , Jean-François Raskin

Strategy languages enable programmers to compose rewrite rules into strategies and control their application. This is useful in programming languages, e.g., for describing program transformations compositionally, but also in automated…

Programming Languages · Computer Science 2023-04-28 Rongxiao Fu , Ornela Dardha , Michel Steuwer

Software testing is an important issue in software development process to ensure higher quality on the products. Formal methods has been promising on testing reactive systems, specially critical systems, where accuracy is mandatory since…

Software Engineering · Computer Science 2019-08-13 Camila Sonada Gomes , Adilson Luiz Bonifacio

Regular expression patterns are a key feature of document processing languages like Perl and XDuce. It is in this context that the first and longest match policies have been proposed to disambiguate the pattern matching process. We formally…

Programming Languages · Computer Science 2007-05-23 Stijn Vansummeren

We describe a generative approach that enables concurrent typestate-oriented programming in Java and other mainstream languages. The approach allows programmers to implement objects exposing a state-sensitive interface using a high-level…

Programming Languages · Computer Science 2019-04-03 Rosita Gerbo , Luca Padovani

We propose an automaton model which is a combination of symbolic and register automata, i.e., we enrich symbolic automata with memory. We call such automata Register Match Automata (RMA). RMA extend the expressive power of symbolic…

Formal Languages and Automata Theory · Computer Science 2018-06-12 Elias Alevizos , Alexander Artikis , Georgios Paliouras

Model-based reasoning is a central concept in current research into intelligent diagnostic systems. It is based on the assumption that sources of incorrect behavior in technical devices can be located and identified via the existence of a…

Software Engineering · Computer Science 2007-05-23 Cristinel Mateis , Markus Stumptner , Dominik Wieland , Franz Wotawa

In automata theory, while determinisation provides a standard route to solving many common problems in automata theory, some weak forms of nondeterminism can be dealt with in some problems without costly determinisation. For example, the…

Formal Languages and Automata Theory · Computer Science 2026-05-29 Thomas A. Henzinger , Keya Prakash , K. S. Thejaswini

Go is a popular concurrent programming language thanks to its ability to efficiently combine concurrency and systems programming. In Go programs, a number of concurrency bugs can be caused by a mixture of data races and communication…

Programming Languages · Computer Science 2021-11-22 Julia Gabet , Nobuko Yoshida

Term pattern matching is the problem of finding all pattern matches in a subject term, given a set of patterns. Finding efficient algorithms for this problem is an important direction for research [19]. We present a new set automaton…

Formal Languages and Automata Theory · Computer Science 2021-06-30 Rick Erkens , Jan Friso Groote

Models such as finite state automata are widely used to abstract the behavior of software systems by capturing the sequences of events observable during their execution. Nevertheless, models rarely exist in practice and, when they do, get…

Software Engineering · Computer Science 2024-08-20 Donato Clun , Donghwan Shin , Antonio Filieri , Domenico Bianculli

ReScript introduces a strongly typed language that targets JavaScript, as an alternative to gradually typed languages, such as TypeScript. In this paper, we present a type system for data-flow analysis for a subset of the ReScript language,…

Programming Languages · Computer Science 2024-08-23 Nicky Ask Lund , Hans Hüttel

Since programming concepts do not match their syntactic representations, code search is a very tedious task. For instance in Java or C, array doesn't match [], so using "array" as a query, one cannot find what they are looking for. Often…

Information Retrieval · Computer Science 2019-04-01 Deepak Thukral , Darvesh Punia

Probabilistic pushdown automata (pPDA) are a standard operational model for programming languages involving discrete random choices and recursive procedures. Temporal properties are useful for specifying the chronological order of events…

Formal Languages and Automata Theory · Computer Science 2024-02-14 Tobias Winkler , Christina Gehnen , Joost-Pieter Katoen