English
Related papers

Related papers: Liquid Resource Types

200 papers

As smart contracts gain adoption in financial transactions, it becomes increasingly important to ensure that they are free of bugs and security vulnerabilities. Of particular relevance in this context are arithmetic overflow bugs, as…

Programming Languages · Computer Science 2021-12-22 Bryan Tan , Benjamin Mariano , Shuvendu K. Lahiri , Isil Dillig , Yu Feng

Numerous computer systems use dynamic control and data structures of unbounded size. These data structures have often the character of trees or they can be encoded as trees with some additional pointers. This is exploited by some currently…

Formal Languages and Automata Theory · Computer Science 2012-04-17 Ondřej Lengál

Large language models possess impressive capabilities in generating programs (e.g., Python) from natural language descriptions to execute robotic tasks. However, these generated programs often contain errors that violate externally given…

Artificial Intelligence · Computer Science 2025-11-10 Yunhao Yang , Neel P. Bhatt , William Ward , Zichao Hu , Joydeep Biswas , Ufuk Topcu

In this paper we leverage an existing general framework for resource usage verification and specialize it for verifying energy consumption specifications of embedded programs. Such specifications can include both lower and upper bounds on…

Programming Languages · Computer Science 2016-01-01 Pedro Lopez-Garcia , Remy Haemmerle , Maximiliano Klemen , Umer Liqat , Manuel V. Hermenegildo

We show how program transformation techniques can be used for the verification of both safety and liveness properties of reactive systems. In particular, we show how the program transformation technique distillation can be used to transform…

Logic in Computer Science · Computer Science 2015-12-15 Geoff Hamilton

We present Alias Refinement Types (ART), a new approach to the verification of correctness properties of linked data structures. While there are many techniques for checking that a heap-manipulating program adheres to its specification,…

Programming Languages · Computer Science 2015-11-03 Alexander Bakst , Ranjit Jhala

Managing resources---file handles, database connections, etc.---is a hard problem. Debugging resource leaks and runtime errors due to resource mismanagement are difficult in evolving production code. Programming languages with static type…

Programming Languages · Computer Science 2019-12-24 Apoorv Ingle

The Rust programming language provides a powerful type system that checks linearity and borrowing, allowing code to safely manipulate memory without garbage collection and making Rust ideal for developing low-level, high-assurance systems.…

Logic in Computer Science · Computer Science 2023-03-14 Andrea Lattuada , Travis Hance , Chanhee Cho , Matthias Brun , Isitha Subasinghe , Yi Zhou , Jon Howell , Bryan Parno , Chris Hawblitzel

Type systems certify program properties in a compositional way. From a bigger program one can abstract out a part and certify the properties of the resulting abstract program by just using the type of the part that was abstracted away.…

Logic in Computer Science · Computer Science 2012-02-17 Andreas Abel

This paper aims to develop a verification method for procedural programs via a transformation into Logically Constrained Term Rewriting Systems (LCTRSs). To this end, we extend transformation methods based on integer TRSs to handle…

Logic in Computer Science · Computer Science 2025-09-01 Carsten Fuhs , Cynthia Kop , Naoki Nishida

We present a novel dependent linear type theory in which the multiplicity of some variable-i.e., the number of times the variable can be used in a program-can depend on other variables. This allows us to give precise resource annotations to…

Programming Languages · Computer Science 2026-05-20 Maximilian Doré

We delineate a methodology for the specification and verification of flow security properties expressible in the opacity framework. We propose a logic, OpacTL , for straightforwardly expressing such properties in systems that can be…

Cryptography and Security · Computer Science 2022-06-30 Chunyan Mu , David Clark

Type-preserving translations are effective rigorous tools in the study of core programming calculi. In this paper, we develop a new typed translation that connects sequential and concurrent calculi; it is governed by type systems that…

Programming Languages · Computer Science 2022-06-01 Joseph W. N. Paulus , Daniele Nantes-Sobrinho , Jorge A. Pérez

We present a new type system combining occurrence typing, previously used to type check programs in dynamically-typed languages such as Racket, JavaScript, and Ruby, with dependent refinement types. We demonstrate that the addition of…

Programming Languages · Computer Science 2016-10-05 Andrew M. Kent , David Kempe , Sam Tobin-Hochstadt

Logical relations are one of the most powerful techniques in the theory of programming languages, and have been used extensively for proving properties of a variety of higher-order calculi. However, there are properties that cannot be…

Programming Languages · Computer Science 2020-02-21 Gilles Barthe , Raphaëlle Crubillé , Ugo Dal Lago , Francesco Gavazzo

Relational program verification is a variant of program verification where one can reason about two programs and as a special case about two executions of a single program on different inputs. Relational program verification can be used for…

Programming Languages · Computer Science 2019-10-23 Alejandro Aguirre , Gilles Barthe , Marco Gaboardi , Deepak Garg , Pierre-Yves Strub

We introduce a novel amortised resource analysis couched in a type-and-effect system. Our analysis is formulated in terms of the physicist's method of amortised analysis, and is potential-based. The type system makes use of logarithmic…

Logic in Computer Science · Computer Science 2023-03-06 Martin Hofmann , Lorenz Leutgeb , Georg Moser , David Obwaller , Florian Zuleger

In type theory, we can express many practical ideas by attributing some additional data to expressions we operate on during compilation. For instance, some substructural type theories augment variables' typing judgments with the information…

Programming Languages · Computer Science 2021-06-17 Aziz Akhmedkhodjaev

Automated testing plays a crucial role in ensuring software security. It heavily relies on formal specifications to validate the correctness of the system behavior. However, the main approach to defining these formal specifications is…

Software Engineering · Computer Science 2025-04-03 Hui Li , Zhen Dong , Siao Wang , Hui Zhang , Liwei Shen , Xin Peng , Dongdong She

In this tutorial I will present how a combination of linear and dependent type can be useful to describe different properties about higher order programs. Linear types have been proved particularly useful to express properties of functions;…

Programming Languages · Computer Science 2013-07-01 Marco Gaboardi