English
Related papers

Related papers: Data Flow Refinement Type Inference

200 papers

The pattern-match safety problem is to verify that a given functional program will never crash due to non-exhaustive patterns in its function definitions. We present a refinement type system that can be used to solve this problem. The…

Programming Languages · Computer Science 2020-11-26 Eddie Jones , Steven Ramsay

Ensuring compliance with Information Flow Security (IFS) is known to be challenging, especially for concurrent systems with large codebases such as multicore operating system (OS) kernels. Refinement, which verifies that an implementation…

Logic in Computer Science · Computer Science 2025-11-11 Huan Sun , David Sanán , Jingyi Wang , Yongwang Zhao , Jun Sun , Wenhai Wang

Dynamically typed languages such as JavaScript and Python have emerged as the most popular programming languages in use. Important benefits can accrue from including type annotations in dynamically typed programs. This approach to gradual…

Programming Languages · Computer Science 2021-11-16 Fangke Ye , Jisheng Zhao , Vivek Sarkar

Formal deductive systems are very common in computer science. They are used to represent logics, programming languages, and security systems. Moreover, writing programs that manipulate them and that reason about them is important and…

Programming Languages · Computer Science 2018-05-21 Francisco Ferreira Ruiz

Verification problems of programs written in various paradigms (such as imperative, logic, concurrent, functional, and object-oriented ones) can be reduced to problems of solving Horn clause constraints on predicate variables that represent…

Programming Languages · Computer Science 2016-10-24 Hiroshi Unno , Sho Torii

We consider type inference for guarded recursive data types (GRDTs) -- a recent generalization of algebraic data types. We reduce type inference for GRDTs to unification under a mixed prefix. Thus, we obtain efficient type inference.…

Programming Languages · Computer Science 2007-05-23 Peter J. Stuckey , Martin Sulzmann

We present a type inference algorithm for lambda-terms in Elementary Affine Logic using linear constraints. We prove that the algorithm is correct and complete.

Logic in Computer Science · Computer Science 2007-05-23 Paolo Coppola , Simone Martini

Reasoning is a fundamental substrate for solving novel and complex problems. Deliberate efforts in learning and developing frameworks around System 2 reasoning have made great strides, yet problems of sufficient complexity remain largely…

Computation and Language · Computer Science 2024-10-18 Matthew Ho , Vincent Zhu , Xiaoyin Chen , Moksh Jain , Nikolay Malkin , Edwin Zhang

Statically analyzing dynamically-typed code is a challenging endeavor, as even seemingly trivial tasks such as determining the targets of procedure calls are non-trivial without knowing the types of objects at compile time. Addressing this…

Machine Learning · Computer Science 2023-10-05 Lukas Seidel , Sedick David Baker Effendi , Xavier Pinho , Konrad Rieck , Brink van der Merwe , Fabian Yamaguchi

Explorative flow visualization allows domain experts to analyze complex flow structures by interactively investigating flow patterns. However, traditional visual interfaces often rely on specialized graphical representations and…

Human-Computer Interaction · Computer Science 2025-08-11 Weihan Zhang , Jun Tao

We propose a method for automatically generating abstract transformers for static analysis by abstract interpretation. The method focuses on linear constraints on programs operating on rational, real or floating-point variables and…

Logic in Computer Science · Computer Science 2019-03-14 David Monniaux

We propose a new technique based on program synthesis for automatically generating visualizations from natural language queries. Our method parses the natural language query into a refinement type specification using the intents-and-slots…

Programming Languages · Computer Science 2022-09-05 Qiaochu Chen , Shankara Pailoor , Celeste Barnaby , Abby Criswell , Chenglong Wang , Greg Durrett , Isil Dillig

A linear parameter must be consumed exactly once in the body of its function. When declaring resources such as file handles and manually managed memory as linear arguments, a linear type system can verify that these resources are used…

Programming Languages · Computer Science 2022-07-25 Arnaud Spiwack , Csongor Kiss , Jean-Philippe Bernardy , Nicolas Wu , Richard Eisenberg

Infinite-state systems such as distributed protocols are challenging to verify using interactive theorem provers or automatic verification tools. Of these techniques, deductive verification is highly expressive but requires the user to…

Programming Languages · Computer Science 2019-05-21 Yotam M. Y. Feldman , James R. Wilcox , Sharon Shoham , Mooly Sagiv

SAFE is a clean-slate design for a highly secure computer system, with pervasive mechanisms for tracking and limiting information flows. At the lowest level, the SAFE hardware supports fine-grained programmable tags, with efficient and…

Concurrent separation logics have helped to significantly simplify correctness proofs for concurrent data structures. However, a recurring problem in such proofs is that data structure abstractions that work well in the sequential setting…

Logic in Computer Science · Computer Science 2017-11-10 Siddharth Krishna , Dennis Shasha , Thomas Wies

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

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

It was previously shown that control-flow refinement can be achieved by a program specializer incorporating property-based abstraction, to improve termination and complexity analysis tools. We now show that this purpose-built specializer…

Programming Languages · Computer Science 2020-08-10 John P. Gallagher , Robert Glück

This article presents a type-based analysis for deriving upper bounds on the expected execution cost of probabilistic programs. The analysis is naturally compositional, parametric in the cost model, and supports higher order functions and…

Programming Languages · Computer Science 2020-09-23 Di Wang , David M Kahn , Jan Hoffmann
‹ Prev 1 4 5 6 7 8 10 Next ›