English
Related papers

Related papers: TRX: A Formally Verified Parser Interpreter

200 papers

What provides the highest level of assurance for correctness of execution within a programming language? One answer, and our solution in particular, to this problem is to provide a formalization for, if it exists, the denotational semantics…

Category Theory · Mathematics 2023-03-17 Zachary Flores , Angelo Taranto , Eric Bond , Yakir Forman

Parsing is a fundamental building block in modern compilers, and for industrial programming languages, it is a surprisingly involved task. There are known approaches to generate parsers automatically, but the prevailing consensus is that…

Formal Languages and Automata Theory · Computer Science 2022-09-20 Joe Zimmerman

Misinformation detection is a critical task that can benefit significantly from the integration of external knowledge, much like manual fact-checking. In this work, we propose a novel method for representing textual documents that…

Computation and Language · Computer Science 2026-02-13 Géraud Faye , Wassila Ouerdane , Guillaume Gadek , Sylvain Gatepaille , Céline Hudelot

Interactive proof assistants are computer programs carefully constructed to check a human-designed proof of a mathematical claim with high confidence in the implementation. However, this only validates truth of a formal claim, which may…

Programming Languages · Computer Science 2023-10-09 Colin S. Gordon , Sergey Matskevich

This paper focuses on formally specifying and verifying the chain of formal semantics of the Esterel synchronous programming language using the Coq proof assistant. In particular, in addition to the standard logical (LBS) semantics,…

Formal Languages and Automata Theory · Computer Science 2025-01-08 Gérard Berry , Lionel Rieg

We present a novel propositional proof tracing format that eliminates complex processing, thus enabling efficient (formal) proof checking. The benefits of this format are demonstrated by implementing a proof checker in C, which outperforms…

Logic in Computer Science · Computer Science 2017-08-09 Luís Cruz-Filipe , Joao Marques-Silva , Peter Schneider-Kamp

It is well known in the Constraint Programming community that any non-binary constraint satisfaction problem (with finite domains) can be transformed into an equivalent binary one. One of the most well-known translations is the Hidden…

Programming Languages · Computer Science 2020-09-02 Catherine Dubois

Existing question answering systems can only predict answers without explicit reasoning processes, which hinder their explainability and make us overestimate their ability of understanding and reasoning over natural language. In this work,…

Computation and Language · Computer Science 2020-04-06 Ran Wang , Kun Tao , Dingjie Song , Zhilong Zhang , Xiao Ma , Xi'ao Su , Xinyu Dai

Since regular expressions (abbrev. regexes) are difficult to understand and compose, automatically generating regexes has been an important research problem. This paper introduces TransRegex, for automatically constructing regexes from both…

Programming Languages · Computer Science 2021-03-03 Yeting Li , Shuaimin Li , Zhiwu Xu , Jialun Cao , Zixuan Chen , Yun Hu , Haiming Chen , Shing-Chi Cheung

We describe a formalization of higher-order rewriting theory and formally prove that an AFS is strongly normalizing if it can be interpreted in a well-founded domain. To do so, we use Coq, which is a proof assistant based on dependent type…

Logic in Computer Science · Computer Science 2021-12-14 Deivid Vale , Niels van der Weide

We explore an approach to verification of programs via program transformation applied to an interpreter of a programming language. A specialization technique known as Turchin's supercompilation is used to specialize some interpreters with…

Programming Languages · Computer Science 2017-08-31 Alexei P. Lisitsa , Andrei P. Nemytykh

Context-free grammars (CFGs) are the de-facto formalism for declaratively describing concrete syntax for programming languages and generating parsers. One of the major challenges in defining a desired syntax is ruling out all possible…

Programming Languages · Computer Science 2026-02-23 Yunjeong Lee , Gokul Rajiv , Ilya Sergey

We explore an approach to verification of programs via program transformation applied to an interpreter of a programming language. A specialization technique known as Turchin's supercompilation is used to specialize some interpreters with…

Programming Languages · Computer Science 2017-05-22 Alexei P. Lisitsa , Andrei P. Nemytykh

Formal languages let us define the textual representation of data with precision. Formal grammars, typically in the form of BNF-like productions, describe the language syntax, which is then annotated for syntax-directed translation and…

Formal Languages and Automata Theory · Computer Science 2015-01-15 Luis Quesada , Fernando Berzal , Juan-Carlos Cubero

Sequence to sequence (seq2seq) models are often employed in settings where the target output is natural language. However, the syntactic properties of the language generated from these models are not well understood. We explore whether such…

Computation and Language · Computer Science 2018-09-07 Johnny Tian-Zheng Wei , Khiem Pham , Brian Dillon , Brendan O'Connor

Graphical languages are a convenient shorthand to represent computation, with rewrite rules relating one graph to another. In contrast, proof assistants rely heavily on inductive datatypes, particularly when giving semantics to embedded…

Programming Languages · Computer Science 2026-04-09 Adrian Lehmann , Ben Caldwell , Bhakti Shah , William Spencer , Robert Rand

We study the problem of recognizing structured text, i.e. text that follows certain formats, and propose to improve the recognition accuracy of structured text by specifying regular expressions (regexes) for biasing. A biased recognizer…

Computer Vision and Pattern Recognition · Computer Science 2021-11-15 Baoguang Shi , Wenfeng Cheng , Yijuan Lu , Cha Zhang , Dinei Florencio

Prefix parsing asks whether an input prefix can be extended to a complete string generated by a given grammar. In the weighted setting, it also provides prefix probabilities, which are central to context-free language modeling,…

Computation and Language · Computer Science 2026-05-05 Clemente Pasti , Andreas Opedal , Timothy J. O'Donnell , Ryan Cotterell , Tim Vieira

Software engineers use regular expressions (regexes) across a wide range of domains and tasks. To support regexes, software projects must integrate a regex engine, whether provided natively by the language runtime (e.g., Python's re) or…

Software Engineering · Computer Science 2026-03-03 Berk Çakar , Dongyoon Lee , James C. Davis

We formally verify several computational reductions concerning the Post correspondence problem (PCP) using the proof assistant Coq. Our verifications include a reduction of a string rewriting problem generalising the halting problem for…

Logic in Computer Science · Computer Science 2022-12-09 Yannick Forster , Edith Heiter , Gert Smolka