English
Related papers

Related papers: Sound Regular Expression Semantics for Dynamic Sym…

200 papers

We present the first mechanized, succinct, practical, complete, and proven-faithful semantics for a modern regular expression language with backtracking semantics. We ensure its faithfulness by proving it equivalent to a preexisting…

Programming Languages · Computer Science 2026-04-08 Aurèle Barrière , Victor Deng , Clément Pit-Claudel

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

Many programming languages and tools, ranging from grep to the Java String library, contain regular expression matchers. Rather than first translating a regular expression into a deterministic finite automaton, such implementations…

Logic in Computer Science · Computer Science 2011-08-17 Asiri Rathnayake , Hayo Thielecke

We present an executable, proven-safe, faithful, and future-proof Coq mechanization of JavaScript regular expression (regex) matching, as specified by the latest published edition of ECMA-262 section 22.2. This is, to our knowledge, the…

Programming Languages · Computer Science 2024-07-29 Noé De Santo , Aurèle Barrière , Clément Pit-Claudel

Many security and software testing applications require checking whether certain properties of a program hold for any possible usage scenario. For instance, a tool for identifying software vulnerabilities may need to rule out the existence…

Software Engineering · Computer Science 2018-05-03 Roberto Baldoni , Emilio Coppa , Daniele Cono D'Elia , Camil Demetrescu , Irene Finocchi

JavaScript implementations are tested for conformance to the ECMAScript standard using a large hand-written test suite. Not only in this a tedious approach, it also relies solely on the natural language specification for differentiating…

Software Engineering · Computer Science 2021-08-17 Blake Loring , Johannes Kinder

Regular expressions (regexes) are a powerful mechanism for solving string-matching problems. They are supported by all modern programming languages, and have been estimated to appear in more than a third of Python and JavaScript projects.…

Software Engineering · Computer Science 2023-03-07 Louis G. Michael , James Donohue , James C. Davis , Dongyoon Lee , Francisco Servant

Regular expressions are a concise yet expressive language for expressing patterns. For instance, in networked software, they are used for input validation and intrusion detection. Yet some widely deployed regular expression matchers based…

Programming Languages · Computer Science 2013-01-08 James Kirrage , Asiri Rathnayake , Hayo Thielecke

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…

JavaScript has become one of the most widely used languages for Web development. However, it is challenging to ensure the correctness and reliability of Web applications written in JavaScript, due to their dynamic and event-driven features.…

Software Engineering · Computer Science 2019-05-21 Pengfei Gao , Fu Song , Taolue Chen , Yao Zeng , Ting Su

The explosive rate of information growth and availability often makes it increasingly difficult to locate information pertinent to your needs. These problems are often compounded when keyword based search methodologies are not adequate for…

Information Retrieval · Computer Science 2008-10-10 Christopher M. Frenz

Symbolic execution is a powerful program analysis technique that allows for the systematic exploration of all program paths. Path explosion, where the number of states to track becomes unwieldy, is one of the biggest challenges hindering…

Cryptography and Security · Computer Science 2025-08-12 Joshua Bailey , Charles Nicholas

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

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

The primary aim of automated performance improvement is to reduce the running time of programs while maintaining (or improving on) functionality. In this paper, Genetic Programming is used to find performance improvements in regular…

Neural and Evolutionary Computing · Computer Science 2017-04-14 Brendan Cody-Kenny , Michael Fenton , Adrian Ronayne , Eoghan Considine , Thomas McGuire , Michael O'Neill

Symbolic execution is a powerful technique for program analysis. However, it has many limitations in practical applicability: the path explosion problem encumbers scalability, the need for language-specific implementation, the inability to…

Programming Languages · Computer Science 2018-07-03 Shiqi Shen , Soundarya Ramesh , Shweta Shinde , Abhik Roychoudhury , Prateek Saxena

Nearly all web-based interfaces are written in JavaScript. Given its prevalence, the support for high performance JavaScript code is crucial. The ECMA Technical Committee 39 (TC39) has recently extended the ECMAScript language (i.e.,…

Logic in Computer Science · Computer Science 2018-04-18 Cristian Mattarei , Clark Barrett , Shu-yu Guo , Bradley Nelson , Ben Smith , JF Bastien

The JavaScript programming language, which began as a simple scripting language for the Web, has become ubiquitous, spanning desktop, mobile, and server applications. This increase in usage has made JavaScript an attractive target for…

Cryptography and Security · Computer Science 2024-10-29 José Miguel Moreno , Narseo Vallina-Rodriguez , Juan Tapiador

We present a technique to automatically generate search heuristics for dynamic symbolic execution. A key challenge in dynamic symbolic execution is how to effectively explore the program's execution paths to achieve high code coverage in a…

Software Engineering · Computer Science 2019-07-24 Sooyoung Cha , Seongjoon Hong , Jingyoung Kim , Junhee Lee , Hakjoo Oh

We develop a formal perspective on how regular expression matching works in Java, a popular representative of the category of regex-directed matching engines. In particular, we define an automata model which captures all the aspects needed…

Formal Languages and Automata Theory · Computer Science 2014-05-23 Martin Berglund , Frank Drewes , Brink van der Merwe
‹ Prev 1 2 3 10 Next ›