English
Related papers

Related papers: A Type Checking Algorithm for Higher-rank, Impredi…

200 papers

In recent years, there has been an increased interest in tools that establish \emph{incorrectness} rather than correctness of program properties. In this work we build on this approach by developing a novel methodology to prove…

Programming Languages · Computer Science 2024-09-24 Kelvin Qian , Scott Smith , Brandon Stride , Shiwei Weng , Ke Wu

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

Motivated by applications in automated verification of higher-order functional programs, we develop a notion of constrained Horn clauses in higher-order logic and a decision problem concerning their satisfiability. We show that, although…

Programming Languages · Computer Science 2017-08-02 Toby Cathcart Burn , C. -H. Luke Ong , Steven J. Ramsay

Pluggable type systems allow programmers to extend the type system of a programming language to enforce semantic properties defined by the programmer. Pluggable type systems are difficult to deploy in legacy codebases because they require…

Software Engineering · Computer Science 2025-10-06 Kazi Amanul Islam Siddiqui , Martin Kellogg

**Context:** The design of static type systems that can validate dynamically-typed programs (**gradually**) is an ongoing challenge. A key difficulty is that dynamic code rarely follows datatype-driven design. Programs instead use runtime…

Programming Languages · Computer Science 2025-08-07 Hanwen Guo , Ben Greenman

We report on work in progress on automatic procedures for proving properties of programs written in higher-order functional languages. Our approach encodes higher-order programs directly as first-order SMT problems over Horn clauses. It is…

Logic in Computer Science · Computer Science 2013-06-25 Nikolaj Bjorner , Ken McMillan , Andrey Rybalchenko

Formal methods apply algorithms based on mathematical principles to enhance the reliability of systems. It would only be natural to try to progress from verification, model checking or testing a system against its formal specification into…

Software Engineering · Computer Science 2014-02-28 Gal Katz , Doron Peled

Typechecking consists of statically verifying whether the output of an XML transformation always conforms to an output type for documents satisfying a given input type. In this general setting, both the input and output schema as well as…

Databases · Computer Science 2007-05-23 Wim Martens , Frank Neven , Marc Gyssens

Sound exhaustiveness checking of pattern-matching is an essential feature of functional programming languages, and OCaml supports it for GADTs. However this check is incomplete, in that it may fail to detect that a pattern can match no…

Programming Languages · Computer Science 2017-02-09 Jacques Garrigue , Jacques Le Normand

With the wide range of quantum programming languages on offer now, efficient program verification and type checking for these languages presents a challenge -- especially when classical debugging techniques may affect the states in a…

Quantum Physics · Physics 2018-12-21 Aarthi Sundaram , Brad Lackey

We consider the verification of lock-free data structures that manually manage their memory with the help of a safe memory reclamation (SMR) algorithm. Our first contribution is a type system that checks whether a program properly manages…

Programming Languages · Computer Science 2019-11-27 Roland Meyer , Sebastian Wolff

Non-idempotent intersection types provide quantitative information about typed programs, and have been used to obtain time and space complexity measures. Intersection type systems characterize termination, so restrictions need to be made in…

Logic in Computer Science · Computer Science 2023-05-05 Fábio Reis , Sandra Alves , Mário Florido

Type qualifiers offer a lightweight mechanism for enriching existing type systems to enforce additional, desirable, program invariants. They do so by offering a restricted but effective form of subtyping. While the theory of type qualifiers…

Programming Languages · Computer Science 2024-02-27 Edward Lee , Yaoyu Zhao , James You , Kavin Satheeskumar , Ondřej Lhoták , Jonathan Brachthäuser

The problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual…

Programming Languages · Computer Science 2017-05-29 James Cheney , Alberto Momigliano

Protecting confidential data from leaking is a critical challenge in computer systems, particularly given the growing number of observers on the internet. Therefore, limiting information flow using robust security policies becomes…

We introduce a simple functional language foetus (lambda calculus with tuples, constructors and pattern matching) supplied with a termination checker. This checker tries to find a well-founded structural order on the parameters on the given…

Programming Languages · Computer Science 2024-07-11 Andreas Abel

Type migration is the process of adding types to untyped code to gain assurance at compile time. TypeScript and other gradual type systems facilitate type migration by allowing programmers to start with imprecise types and gradually…

Software Engineering · Computer Science 2023-07-12 Ming-Ho Yee , Arjun Guha

It is a strength of graph-based data formats, like RDF, that they are very flexible with representing data. To avoid run-time errors, program code that processes highly-flexible data representations exhibits the difficulty that it must…

Programming Languages · Computer Science 2019-07-02 Martin Leinberger , Philipp Seifer , Claudia Schon , Ralf Lämmel , Steffen Staab

Dynamically typed object-oriented languages enable programmers to write elegant, reusable and extensible programs. However, with the current methodology for program verification, the absence of static type information creates significant…

Programming Languages · Computer Science 2015-01-13 Björn Engelmann , Ernst-Rüdiger Olderog , Nils Erik Flick

The depth-bounded fragment of the pi-calculus is an expressive class of systems enjoying decidability of some important verification problems. Unfortunately membership of the fragment is undecidable. We propose a novel type system,…

Logic in Computer Science · Computer Science 2015-02-24 Emanuele D'Osualdo , Luke Ong
‹ Prev 1 3 4 5 6 7 10 Next ›