English
Related papers

Related papers: Denotation-based Compositional Compiler Verificati…

200 papers

The contribution of this paper is threefold: first, it defines a framework for modelling component-based systems, as well as a formalization of integration rules to combine their behavior. This is based on finite state machines (FSM).…

Software Engineering · Computer Science 2014-06-12 Bilal Kanso , Omar Chebaro

We introduce Refinement Reflection, a new framework for building SMT-based deductive verifiers. The key idea is to reflect the code implementing a user-defined function into the function's (output) refinement type. As a consequence, at uses…

Programming Languages · Computer Science 2019-07-16 Niki Vazou , Anish Tondwalkar , Vikraman Choudhury , Ryan G. Scott , Ryan R. Newton , Philip Wadler , Ranjit Jhala

Compositionality of denotational semantics is an important concern in programming semantics. Mathematical operational semantics in the sense of Turi and Plotkin guarantees compositionality, but seen from the point of view of stateful…

Logic in Computer Science · Computer Science 2022-05-12 Sergey Goncharov , Stefan Milius , Lutz Schröder , Stelios Tsampas , Henning Urbat

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama

Compositionality is a widely discussed property of natural languages, although its exact definition has been elusive. We focus on the proposal that compositionality can be assessed by measuring meaning-form correlation. We analyze…

Computation and Language · Computer Science 2020-12-08 Timothee Mickus , Timothée Bernard , Denis Paperno

We present a novel and well automatable approach to formal verification of programs with underspecified semantics, i.e., a language semantics that leaves open the order of certain evaluations. First, we reduce this problem to…

Programming Languages · Computer Science 2022-02-14 Eduard Kamburjan , Nathan Wasser

Operational semantics have been enormously successful, in large part due to its flexibility and simplicity, but they are not compositional. Denotational semantics, on the other hand, are compositional but the lattice-theoretic models are…

Programming Languages · Computer Science 2017-10-24 Jeremy G. Siek

Large language models (LLMs) have demonstrated significant potential in formal theorem proving, yet state-of-the-art performance often necessitates prohibitive test-time compute via massive roll-outs or extended context windows. In this…

Machine Learning · Computer Science 2026-04-22 Guchan Li , Rui Tian , Hongning Wang

CompCert is the first realistic formally verified compiler: it provides a machine-checked mathematical proof that the code it generates matches the source code. Yet, there could be loopholes in this approach. We comprehensively analyze…

Logic in Computer Science · Computer Science 2022-10-11 David Monniaux , Sylvain Boulmé

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

We propose a categorical framework for linear-time temporal verification of effectful higher-order programs, including probabilistic higher-order programs. Our framework provides a generic denotational reduction -- namely, a denotational…

Logic in Computer Science · Computer Science 2025-10-20 Kazuki Watanabe , Mayuko Kori , Taro Sekiyama , Satoshi Kura , Hiroshi Unno

We present a novel approach to construction of a formal semantics for a programming language. Our approach, using a parametric denotational semantics, allows the semantics to be easily extended to support new language features, and…

Programming Languages · Computer Science 2018-12-04 In-Ho Yi

Secure compilation studies compilers that generate target-level components that are as secure as their source-level counterparts. Full abstraction is the most widely-proven property when defining a secure compiler. A compiler is modular if…

Programming Languages · Computer Science 2016-04-19 Marco Patrignani , Dominique Devriese , Frank Piessens

We present Pyrosome, a generic framework for modular language metatheory that embodies a novel approach to extensible semantics and compilation, implemented in Coq. Common techniques for semantic reasoning are often tied to the specific…

Programming Languages · Computer Science 2025-07-10 Dustin Jamner , Gabriel Kammer , Ritam Nag , Adam Chlipala

Formal verification of neuro-symbolic cyber-physical systems, such as drones, medical devices and robots, is complicated. Neural components must be trained to be optimal with respect to the available data as well as the safety…

Compilers are a prime target for formal verification, since compiler bugs invalidate higher-level correctness guarantees, but compiler changes may become more labor-intensive to implement, if they must come with proof patches. One appealing…

Programming Languages · Computer Science 2025-03-12 Jason Gross , Andres Erbsen , Jade Philipoom , Rajashree Agrawal , Adam Chlipala

We explore denotational interpreters: denotational semantics that produce coinductive traces of a corresponding small-step operational semantics. By parameterising our denotational interpreter over the semantic domain and then varying it,…

Programming Languages · Computer Science 2024-07-15 Sebastian Graf , Simon Peyton Jones , Sven Keidel

We propose a method to write and check a specification including quantifiers using behaviors, i.e., input-output pairs. Our method requires the following input from the user: (1) answers to a finite number of queries, each of which presents…

Software Engineering · Computer Science 2013-07-29 Paul C. Attie , Fadi A. Zaraket , Mohamad Noureddine , Farah El-Hariri

Early stages of system development involve outlining desired features such as functionality, availability, or usability. Specifications are derived from these features that concretize vague ideas presented in natural languages. The…

Software Engineering · Computer Science 2014-10-09 Rongjie Yan , Chih-Hong Cheng , Guangquan Zhang , Yesheng Chai

Synchronous languages rely on formal methods to ease the development of applications in an efficient and reusable way. Formal methods have been advocated as a means of increasing the reliability of systems, especially those which are safety…

Programming Languages · Computer Science 2009-04-20 Annie Ressouche , Daniel Gaffé , Valérie Roy