English
Related papers

Related papers: Executable Refinement Types

200 papers

Our aim is to statically verify that in a given reactive program, the length of collection variables does not grow beyond a given bound. We propose a scalable type-based technique that checks that each collection variable has a given…

Programming Languages · Computer Science 2019-01-29 Tianhan Lu , Pavol Cerny , Bor-Yuh Evan Chang , Ashutosh Trivedi

The defunctionalization translation that eliminates higher-order functions from programs forms a key part of many compilers. However, defunctionalization for dependently-typed languages has not been formally studied. We present the first…

Programming Languages · Computer Science 2023-04-11 Yulong Huang , Jeremy Yallop

To derive a program for a given specification R means to find an artifact P that satisfies two conditions: P is executable in some programming language; and P is correct with respect to R. Refinement-based program derivation achieves this…

Software Engineering · Computer Science 2018-10-24 Marwa Benabdelali , Lamia Labed Jilani , Wided Ghardallou , Ali Mili

We study the properties, in particular termination, of dependent types systems for lambda calculus and rewriting.

Logic in Computer Science · Computer Science 2016-08-16 Frédéric Blanqui

Modularity is the fundamental aspect of modern software engineering, however many advanced modularity techniques requires prospective technologies as part of development and operation process. In this paper, we present Refinable Function,…

Programming Languages · Computer Science 2021-09-15 Hiun Kim

The analysis of industrial processes, modelled as descriptor systems, is often computationally hard due to the presence of both algebraic couplings and difference equations of high order. In this paper, we introduce a control refinement…

Systems and Control · Computer Science 2017-04-07 Fei Chen , Sofie Haesaert , Alessandro Abate , Siep Weiland

Structural resolution (or S-resolution) is a newly proposed alternative to SLD-resolution that allows a systematic separation of derivations into term-matching and unification steps. Productive logic programs are those for which…

Logic in Computer Science · Computer Science 2015-06-23 Peng Fu , Ekaterina Komendantskaya

Recent developments in machine learning have introduced models that approach human performance at the cost of increased architectural complexity. Efforts to make the rationales behind the models' predictions transparent have inspired an…

Computation and Language · Computer Science 2020-09-29 Pepa Atanasova , Jakob Grue Simonsen , Christina Lioma , Isabelle Augenstein

Evidential reasoning is cast as the problem of simplifying the evidence-hypothesis relation and constructing combination formulas that possess certain testable properties. Important classes of evidence as identifiers, annihilators, and…

Artificial Intelligence · Computer Science 2013-04-11 Yizong Cheng , Rangasami L. Kashyap

We define an extension of lambda-calculus with dependents types that enables us to encode transparent and opaque probabilistic programs and prove a strong normalisation result for it by a reducibility technique. While transparent…

Logic in Computer Science · Computer Science 2026-03-10 Francesco A. Genco

Testing has become an indispensable activity of software development, yet writing good and relevant tests remains a quite challenging task. One well-known problem is that it often is impossible or unrealistic to test for every outcome, as…

Programming Languages · Computer Science 2017-08-18 Dimitri Racordon , Didier Buchs

We contribute a general apparatus for dependent tactic-based proof refinement in the LCF tradition, in which the statements of subgoals may express a dependency on the proofs of other subgoals; this form of dependency is extremely useful…

Logic in Computer Science · Computer Science 2017-03-16 Jonathan Sterling , Robert Harper

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

Transductions are binary relations of finite words. For rational transductions, i.e., transductions defined by finite transducers, the inclusion, equivalence and sequential uniformisation problems are known to be undecidable. In this paper,…

Formal Languages and Automata Theory · Computer Science 2016-03-01 Emmanuel Filiot , Ismaël Jecker , Christof Löding , Sarah Winter

Session types are abstractions of communication protocols enabling the static analysis of message-passing processes. Refinement notions for session types are key to support safe forms of process substitution while preserving their…

Programming Languages · Computer Science 2025-06-09 Mario Bravetti , Luca Padovani , Gianluigi Zavattaro

This paper concerns the development of metatheory for extensible languages. It uses as its starting point a view that programming languages tailored to specific application domains are to be constructed by composing components from an open…

Programming Languages · Computer Science 2023-12-25 Dawn Michaelson , Gopalan Nadathur , Eric Van Wyk

Gradual typing has gained popularity as a design choice for integrating static and dynamic typing within a single language. Several practical languages have adopted gradual typing to offer programmers the flexibility to annotate their…

Programming Languages · Computer Science 2026-03-09 Senxi Li , Feng Dai , Tetsuro Yamazaki , Shigeru Chiba

A desired but challenging property of compiler verification is compositionality, in the sense that the compilation correctness of a program can be deduced incrementally from that of its substructures ranging from statements, functions, and…

Programming Languages · Computer Science 2026-03-31 Zhang Cheng , Jiyang Wu , Di Wang , Qinxiang Cao

Security policies are naturally dynamic. Reflecting this, there has been a growing interest in studying information-flow properties which change during program execution, including concepts such as declassification, revocation, and…

Cryptography and Security · Computer Science 2015-01-13 Bart van Delft , Sebastian Hunt , David Sands

We introduce the task of entity-centric query refinement. Given an input query whose answer is a (potentially large) collection of entities, the task output is a small set of query refinements meant to assist the user in efficient domain…

Computation and Language · Computer Science 2022-09-19 David Wadden , Nikita Gupta , Kenton Lee , Kristina Toutanova